Шаблон договора хранится в обработке ШаблонПечатиПроектДоговораMSWord, которая расположена в справочнике «Дополнительные отчеты и обработки» (раздел «Администрирование»). Для добавления нового шаблона или изменения настроек автоматического заполнения текущего шаблона необходимо выполнить действия в соответствии с инструкцией, описанной ниже (выполняется специалистом по внедрению 1С).
Изменение текущей внешней печатной формы на основе обработки ШаблонПечатиПроектДоговораMSWord:
Открыть справочник «Дополнительные отчеты и обработки», найти элемент с нужным именем (в данном случае «Шаблон печати проекта договора в формате MS Word»), открыть его. В форме элемента в командной панели нажать кнопку «Выгрузить в файл…», в открывшемся диалоге сохранения файла указать каталог и нажать кнопку «Сохранить».
Сохраненную обработку открыть в конфигураторе. Появится окно редактирования внешней обработки.
В ветке «Макеты» найти интересующий макет («ШаблонПроектДоговораWord»).
Открыть его двойным нажатием левой кнопки мыши. В окне «Двоичные данные» нажать кнопку «Выгрузить в файл». В диалоге «Сохранить как» указать произвольное имя файла с расширением «.doc».
Сохраненный файл открыть с помощью программы MS Word, отредактировать его при необходимости, сохранить.
В конфигураторе в окне «Двоичные данные» нажать кнопку «Загрузить из файла». В диалоге открытия файла указать отредактированный файл с расширением «.doc», нажать кнопку «Открыть». В окне «Двоичные данные» нажать на кнопку «ОК».
Закрыть окно редактирования внешней обработки, при закрытии появится запрос на сохранение внесенных изменений, выбрать «Да».
В пользовательском режиме работы, в форме элемента справочника «Дополнительные отчеты и обработки» в командной панели нажать на кнопку «Загрузить из файла». В диалоге открытия файла указать файл внешней обработки, после чего записать элемент справочника «Дополнительные отчеты и обработки».
Создание новой внешней печатной формы на основе обработки ШаблонПечатиПроектДоговораMSWord:
Скопировать текущую обработку, переименовать ее. Внести изменения в модуль объекта и процедуру «Печать» модуля формы, согласно документации конфигурации «Библиотека стандартных подсистем 2.1.2» раздел 3.14.
Добавить новый макет шаблона. Тип макета «ДвоичныеДанные», загрузить в него файл *.doc.
В модуле формы в процедуру «ДополнитьСвязаннойИнформацией» внести изменения. Необходимо получить там всю необходимую дополнительную информацию по объекту, которую планируется выводить на печать, но которая отсутствует в реквизитах и табличных частях объекта.
Правила заполнения шаблона документа:
Для выделения в тексте шаблона параметров, вместо которых надо поставить значения, используются следующие ключи:
- {{ - начало описания параметра
- }} - окончание описания параметра
- {% - начало описания выражения
- %} - окончание описания выражения
- $ - строка таблицы, которую необходимо вывести многократно.
В качестве имени параметра используются имена реквизитов объекта так, как они заданы в конфигураторе.
Описание параметра выглядит следующим образом: {{ИмяРеквизита}}
В качестве выражения можно использовать любой код на встроенном языке 1С, возвращающий значение.
Например, {%ФизическиеЛица.ФамилияИнициалыФизЛица(Данные.ФизическоеЛицо)%}
Для параметров возможно получение значений через точку. Например, при печати договора требуется получить вид контрагента: {{Владелец.ЮридическоеФизическоеЛицо}}
Если в выражении требуется указать значение какого-либо реквизита объекта, то к имени реквизита следует добавить префикс «Данные.». Например, у объекта есть реквизит ФизическоеЛицо: использование данного реквизита в качестве параметра будет выглядеть следующим образом: {{ФизическоеЛицо}}, а если необходимо использовать значение этого реквизита в выражении, то пишем: {%ФизическиеЛица.ФамилияИнициалыФизЛица(Данные.ФизическоеЛицо)%}.
Если данных объекта недостаточно для формирования печатной формы, в конфигураторе, в модуле формы, необходимо определить процедуру "ДополнитьСвязаннойИнформацией, в которой описать получение требуемой информации. Для получения в шаблоне значений связанной информации следует использовать ключи описания параметра, а к имени параметра добавлять префикс «СИ.». Например: для элемента справочника «Валюты» требуется получить курс, для этого в процедуре «ДополнитьСвязаннойИнформацией» определили алгоритм получения курса из регистра «КурсыВалют», а в шаблоне используем синтаксис - {{СИ.КурсВалюты}}.
Если в документе необходимо вывести таблицу, тогда в шаблоне в первой строке таблицы описываем путь к ней как параметр. Например: необходимо вывести табличную часть Товары документа ПоступлениеТоваровУслуг, в первой строке таблицы пишем {{Товары}}.
В результирующем документе данная строка будет удалена.
Чтобы указать, какую строку в таблице необходимо выводить многократно, в первой колонке строки должен присутствовать символ $.
В таблице можно использовать как параметры, так и выражения. Можно обращаться к реквизитам объекта, к связанной информации и к данным текущей выводимой строки таблицы.
Чтобы обратиться к данным текущей строки, к имени реквизита таблицы добавляется префикс «СтрокаТаблицы.». Например: {{СтрокаТаблицы.Номенклатура}}.