Печать
Родительская категория: Статьи
Категория: 1C

Рассмотрим одну из самых распространенных задач - формирование макета печатной формы и вывод на печать результата запроса в табличный документ. Управляемое приложение.

Например, выведем список контрагентов и тип (юр./физ. лицо).

1. Создадим обработку и Макет.

В макете создадим 2 области: ШапкаТаблицы:

Контрагент Тип контрагента

и СтрокаТаблицы с двумя параметрами:

<Контрагент> <ТипКонтрагента>

Создадим простую форму обработки, расположим кнопку "ВывестиКонтрагентов"и пропишем следующую процедуру:


&НаКлиенте
Процедура ВывестиКонтрагентов(Команда)
    ТабДок = ПолучитьМакетНаСервере();
    ТабДок.Показать("Список контрагентов")
КонецПроцедуры
&НаСервере
Функция ПолучитьМакетНаСервере()
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.ТолькоПросмотр = Истина;
    ТабДок.АвтоМасштаб = Истина;
    ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
   
    Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
       
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
   
    ОбластьСтрокаТаблицы = Макет.ПолучитьОбласть("СтрокаТаблицы");
   
    Табдок.Вывести(ОбластьШапкаТаблицы);
   
    // Заполнение таблицы
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        | Контрагенты.Наименование,
        | Контрагенты.ЮрФизЛицо КАК ТипКонтрагента
        |ИЗ
        | Справочник.Контрагенты КАК Контрагенты";
       
    РезультатЗапроса = Запрос.Выполнить();   
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
   
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ОбластьСтрокаТаблицы.Параметры.Контрагент = ВыборкаДетальныеЗаписи.Наименование;
        ОбластьСтрокаТаблицы.Параметры.ТипКонтрагента = ВыборкаДетальныеЗаписи.ТипКонтрагента;
        Табдок.Вывести(ОбластьСтрокаТаблицы);
    КонецЦикла;   
               
    Возврат ТабДок;
КонецФункции

 

В результате получим:

Контрагент Тип контрагента
ООО "Ромашка" Юр. лицо
ООО Торговая организация Юр. лицо
ИП Баранов Ю.В. Физ. лицо