[ELMA3] Настройка шаблона листа согласования
Местоположение
По умолчанию, файл с шаблоном листа согласования находится в папке UserConfig\Templates и называется ApprovementListTemplate.server.docx. Это стандартный файл, генерируемый системой для создания шаблона согласования.
Создание пользовательского шаблона
Для этого вам потребуется создать в той же папке файл документа с названием ApprovementListTemplate.docx (обратите внимание, что данное название отличается от названия шаблона по умолчанию!), который и будет служить новым шаблоном. Система поддерживает только один шаблон листа согласования, поэтому для использования нескольких вариантов потребуется замена данного файла на текущий.
По умолчанию, шаблон выглядит так:
Происходит обращение к пространству предметов, относящихся к конкретному листу согласования – комментарии по согласованию документа, порядок, имена и даты согласующих и пр.
Обратим внимание на использование цикла: в стандартном шаблоне используются две таблицы, первая в качестве заголовка (номер, должность, замечания и пр.), а вторая – в качестве наполнения, поэтому в последней используется цикл. Перед ней ставится условие цикла – {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 |
ФИО целиком |
|
|
|
|
||
BirthDate |
Дата рождения |
||
EmployDate |
Дата приема на работу |
||
WorkPhone |
Рабочий телефон |
Пример 2
Выполнить проверку на условие: занимает ли пользователь должность "Бухгалтер". В случае положительного результата вывести название отдела.
В данном примере используется конструкция if-else по следующей схеме:
{if *условие*}
*Действие или текст, если условие выполняется*
{else*действие*}
*Действие или текст, если условие не выполняется*
{end if}