Настройка шаблона листа согласования

Местоположение

 По умолчанию, файл с шаблоном листа согласования находится в папке UserConfig\Templates и называется ApprovementListTemplate.server.docx. Это стандартный файл, генерируемый системой для создания шаблона согласования.

Создание пользовательского шаблона

 Для этого вам потребуется создать в той же папке файл документа с названием ApprovementListTemplate.docx (обратите внимание, что данное название отличается от названия шаблона по умолчанию!), который и будет служить новым шаблоном. Система поддерживает только один шаблон листа согласования, поэтому для использования нескольких вариантов потребуется замена данного файла на текущий.

Примечание:

Обязательно используйте именно формат .docx (Office2007-2013), поскольку другие не будут распознаны, и шаблон будет генерироваться по стандартной модели.

По умолчанию, шаблон выглядит так:

Происходит обращение к пространству предметов, относящихся к конкретному листу согласования – комментарии по согласованию документа, порядок, имена и даты согласующих и пр.

Обратим внимание на использование цикла: в стандартном шаблоне используются две таблицы, первая в качестве заголовка (номер, должность, замечания и пр.), а вторая – в качестве наполнения, поэтому в последней используется цикл. Перед ней ставится условие цикла – {foritemin {$items}},то есть для каждого следующего предмета в пространстве {$предметов} выводить данные значения, {end} – граница завершения пространства элементов цикла. Для корректной нумерации элементов цикла используется следующая конструкция: {Index () +1}, возвращающая числовое значение, отличающееся на единицу с каждым новым шагом цикла.

 
Более подробно прочитать о генерации файлов по шаблону.

Примеры

Пример 1

Вывести личные данные согласующих, например, дату принятия на работу и контактный телефон:

Как видно из примера, значения берутся из таблицы User пользовательской базы данных. Список полей:

            

Поле                

            

Значение                

            

Поле                

            

Значение                

            

Id                

            

Id пользователя

            

MobilePhone                

            

Мобильный телефон

            

Uid                

            

Уникальный идентификатор пользователя

            

RoomNumber                

            

Номер комнаты

            

Status                

            

Заблокироване заблокирован

            

Description                

            

Комментарий к профилю пользователя

            

UserName                

            

Login пользователя в системе

            

Skype                

            

Профиль  Skype

            

FirstName                

            

Имя

            

ICQ                

            

Профиль   ICQ

            

MiddleName                

            

Отчество

            

JabberID                

            

Профиль   JabberID

            

LastName                

            

Фамилия

            

ReplacementUser                

            

Id замещаемого пользователя

            

FullName                

            

ФИО целиком

            

 

            

                

            

Email                

            

Email

            

                

            

                

            

BirthDate                

            

Дата рождения

            

                

            

                

            

EmployDate                

            

Дата приема на работу

            

                

            

                

            

WorkPhone                

            

Рабочий телефон

            

                

            

                

Пример 2  

Выполнить проверку на условие: занимает ли пользователь должность "Бухгалтер". В случае положительного результата вывести название отдела.

В данном примере используется конструкция if-else по следующей схеме:     

{if *условие*}      

*Действие или текст, если условие выполняется*    

{else*действие*     

*Действие или текст, если условие не выполняется*      

{end if}