Спільнота для обміну досвідом між користувачами програм УкрБланк, УкрСклад, УкрЗарплата

Наши программы => УкрБланк => Тема розпочата: roman787 від Грудень 16, 2008, 18:39:35

Назва: Использование скриптов С++
Відправлено: roman787 від Грудень 16, 2008, 18:39:35
Ответьте пожалуйста как можно присвоить значение получившееся в скрипте, переменной в списке пременных.

Вот скрипт :
float НДС ;
{
  if((<Докум.Сумма>*20/100-Trunc(<Докум.Сумма>*20/100)) > 0)
   {
   НДС = Trunc(<Докум.Сумма>*20/100)+(Round(((<Докум.Сумма>*20/100-Trunc(<Докум.Сумма>*20/100))*100))/100);
   }
  else
  НДС = <Докум.Сумма>*20/100 ;
}
В списке "Мои переменные" создал переменную НДС. Но значение не присваивается НДС=0

Заранее Спасибо :)
Назва: Re: Использование скриптов С++
Відправлено: admin від Грудень 17, 2008, 11:12:33
1. Не используйте общие названия для переменных, используйте например myNDS вместо НДС.
2. Не используйте русские буквы в переменных.
3. Для начала попробуйте простое вычисление, может по скрипту у Вас и получается 0, что-то вроде if (1==1) myNDS = 1; else myNDS = 0;
4. Какой переменной в отчете вы видите что НДС=0?
Назва: Re: Использование скриптов С++
Відправлено: roman787 від Грудень 17, 2008, 12:57:11
Спасибо за ответ.
Просто мне в договоре нужно указать не только сумму договора но и ПДВ и сумму без ПДВ.
Я делаю Акт выполненых работ а из него в договор. Переносится только Сумма с ПДВ.
Вот что у меня в договоре:

2.1. За роботи передбачені п.1.1 цього договору ЗАМОВНИК сплачує ВИКОНАВЦЮ [<Докум.Сумма>-<NDS>] грн. та [NDS] ПДВ грн., всього: [Докум.Сумма]грн. ([Докум.Сумма.Словами]) , відповідно до розцінок, затверджених наказом генерального директора.

В предыдущем сообщении скрипт которым я пытаюсь посчитать ПДВ и округлить до двух знаков после запятой если число имеет больше значений после запятой. Округление есть но если вставлять его в текст как функцию оно получается как картинка. Тоесть не отформатировано и перекрывается текстом. К сожалению я не знаю как увидеть значение полученное в результате выполнения скрипта. Чтобы увидеть его я в тексте договора пишу " та [NDS] ПДВ грн." Я записал переменную латинскими буквами но значение 0.
Назва: Re: Использование скриптов С++
Відправлено: admin від Грудень 17, 2008, 17:46:11
Если получается 0, значит не корректно прописан скрипт, тем более что НДС вы считаете не правильно, а вообще вы слишком усложняете?

НДС выводите с форматированием:
[FORMATFLOAT("0.00",(<Докум.Сумма>/6))]
А сумму без НДС с форматированием:
[FORMATFLOAT("0.00",(<Докум.Сумма>-<Докум.Сумма>/6))]
Назва: Re: Использование скриптов С++
Відправлено: roman787 від Грудень 17, 2008, 19:34:27
Спасибо за подсказку все проще чем я намудрил. Все заработало !!! Спасибо !!!
Назва: Re: Использование скриптов С++
Відправлено: mamon99 від Березень 15, 2009, 22:39:53
Я конечно не силён во всех  этих вопросах, но не могли бы вы более подробно описать где и куда вставить выражения "НДС выводите с форматированием:
[FORMATFLOAT("0.00",(<Докум.Сумма>/6))]
А сумму без НДС с форматированием:
[FORMATFLOAT("0.00",(<Докум.Сумма>-<Докум.Сумма>/6))]"
Что ни пробовал ничего не вышло - ошибка и всё. Бьюсь уже несколько дней. Заранее спасибо.
Назва: Re: Использование скриптов С++
Відправлено: admin від Березень 16, 2009, 12:21:21
Цитата: mamon99 від Березень 15, 2009, 22:39:53
Я конечно не силён во всех  этих вопросах, но не могли бы вы более подробно описать где и куда вставить выражения "НДС выводите с форматированием:
[FORMATFLOAT("0.00",(<Докум.Сумма>/6))]
А сумму без НДС с форматированием:
[FORMATFLOAT("0.00",(<Докум.Сумма>-<Докум.Сумма>/6))]"
Что ни пробовал ничего не вышло - ошибка и всё. Бьюсь уже несколько дней. Заранее спасибо.

