В начало

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

           

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

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

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

 

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

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

 

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

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

 

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

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

 

Листинг 1

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

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

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

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

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

                "ВЫБРАТЬ

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

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

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

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

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

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

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

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

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

                |                               Цена,

                |                               Сумма

                |               )

                |ИЗ

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

                |ГДЕ

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

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

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

 

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

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

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

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

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

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

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

 

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

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

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

                               КонецЕсли;

 

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

 

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

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

 

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

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

                              

                               Сумма = 0; //2

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

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

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

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

                               КонецЦикла;

 

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

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

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

                КонецЦикла;

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

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

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

 

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