Добавление в документ секции для печати итогов.
Теперь мы добавим в нижнюю часть печатной формы документа область печати итогов по колонкам «Сумма» и«НДС». Сначала введем поясняющий текст«ИТОГО» в ячейке ниже выражения «Цена». Для этого текста в палитре свойств установим шрифт размером 10 и включим атрибут«Жирн.». После этого мы введем выражение в ячейку ниже выражения «Сумма». При этом надо, как и раньше, вызвать, палитру свойств и выбрать тип ячейки«Выражение».
Для записи выражении мы используем метод документа «ИтогО», который предназначен для получения суммы значений числового реквизита документа по всем строкам. В скобках в качестве параметра нужно указать в двойных кавычках идентификатор того реквизита, данные по которому суммируются. Нам нужно будет записать выражение«Итог»(«Сумма»).
При печати числовых выражений удобнее выровнять их по правому краю. Для этого мы активизируем закладку «Положение» и щелкнем мышью в поле«Право» группы «Гор.». Теперь нажмем кнопку «ОК».
Аналогичные действия надо произвести и для ячейки ниже выражения «НДС», только в этой ячейке будет выражение «Ипи»(«ВДС»).
Также можно обвести рамки вокруг ячеек с итоговыми суммами. Прежде чем просмотреть в работе сделанные изменения, заметим, что строчка, в которой мы поместили вывод итогов, не относится ни к какой секции, следовательно, она не будет выведена в печатную форму. Очевидно, нам нужно создать
hqbvw секцию.
Для создания новой секции мы так же, как выделяли секции раньше, отметим в заголовках строк таблицы (серая колонка с номерами строк слева) строку с текстом«Итого» (при этом можно отметить заодно и несколько следующих пустых строк на случай, если в нижней части документа в последующем потребуется разместить, например, место для подписей). Теперь выберем пункт«Включить в секцию» из меню «Таблица» и введем имя секции«Подвал».
Примерный вид получившегося документа показан на рисунке .
Описание алгоритма печати документа.
После того, как мы сформировали шаблон печатной формы, нам необходимо разработать алгоритм ее построения. Здесь нам уже придется писать не отдельные выражения, а целую процедуру. Это объясняется тем, что, в общем случае, при печати могут выполняться различные вычисления, которые удобно описывать в виде алгоритма. Для написания алгоритма в форме предусмотрена закладка «Модуль». Для ее активизации щелкнем в нее мышью. Будет открыто пустое окно текстового редактора. В этом окне напишем текст алгоритма, который будет выполнять печать документа. Как и раньше, мы продолжим осваивать встроенный язык постепенно, используя только необходимые конструкции.
Все отдельные действия (такие, как печать документа) оформляются в модуле как процедуры. Процедурой является некий отдельный алгоритм, имеющий имя — имя процедуры. Процедура оформляется строкой начала процедуры и строкой конца процедуры. Между этими строками и располагается алгоритм, то есть описываются те действия, которые процедура будет выполнять.
Рис. . Шаблон усовершенствованной печатной формы документа
Для создания процедуры нам нужно написать две строки — строку начала процедуры и строку конца. Мы можем написать их сами, введя символы с клавиатуры, а можем воспользоваться Синтакс-Помощником.
Синтакс-Помощник — это очень удобное средство, которое используется для написания алгоритмов на встроенном языке. Он помогает и найти нужные конструкции языка, и получить по ним пояснения, и автоматически вставить их в текст модуля.
Для вызоваСинтакс-Помощника мы воспользуемся меню «Сервис» главного меню онфигуратора. Выберите в нем пункт «Синтакс-Помощник», в правой части экрана появилось вертикальное окноСинтакс-Помощника.
В нем располагаются три ветви:«Встроенный язык», «Шаблоны» и «Конструкторы». В ветке«Встроенный язык»располагаются все стандартные команды встроенного языка«1С:
Предприятия», в ветке«Шаблоны» — фрагменты алгоритмов, в которые могут входить несколько команд. В отличие от содержимого ветки«Встроенный язык», шаблоны могут изменяться пользователем и дополняться новыми. Ветка
«Конструкторы» содержит вспомогательные инструменты, облегчающие разработку стандартных элементов системы 1С: Предприятие. Воспользуемся для автоматизации создания процедуры печати конструктором печати:
«Конструкторы» - «Печать».
Конструктор печати позволяет визуально описать формирование печатной формы различных объектов «1С:
Предприятия». Он может быть вызван из следующих форм «1С:
Предприятия»: из формы документа - для описания печати документа; из формы журнала документов - для описания печати журнала документов; из формы справочника - для описания печати элемента справочника; из формы списка справочника - для описания печати справочника.
При конструировании алгоритма печати документа надо пройти вместе с конструктором следующие этапы:
1-й - дать имя процедуре («Печать»);
2-й - выбрать из предложенного списка реквизитов шапки те, которые Вы хотите поместить в шапку документа;
3-й - выбрать из предложенного списка реквизитов таблицы документа, которые должны быть помещены в таблицу документа;
4-й - отобрать реквизиты, используемые в подвале документа;
5-й - выбрать кнопку«Печать» и установить флажок на «Режим «только просмотр» и нажать кнопку «Готово».
По окончании работы Конструктора печати формируется таблица«Печать» и вносится в «Модуль» следующий текст,. //{{ПРОЦЕДУРА_ПЕЧАТИ(Печать)
//Данный фрагмент построен конструктором.
//При повторном использовании конструктора,
//внесенные вручную изменения будут потеряны!!!
Процедура Печать ()
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Печать");
Таб.ВывестиСекиию("Шапка");
Таб.0пции(0,0,0,0);
ВыбратьСтроки ();
Пока ПолучитьСтроку()=1 Цикл
Таб.ВывестиСекцию("Строка");
КонецЦикла;
Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр(1);
Таб.Показать(" Печать Поступление материалов","");
КонецПроцедуры
//}}ПРОЦЕДУРА_ПЕЧАТИ
Рекомендации. Далее имеет смысл проверить, как выглядит печатная форма документа в режиме«1С: Предприятие» и соответствует ли она созданной вами форме.
Обратите внимание, что созданная- вами вручную форма документа находится в закладке«Таблица», а Конструктор печати также автоматически создал свою форму в закладке«Печать» и процедуру в закладке «Модуль», это говорит о том, что можно диалоговую форму не создавать вручную, если Вас устраивает созданная Конструктором печати. Однако есть и другой вариант, который позволяет использовать Ваш вариант формы документа:
для изменения таблицы, исходящей в основании печатной формы надо:
1) заменить строкуТаб.ИсходнаяТаблица("Печать");
на Таб.ИсходнаяТаблица("Таблица");
2) удалить закладку«Печать» и переименовать закладку «Таблица» в «Печать».