При работе с конфигурацией Управление торговлей 10.3 часто возникает задача дополнения стандартных печатных форм специфической информацией. Одной из таких задач является вывод итогового количества всех позиций товаров под соответствующей колонкой в документе РеализацияТоваровУслуг. Давайте разберем этот процесс по шагам, чтобы понять, как устроена работа с макетами и модулями 1С.
Первым делом нам необходимо изменить визуальный шаблон документа. Макет в 1С представляет собой табличный документ, где мы можем располагать статические тексты и динамические параметры.
РеализацияТоваровУслуг.ИтогоКоличество.Важно понимать, что просто указать имя параметра недостаточно — система должна «узнать» о нем при формировании печатной формы из программного кода.
Теперь, когда макет готов, необходимо прописать логику заполнения параметра ИтогоКоличество в модуле объекта. Мы будем использовать цикл для перебора строк табличной части документа. Рассмотрим подробнее, как это реализовать:
Найдите в модуле документа процедуру, которая отвечает за формирование печати. Обычно она содержит обращение к макету и вывод областей. Нам необходимо добавить расчет до того, как область будет выведена на принтер или экран.
Разберем пример кода для расчета:
ИтогоКоличество = 0;
Для каждого ВыборкаСтрокТовары из ЗапросТовары Цикл
ИтогоКоличество = ИтогоКоличество + ВыборкаСтрокТовары.Количество;
КонецЦикла;
ОбластьДанных.Параметры.ИтогоКоличество = ИтогоКоличество;
Здесь ЗапросТовары — это выборка данных, полученная из табличной части документа. Мы последовательно проходим по каждой строке, прибавляем значение колонки Количество к переменной-накопителю, а затем передаем итоговое значение в Параметры области макета.
Чтобы решение работало корректно, обратите внимание на следующие моменты:
Вывести() или Присоединить(). Если вы присвоите значение после вывода, в печатной форме отобразится пустое поле.Строка() или использовать форматирование.F9) в месте, где вы добавили код, и пошагово (клавиша F11) проверьте, чему равна переменная ИтогоКоличество в процессе выполнения программы.Теперь вы знаете, как модифицировать печатные формы в 1С. Основная суть задачи сводится к двум действиям: созданию именованного параметра в макете и его заполнению из модуля объекта с помощью программного цикла. Этот подход универсален для многих конфигураций на базе 1С v8.3, работающих в режиме обычных форм, и позволяет гибко подстраивать печатные документы под нужды вашего бизнеса.