В начало

Прайс с жирными группами

Имеется справочник «Номенклатура», в котором записаны товары и услуги с реквизитами: «Услуга», «ЕдиницаИзмерения» и «ЦенаПродажи».

Рис. 1. Содержимое справочника «Номенклатура»

 

            Необходимо создать отчет в виде прайс-листа, в котором будет производиться вывод товаров и услуг по столбцам: Код, Наименование, Цена. При этом группы выделять жирным шрифтом.

            Для начала создаем новый отчет, в нем создаем форму элемента и макет. На макете располагаем три области: Шапка, Группа, Элемент. У группы выделяем жирным шрифтом элемент «Наименование».

Рис. 2. Макет отчета «Прайс лист»

 

            Далее переходим в модуль отчета и записываем следующие процедуры.

Листинг 1

&НаКлиенте

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

      ЗаполнитьТаблДок (ТаблДок, ПечататьТолькоТовары);

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

 

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

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

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

     

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

      //Получаем ОБЪЕКТЫ

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

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

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

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

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

           

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

      //Заполняем и выводим ШАПКУ таблицы

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

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

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

     

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

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

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

            Если Выборкаслуга И ПечататьТолькоТовары Тогда

                  Продолжить;

            КонецЕсли; 

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

            //ЗАПОЛНЯЕМ области

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

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

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

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

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

           

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

            //ВЫВОДИМ области

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

            Если ВыборкатоГруппа

                  Тогда ТаблДокывести (Область_Г)

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

            КонецЕсли  

           

      КонецЦикла;

     

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

            Полученный результат формирования прайс листа показан ниже.

Рис. 3. Свежесформированный отчет

 

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