В начало

Макет документа «Оказание услуги»

            Для того чтобы создать печатную форму документа «ОказаниеУслуги», нужно выбрать его в дереве объектов, затем перейти в раздел «Макеты» и запустить конструктор печати документов, кнопка которого расположена в нижней правой части окна.

            Затем мастер конструктора печати документов предложит выбрать реквизиты шапки документа, после чего появится следующее окно, в котором нужно выбрать реквизиты табличной части документа. Потом конструктор плавно перейдет в следующее окно, где надо выбрать реквизиты подвала.

Рис. 1. Печатная форма документа «ОказаниеУслуги» в конфигураторе

 

            Таким образом, макет документа «ОказаниеУслуги» создан, он отображается в дереве объектов в разделе «ОказаниеУслуги –> Макеты –> Печать». Если запустить конфигурацию на выполнение, выбрать произвольно один из документов «ОказаниеУслуги» и нажать кнопку «Печать», то на экране появиться предпросмотр документа в том виде как он будет напечатан на бумажном носителе.

Рис. 2. Печатная форма документа в режиме «1С: Предприятие»

            Как правило, во многих финансово-хозяйственных документах присутстует такая строчка как «Итого». Чтобы ее добавить в нашу печатную форму, нужно выделить области на сетке макета, затем перейти в главное меню конфигуратора в раздел «Таблица –> Имена –> Назначить имя…» и в появившемся окне написать «Итого». Также, на самой форме еще 2 раза нужно написать слово «Итого»: один раз под колонкой «Цена», другой – под колонкой «Сумма». Потом, выделить ячейку под колонкой «Сумма» с надписью «Итого» и вызвав контекстным меню свойства ячейки, прописать что в этой ячеке будет находиться не текст ,а параметр.

Рис. 3. Макет документа «ОказаниеУслуги» с областью и полем «Итого»

 

            На макете, кстати, видно что имена и параметры записываются по разному, имена пишутся как есть текстом и выглядят как обычный текст, параметры же заключены в треугольные скобки как теги.

            Чтобы добавленное поле «Итого» начало заполняться нужными данными, а именно итоговой суммой по столбцу, нужно отредактировать модуль макета, который располагается в разделе «Прочее –> Модуль менеджера» свойств документа «ОказаниеУслуги».

Листинг 1

Процедура Печать (ТабДок, Ссылка) Экспорт

                //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)

                Макет = ДокументыказаниеУслуги.ПолучитьМакет("Печать");

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

                Запросекст =

                "ВЫБРАТЬ

                |               ОказаниеУслугиата,

                |               ОказаниеУслугилиент,

                |               ОказаниеУслугиастер,

                |               ОказаниеУслугиомер,

                |               ОказаниеУслугиклад,

                |               ОказаниеУслугиереченьНоменклатуры.(

                |                               НомерСтроки,

                |                               Номенклатура,

                |                               Количество,

                |                               Цена,

                |                               Сумма

                |               )

                |ИЗ

                |               ДокументказаниеУслуги КАК ОказаниеУслуги

                |ГДЕ

                |               ОказаниеУслугисылка В (&Ссылка)";

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

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

 

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

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

                ОбластьПереченьНоменклатурыШапка = МакетолучитьОбласть("ПереченьНоменклатурыШапка");

                ОбластьПереченьНоменклатуры = МакетолучитьОбласть("ПереченьНоменклатуры");

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

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

                ВставлятьРазделительСтраниц = Ложь;

 

                               Пока Выборкаледующий() Цикл

                               Если ВставлятьРазделительСтраниц Тогда

                                               ТабДокывестиГоризонтальныйРазделительСтраниц();

                               КонецЕсли;

 

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

 

                               Шапкаараметры.Заполнить(Выборка);

                               ТабДокывести(Шапка, Выборка.Уровень());

 

                               ТабДокывести(ОбластьПереченьНоменклатурыШапка);

                               ВыборкаПереченьНоменклатуры = ВыборкаереченьНоменклатуры.Выбрать();

                              

                               Сумма = 0; //2

                               Пока ВыборкаПереченьНоменклатурыледующий () Цикл

                                               ОбластьПереченьНоменклатурыараметры.Заполнить(ВыборкаПереченьНоменклатуры);

                                               ТабДокывести(ОбластьПереченьНоменклатуры, ВыборкаПереченьНоменклатуры.Уровень());

                               Сумма = Сумма + ВыборкаПереченьНоменклатурыумма; //3

                               КонецЦикла;

 

                               ОбластьИтогоараметры.Итого = Сумма; //4

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

                               ВставлятьРазделительСтраниц = Истина;

                КонецЦикла;

            Изменения, позволяющие выводить итоговую сумму прокоментированы цифрами 1, 2, 3, 4 и подсвечены желтым цветом в Листинге 1.

            Окончательный вариант печатной формы документа с итоговой суммой по столбцу «Сумма» показан ниже на рис. 4.

Рис. 4. Окончательный вариант макета в режиме «1С: Предприятие»

 

ПРИМЕЧАНИЕ: макет сделан в «1С: Предприятие 8.2»