В начало

Печать расходной накладной

           

Есть документ «РасходнаяНакладная».

            Необходимо организовать печать данного документа путем нажатия на кнопку.

            Открываем документ в дереве объектов, находим закладку «Команды» в свойствах объекта и добавляем новую команду, называем ее «ПечатьРасходной». В свойствах команды указываем группу, в которой она будет отображаться и тип параметра команды.

            В модуле команды записываем содержимое процедур. Процедуру «ПечатьРасходнойНакладной» легко составить с помощью конструктора запроса с обработкой проведения.

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

&НаКлиенте

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

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

      ПечатьРасходнойНакладной(ПараметрыВыполнения, ТабДок);

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

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

 

 

&НаСервере

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

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

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

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

            "ВЫБРАТЬ

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

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

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

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

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

            |ИЗ

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

            |ГДЕ

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

 

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

 

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

 

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

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

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

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

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

 

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

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

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

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

 

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

 

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

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

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

      КонецЦикла;

 

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

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

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

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

           

Кнопку «ПечатьРасходной» можно расположить на виду, например, на командной панели.

Рис. 1. Расположение кнопки «ПечатьРасходной»

 

            И теперь при нажатии на кнопку «ПечатьРасходной» будет выводиться печатная форма документа как на рис. 2.

Рис. 2. Сама печатная форма