logo

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

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

По умолчанию, файл с шаблоном листа согласования находится в папке 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}