В начало

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

 

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

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

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

 

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

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

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

 

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

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

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

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

 

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

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

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

 

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

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

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

 

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

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

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

 

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

 

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

&НаКлиенте

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

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

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

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

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

 

&НаСервере

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

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

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

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

     

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

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

      Запросекст =

            "ВЫБРАТЬ

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

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

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

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

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

            |ИЗ

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

            |ГДЕ

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

           

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

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

     

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

     

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

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

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

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

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

     

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

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

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

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

     

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

     

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

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

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

      КонецЦикла;

     

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

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

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

     

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

     

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

 

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

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

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

 

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