В начало

Макет документа «Накладная»

           

Имеется документ «Накладная», для него нужно создать печатную форму.

            Для этого, выделяем документ в дереве объектов, переходим в раздел «Макеты» свойств объекта и запускаем конструктор печати.

            Сначала конструктор печати предложит выбрать реквизиты для шапки макета. Затем также нужно выбрать реквизиты для табличной части, и наконец подвал.

Рис. 1. Печатная форма документа «Накладная»

 

            При этом, при обновлении и запуске конфигурации станет доступной кнопка «Печать» в разделе «Накладная» и если нажать ее, то произойдет вывод печатной формы на предпросмотр.

Рис. 2. Макет документа «Накладная» в режиме «1С: Предприятие»

 

            Как видим, в нашем макете не хватает итоговой суммы, чтобы ее добавить необходимо слегка подправить макет. Для этого на макете нужно создать область «Подвал» и разместить на ней поле для вывода итоговой суммы. Чтобы создать новую область необходимо выделить ячейки под нее, перейти в раздел главного меню «Таблица –> Имена –> Назначить имя…» и присвоить новой области имя «Подвал». Затем создать в этой области текстовую надпись «Итоговая сумма:» и параметр для вывода итоговой суммы «ИтоговаяСумма».

Рис. 3. Добавление подвала и итоговой суммы

 

            После этого требуется слегка подправить процедуру «Печать», которая располагается в модуле менеджера, который расположен в разделе «Прочее» свойств объекта «Накладная».

 

Листинг 1. Процедура «Печать» модуля менеджера

Процедура Печать(ТабДок, Ссылка) Экспорт

                //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)

                Макет = Документы.Накладная.ПолучитьМакет("Печать");

                Запрос = Новый Запрос;

                Запрос.Текст =

                "ВЫБРАТЬ

                |               Накладная.Дата,

                |               Накладная.Номер,

                |               Накладная.Склад,

                |               Накладная.Материалы.(

                |                               НомерСтроки,

                |                               Материал,

                |                               Количество,

                |                               Цена,

                |                               Сумма

                |               )

                |ИЗ

                |               Документ.Накладная КАК Накладная

                |ГДЕ

                |               Накладная.Ссылка В (&Ссылка)";

                Запрос.Параметры.Вставить("Ссылка", Ссылка);

                Выборка = Запрос.Выполнить().Выбрать();

 

                ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

                Шапка = Макет.ПолучитьОбласть("Шапка");

                ОбластьМатериалыШапка = Макет.ПолучитьОбласть("МатериалыШапка");

                ОбластьМатериалы = Макет.ПолучитьОбласть("Материалы");

                ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); //1-е добавление

                ТабДок.Очистить();

 

                ВставлятьРазделительСтраниц = Ложь;

                Пока Выборка.Следующий() Цикл

                               Если ВставлятьРазделительСтраниц Тогда

                                               ТабДок.ВывестиГоризонтальныйРазделительСтраниц();

                               КонецЕсли;

 

                               ТабДок.Вывести(ОбластьЗаголовок);

 

                               Шапка.Параметры.Заполнить(Выборка);

                               ТабДок.Вывести(Шапка, Выборка.Уровень());

 

                                ТабДок.Вывести(ОбластьМатериалыШапка);

                               ВыборкаМатериалы = Выборка.Материалы.Выбрать();

                              

                               ИтоговаяСумма=0; //2-е добавление

                               Пока ВыборкаМатериалы.Следующий() Цикл

                                               ОбластьМатериалы.Параметры.Заполнить(ВыборкаМатериалы);

                                               ТабДок.Вывести(ОбластьМатериалы, ВыборкаМатериалы.Уровень());

                               ИтоговаяСумма=ИтоговаяСумма + ВыборкаМатериалы.Сумма; //3-е добавление

                               КонецЦикла;

 

                               ОбластьПодвал.Параметры.ИтоговаяСумма = ИтоговаяСумма; //4-е добавление

                               ТабДок.Вывести(ОбластьПодвал); //5-е добавление

                              

                               ВставлятьРазделительСтраниц = Истина;

                КонецЦикла;

                //}}

КонецПроцедуры

            Результат работы процедуры «Печать» с внеченными в нее изменениями показан на рис. 4 ниже.

Рис. 4. Макет документа «Накладная» с итоговой суммой

 

ПРИМЕЧАНИЕ: макет документа создан в «1С: Предприятие 8.2»