В начало

«Список контрагентов» с макетом

 

            Имеется справочник «Контрагенты», необходимо для него создать отчет «Список контрагентов» на платформе «1С:Предприятие 8.3».

Рис. 1. Справочник «Контрагенты»

Рис. 1. Справочник «Контрагенты»

 

            Запускаем конфигуратор, переходим в дереве объектов в раздел «Отчеты» и создаем новый отчет с именем «Список контрагентов».

            Далее переходим в раздел свойств «Макеты», в котором создаем новый макет для заполнения отчета. Создаем шапку отчета, помечаем всю область с ней и задаем имя «Шапка». Также создаем область «Строка», в которой располагаем 2 параметра (Наименование, ОсновнойМенеджер). Чтобы сделать текст параметром, нужно в свойствах ячейки макета на закладке «Макет» выбрать «Заполнение –> Параметр», после чего параметры отобразятся как теги на текстовом поле макета.

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

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

 

            После манипуляций с макетом переходим в раздел «Формы» свойств отчета, в котором создаем новую форму. На форме создаем реквизит с типом «Табличный документ» и перетаскиваем его мышкой в левую область. Затем на закладке «Команды – Команды формы» создаем кнопку и даем ей имя «СформироватьОтчет», после чего описываем процедуры, которые будут выполнятся при ее нажатии.

 

Рис. 3. Добавление реквизита и кнопки на форму отчета

Рис. 3. Добавление реквизита и кнопки на форму отчета

 

            Собственно 2 процедуры нужно описать в модуле формы, при этом одна вызывает другую. Это делается потому, что форма хоть и существует на сервере и клиенте, но сам объект справочник «Контрагенты» доступен только на сервере.

 

Листинг 1. Процедуры в модуле формы

&НаКлиенте

Процедура СформироватьОтчет(Команда)

      СформироватьОтчетНаСервере(ТаблДок);

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

 

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

Процедура СформироватьОтчетНаСервере(ТД)

      ТД.Очистить();

     

      Макет = Отчеты.СписокКонтрагентов.ПолучитьМакет("Макет");

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

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

     

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

     

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

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

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

            Область_С.Параметры.ОсновнойМенеджер = Выборка.ОсновнойМенеджер;

            ТД.Вывести(Область_С);

      КонецЦикла;

     

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

 

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

Рис. 4. Готовый отчет «Список контрагентов»

Рис. 4. Готовый отчет «Список контрагентов»