В начало

ПФ документа «Расходная»

 

            Имеется документ «Расходная», необходимо создать печатную форму (ПФ) этого документа.

Рис. 1. Документ «Расходная»

Рис. 1. Документ «Расходная»

 

            Для начала находим документ «Расходная» в дереве объектов конфигурации, раскрываем ветку и переходим в подраздел «Расходная – Команды», создаем команду «ПечатьРасходной». Указываем размещение команды, например в группе «Печать» на командной панели формы.

Рис. 2. Свойства команды «ПечатьРасходной»

Рис. 2. Свойства команды «ПечатьРасходной», закладка «Основные»

 

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

            На закладке «Обработка результата» КЗОР выбираем тип обработки  – вывод в табличный документ. Переходим на закладку «Таблицы и поля».

Рис. 2. Закладка «Обработка результата» КЗОР

Рис. 2. Закладка «Обработка результата» КЗОР

 

            На закладке «Таблицы и поля» выбираем табличную часть документа «Расходная», а из нее поля: Номенклатура, Цена, Количество, Сумма.

Рис. 3. Закладка «Таблицы и поля» в КЗОР

Рис. 3. Закладка «Таблицы и поля» в КЗОР

 

            На закладке «Условия» делаем отбор по документу.

Рис. 4. Закладка «Условия»

Рис. 4. Закладка «Условия»

 

            После этого можно закрыть КЗОР. При этом будет создан макет и заполнен код в процедуре «ПечатьРасходной».

Рис. 5. Простецкий макет документа «Расходная»

Рис. 5. Простецкий макет документа «Расходная»

 

            Код процедур, расположенный в модуле команды показан ниже.

 

Листинг 1. Процедуры в модуле команды печати

&НаКлиенте

Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)

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

      ПечатьРасходной(ПараметрКоманды, ТабДок);

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

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

 

&НаСервере

Процедура ПечатьРасходной(Параметры, ТабДок)

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

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

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

     

      Макет = Документы.Расходная.ПолучитьМакет("Макет");

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

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

            "ВЫБРАТЬ

            |     РасходнаяТовары.Номенклатура,

            |     ПРЕДСТАВЛЕНИЕ(РасходнаяТовары.Номенклатура),

            |     РасходнаяТовары.Цена,

            |     РасходнаяТовары.Количество,

            |     РасходнаяТовары.Сумма

            |ИЗ

            |     Документ.Расходная.Товары КАК РасходнаяТовары

            |ГДЕ

            |     РасходнаяТовары.Ссылка = &Ссылка";

           

      //Запрос.УстановитьПараметр("Ссылка", Ссылка);//было

      Запрос.УстановитьПараметр("Ссылка", Параметры);//Здесь подправил немного

     

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

     

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

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

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

      ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");

      ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

     

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

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

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

      ТабДок.НачатьАвтогруппировкуСтрок();

     

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

     

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

            ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);

            ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());

      КонецЦикла;

     

      ТабДок.ЗакончитьАвтогруппировкуСтрок();

      ТабДок.Вывести(ОбластьПодвалТаблицы);

      ТабДок.Вывести(ОбластьПодвал);

     

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

     

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

 

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

Рис. 7. Результат вывода печатной формы документа

Рис. 7. Результат вывода печатной формы документа

 

            ПРИМЕЧАНИЕ: печатная форма документа «Расходная» создана в версии 8.3, интерфейс «Такси».