В начало

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

           

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

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

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

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

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

&НаКлиенте

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

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

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

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

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

 

 

&НаСервере

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

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

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

      Запросекст =

            "ВЫБРАТЬ

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

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

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

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

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

            |ИЗ

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

            |ГДЕ

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

 

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

 

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

 

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

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

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

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

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

 

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

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

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

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

 

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

 

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

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

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

      КонецЦикла;

 

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

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

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

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

           

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

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

 

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

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