Пару дней? Скажите что вы делаете и какая у Вас именно ошибка?
Назва: Re: Использование скриптов С++
Відправлено: mamon99 від Березень 17, 2009, 21:11:23
Создаю отчёт для договора с заказчиком. Нужны в договоре такие позиции как  "в том числе НДС" и "сумма без НДС". Понял что нужно создать новую переменную. Сделал. Но при повторном открытии отчёта договора новой переменной не увидел и при просмотре отчёта выдаёт ошибку. Куда ставится позиция [FORMATFLOAT("0.00",(<Докум.Сумма>/6))] и куда[FORMATFLOAT("0.00",(<Докум.Сумма>-<Докум.Сумма>/6))]. Очень большая просьба - опишите для тех кто в танке как сделать и использовать переменные для "в том числе НДС" и "сумма без НДС". Не все же програмисты как вы. Некоторые сами пытаются разобраться....
Назва: Re: Использование скриптов С++
Відправлено: admin від Березень 18, 2009, 10:47:52
Цитата: mamon99 від Березень 17, 2009, 21:11:23
Понял что нужно создать новую переменную. Сделал.

Тут не понятно, где вы сделали переменную? Также вы писали что у вас ошибка, а какая так и не написали.  Ее не надо делать просто вставить текст по аналогии с другими переменными. Зайдите в Справочник шаблонов договоров, выберите нужный шаблон, нажмите Редактировать шаблон, потом в дизайнере 2 раза кликните на текстовку вставьте в любое место например [FORMATFLOAT("0.00",(<Докум.Сумма>-<Докум.Сумма>/6))], зеленую галочку, потом сохранить. После создайте договор и увидите вашу переменную.
Назва: Re: Использование скриптов С++
Відправлено: mamon99 від Березень 20, 2009, 06:13:04
А не работает! Пробовал. Делаю вот так:
Назва: Re: Использование скриптов С++
Відправлено: admin від Березень 20, 2009, 09:02:36
1. Какая у вас версия программы?
2. В дизайнере переключитесь на вкладку Код и проверьте возможно у вас включен PascalScript, я формулу писал для C++ Script, поменяйте.
Назва: Re: Использование скриптов С++
Відправлено: mamon99 від Березень 20, 2009, 09:51:10
1) Версия программы 4.59.
2) Спасибо всё прекрасно работает.
А так как заработало,  сразу возник вопрос: возможно ли как то прописать эту сумму НДС словами?
Назва: Re: Использование скриптов С++
Відправлено: admin від Березень 20, 2009, 10:49:08
Цитата: mamon99 від Березень 20, 2009, 09:51:10
А так как заработало,  сразу возник вопрос: возможно ли как то прописать эту сумму НДС словами?

[Suma2String(FORMATFLOAT("0.00",(<Докум.Сумма>-<Докум.Сумма>/6)),0)]
или
[Suma2String(FORMATFLOAT("0.00",(<Докум.Сумма>-<Докум.Сумма>/6)),1)]
Назва: Re: Использование скриптов С++
Відправлено: mamon99 від Березень 23, 2009, 12:28:25
Не работает. :'(
Назва: Re: Использование скриптов С++
Відправлено: admin від Березень 23, 2009, 15:05:23
Такой код:
[Suma2String((<Докум.Сумма>-<Докум.Сумма>/6),true)]
будет работать но только из архива, в след. версии исправим чтобы работал и из редактирования документа.
Назва: Re: Использование скриптов С++
Відправлено: mamon99 від Березень 24, 2009, 10:15:11
Цитата: Дмитрий Котельников від Березень 23, 2009, 15:05:23
Такой код:
[Suma2String((<Докум.Сумма>-<Докум.Сумма>/6),true)]
будет работать но только из архива, в след. версии исправим чтобы работал и из редактирования документа.

А что значит из архива?
Назва: Re: Использование скриптов С++
Відправлено: admin від Березень 24, 2009, 10:29:32
Цитата: mamon99 від Березень 24, 2009, 10:15:11
А что значит из архива?

Сохраненный документ из архива документов.
Назва: Re: Использование скриптов С++
Відправлено: Вовка від Червень 19, 2009, 19:34:00
Як мені прописати скріт, щоб на бланках вписувалась прізвище директора обох сторін, як замовника так і виконавця.  Дякую, за допомогу.