Акт

Новая тема
Показывать по 10 20 40 сообщений
"Делаю внешний отчет акт оказания услуг. В отчете передаю в докум через параметр контекст при открытии:
Процедура ПриОткрытии()
Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
Докум      = Форма.Параметр.Получить("Контекст");
Устройство = Форма.Параметр.Получить("Устройство");
КолвоКопий = Форма.Параметр.Получить("КоличествоКопий");
Печать(Докум, Устройство, КолвоКопий);
Статусвозврата(0);
Возврат;
КонецЕсли;
КонецПроцедуры // ПриОткрытии()

При открытии пишет мне: СуммаПрописью(Докум.Итог("Всего")<>) + ", в т.ч.: НДС - "+ СуммаПрописью(Докум.Итог("НДС")) + ?(глПризнакУчетаНалога(Контекст, "НП")=1,", налог с продаж - "+СуммаПрописью(Докум.Итог("НП")), """") + "."
Недостаточно фактических параметров

Какой параметр я что-то не пойму нужен.

Проблема в том, что при открытии отчета внешнего, он мне не хочет писать сумму прописью. Сравнивал со стандартным актом(mxl) в документе Оказание услуг, там разница только в том, что там не надо добавлять переменную Докум, которой я в отчете передавал контекст.

Вот в стандартном акте: "Всего оказано услуг на сумму: " +
СуммаПрописью(Итог("Всего")) + ", в т.ч.: НДС - "+ СуммаПрописью(Итог("НДС")) + ?(глПризнакУчетаНалога(Контекст, "НП")=1,", налог с продаж - "+СуммаПрописью(Итог("НП")), """") + "."

А вот в моем отчете: "Всего оказано услуг на сумму: " +
СуммаПрописью(Докум.Итог("Всего")) + ", в т.ч.: НДС - "+ СуммаПрописью(Докум.Итог("НДС")) + ?(глПризнакУчетаНалога(Контекст, "НП")=1,", налог с продаж - "+СуммаПрописью(Докум.Итог("НП")), """") + "."

Зотя все остальное, и цена, ед. изм и т.д. через Докум все выводит.



"
1)Ну дык посмотреть как объявлена эта функция СуммаПрописью
2) По грамотнее выражать мысли стоит, а то не очень всё понятно - по
несколько раз сообщение приходится перечитывать - не хорошо
"Вот эта функция:

Функция СуммаПрописью(Сумма, Валюта)

Если ПустоеЗначение(Валюта) = 0 Тогда

Если ПустоеЗначение(Валюта.ИмяФайлаПрописи) = 1 Тогда
       Предупреждение("Для выбранной валюты не указан файл прописи.");
ИначеЕсли ФС.СуществуетФайл(КаталогИБ()+Валюта.ИмяФайлаПрописи) = 0 Тогда
       Предупреждение("Для выбранной валюты неверно указан файл прописи.");
Иначе
Пропись(КаталогИБ()+Валюта.ИмяФайлаПрописи);
   КонецЕсли;

КонецЕсли;

СтрокаСуммы = Формат(Сумма, "ЧПДС");

// установим пропись по умолчанию
Пропись("""");
Возврат СтрокаСуммы;

КонецФункции // СуммаПрописью()"
> Вот эта функция:
>
> Функция СуммаПрописью(Сумма, Валюта)
>
Ну и что видно? Функция принимает два параметра и второй не указан как
допускающий пропуск при вызове.
Проблема в самом табличном документе, он ругается на то, как там прописано. По идее все правильно, делаю через Докум, а он все равно ругается.

Вот пример в таб. документе:

"Всего оказано услуг на сумму: " +
СуммаПрописью(Докум.Итог("Всего")) + ", в т.ч.: НДС - "+ СуммаПрописью(Докум.Итог("НДС")) + ?(глПризнакУчетаНалога(Контекст, "НП")=1,", налог с продаж - "+СуммаПрописью(Докум.Итог("НП")), ") + "."

Пишет после открытия вот такую ошибку: СуммаПрописью(Докум.Итог("Всего")<>) + ", в т.ч.: НДС - "+ СуммаПрописью(Докум.Итог("НДС")) + ?(глПризнакУчетаНалога(Контекст, "НП")=1,", налог с продаж - "+СуммаПрописью(Докум.Итог("НП")), ") + "."
Недостаточно фактических параметров

А что вообще вы пытаетесь сделать
1. Обработка по пакетной печати актов.
2. Печать акта через внешнию печатную форму.
или еще то-то?
"Во-первых, что такое табличный документ?
Во-вторых, выдаёт же, что за ошибка! Не достаточное количество параметров.

Что бы дошло пример:

Функция суммирование(первый, второй)
   результат = первый + второй;
   возврат результат;
КонецФункции;

А теперь вызываем её:

результат_сложения = суммирование(10);

Какой результат сложения возвратиться из функции?"
Опишите функцию как :
Функция СуммаПрописью(Сумма, Валюта=")

Исходя из текста данной функции, который приведён выше параметр "Валюта" не должен быть пустой.
Иначе ничего не будет выводиться. Нужно указатель на элемент справочника.
Поэтому, естественный выход - это при вызове написать нечто типа:
СуммаПрописью(Докум.Итог("Всего"), Докум.Договор.ВалютаДоговора)
"А хотя можно и так. Тогда просто дописать
Если ПустоеЗначение(Валюта) = 1 Тогда
    Валюта = Константа.ОсновнаяВалюта;
КонецЕсли;
"
Читают тему
(гостей: 1)

Быстрый переход