В начало

Карточки контрагентов

           

Создание отчета «Карточки контрагентов» с использование КЗОР и макета. Данные для отчета берем из регистра сведений «Контакты».

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

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

 

Листинг 1. Процедуры в модуле формы регистра сведений «Контакты»

&НаСервере

Функция ПечатьКарточекНаСервере()

                ТД = Новый ТабличныйДокумент;

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

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

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

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

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

               

                //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

                // Данный фрагмент построен конструктором.

                // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

               

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

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

                               "ВЫБРАТЬ

                               |               Контакты.Контрагент КАК Контрагент,

                               |               Контакты.ВидКонтактнойИнформации,

                               |               Контакты.ЗначениеКонтактнойИнформации

                               |ИЗ

                               |               РегистрСведений.Контакты КАК Контакты

                               |ИТОГИ ПО

                               |               Контрагент";

               

                РезультатЗапроса = Запрос.Выполнить();

               

                ВыборкаКонтрагент = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

               

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

                               // Вставить обработку выборки ВыборкаКонтрагент

                    ОблШапка.Параметры.Контрагент=ВыборкаКонтрагент.Контрагент;

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

                              

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

               

                               Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

                               // Вставить обработку выборки ВыборкаДетальныеЗаписи

        ОблСтрока.Параметры.ВидКонтактнойИнформации = ВыборкаДетальныеЗаписи.ВидКонтактнойИнформации;

                               ОблСтрока.Параметры.ЗначениеКонтактнойИнформации = ВыборкаДетальныеЗаписи.ЗначениеКонтактнойИнформации;

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

                               КонецЦикла;

                КонецЦикла;

                //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

               

Возврат ТД;

КонецФункции

 

&НаКлиенте

Процедура ПечатьКарточек(Команда)

                //Вывод табличного документа на экран

                Таб = ПечатьКарточекНаСервере();

                Таб.Показать();

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

 

Рис. 2. Отчет «КарточкиКонтрагентов»

Рис. 2. Отчет «Карточки контрагентов»