В начало

«Прайс лист» с макетом

            Есть справочник «Номенклатура».

            Нужно сформировать Прайс лист на основании данных этого справочника.

            Записываем следующие процедуры в модуле формы отчета.

            Создаем новый объект в дереве объектов – «Отчеты –> ПрайсЛист».

            На закладке «Формы» объекта «ПрайсЛист» создаем новую форму «ФормаОтчета», а на закладке «Макеты» – печатную форму документа «Макет».

Рис. 1. Макет отчета

Листинг 1

&НаКлиенте

Процедура СоздатьПрайсЛист(Команда)

            ЗаполнитьТаблДок(ТаблДок);

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

 

&НаСервереБезКонтекста

Процедура ЗаполнитьТаблДок (ТаблДок)

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

           

            //=================

            //Получаем объекты

            //=================

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

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

            Область_Э = МакетолучитьОбласть("Элемент");

           

            //==================================

            //Заполняем и выводим шапку таблицы

            //==================================

            Область_Ш.ПараметрыатаОтчета = Формат(ТекущаяДата(), "ДЛФ=DD");

            ТаблДокывести(Область_Ш);

           

            //Выбираем по ГРУППАМ

            Выборка = Справочникиоменклатура.ВыбратьИерархически();

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

                        //================================================

                        //Заполняем и выводим табличную часть прайс листа

                        //================================================

                        Область_Э.Параметрыод = Выборка.Код;

                        Область_Э.Параметрыаименование = Выборка.Наименование;

                        Область_Э.ПараметрыенаПродажи = Выборка.ЦенаПродажи;

                        ТаблДокывести(Область_Э);

            КонецЦикла;

           

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

 

Рис. 2. Результат формирования отчета

 

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