Список функций генерации документов по шаблону v3.10

Генерация по шаблону

В системе ELMA существует возможность использования генерации по шаблону для документов, оповещений, наименований экземпляров объектов.

Функции практически всегда возвращают строку указанного формата, поэтому описанные в данной статье функции можно использовать в любом из перечисленных наименований. 

Функции актуальны для версий системы ELMA начиная с 3.10.10 включительно и выше.

Список функций генератора по шаблону

Стандартные функции:

Функции для работы с календарем:

Функции для работы с напоминаниями:

Функции для работы с модулем CRM:

Функции для подписывания текстов:

Функции для склонения слов и словосочетаний:

Функции для генерации проектов:

Функции для работы с интервалами времени:

Функции форматирования:

Функции для генерации оповещений:

Функции работы с пользователями:

Функции для работы с записями в отчете о трудозатратах:

Функции для работы с задачами:

Ниже приведена таблица со списком функций, содержащая их краткое описание и примеры использования.

Звёздочкой (*) отмечены обязательные параметры. 

Стандартные функции

Имя

Описание

Count

Возвращает количество элементов в блоке.

Параметры функции:
[0]*: блок или элемент блока

Результат: количество элементов в блоке.

Пример: пусть Товары (Tovary) – переменная типа Блок, которая имеет два свойства: Наименование (Naimenovanie) и Количество (Kolichestvo). Для вывода значений данной переменной в шаблоне следует использовать:
{for Item in{$Tovary}}
{$Item.Naimenovanie}: {$Item.Kolichestvo} шт.{end}
Чтобы узнать количество элементов в блоке:
{Count({$Tovary})}
Внутри цикла можно также использовать следующее выражение:
{Count({$Item})}

Index

Возвращает текущую позицию в блоке (начиная с 0).

Параметры функции:
[0]*: Элемент блока

Результат: текущий индекс в блоке.

Пример: пусть Товары (Tovary) - переменная типа Блок, которая имеет два свойства: Наименование (Naimenovanie) и Количество (Kolichestvo). Для вывода значений данной переменной в шаблоне следует использовать:
{for Item in{$Tovary}}
{$Item.Naimenovanie}: {$Item.Kolichestvo} шт.{end}

Для получения текущей позиции в блоке необходимо использовать:
{Index({$Item})}

SubString

Позволяет получить обрезанную строку, начиная с указанного символа (начиная с 0).

Параметры функции:

  • [0]* Строка (String);
  • [1]* Начальный символ желаемой строки (int);
  • [2] Желаемая длина (int).

Результат: входная строка обрезается с указанного символа на желаемую длину.

Пример:

{SubString (‘Лето, солнце’;2;6)}

(Результат: ‘то, со’)

GetListItem

Позволяет получить элемент списка по индексу.

Параметры функции:

  • [0]* Список;
  • [1]* Индекс (начиная с 0).

Результат: из всего перечня элементов списка в шаблон выведется только указанный элемент в строковом (string) формате.

Пример:

Пусть Contractor - переменная типа Контрагент 1-N. Тогда, чтобы получить третьего контрагента из данного списка, следует использовать выражение вида:

{GetListItem({$Contractor};2)}

Image

Выводит в шаблон изображение.

Параметры функции:

  • [0]: Переменная типа Файл (системная);
  • [1]: Формат отображения картинки (string).

Примечание: в качестве формата передается строка, содержащая значение масштаба типа Double в формате scale:(значение масштаба).

Результат: в шаблон будет добавлено изображение в соответствии с указанным форматом.

Пример: пусть FileWithImage – переменная типа Файл (системная), содержащая изображение.
Для вывода этого изображения в шаблон в масштабе 10% следует использовать выражение:
{Image({$FileWithImage};’scale:10’)}

HtmlString

Возвращает строку в кодировке HTML.

Параметры функции:
[0]*: Строка с html кодом (string).


Результат: исходная строка в кодировке HTML.

Пример: пусть Stroka – переменная типа Строка. Чтобы представить Stroka в кодировке, HTML следует использовать выражение:
{(HtmlString({$Stroka})}

StringCut

Позволяет обрезать строку до указанного количества символов.

Параметры функции:

  • [0]*: Строка (string);
  • [1]*: Максимальная длина строки (int). 

Результат: если длина входной строки больше значения МаксДлина, от строки остается (МаксДлина - 2) символов, а в конце добавляется многоточие «..». В противном случае строка не обрезается.

Пример:
StringCut(‘Лето, солнце’, 10)
(результат: ‘Лето, со..’)

Функции для работы с календарем

GetCalendarEventMembers

Возвращает список участников события в зависимости от их статуса.

Параметры функции:

  • [0]*: Событие (ICalendarEvent);
  • [1]*: Статус участника события (int).

Допустимые значения:

  • «Участник» (0);
  • «Информируемый» (1).

Результат: список участников события с заданным статусом.

Пример: пусть Event – переменная типа Событие. Тогда, чтобы получить список участников события, следует использовать выражение вида:
{GetCalendarEventMembers({$Event};0)}


Чтобы получить список участников, которых необходимо информировать, следует использовать:
{GetCalendarEventMembers({$Event};1)}

Функции для работы с напоминаниями

GetReminderTimeSpan

Возвращает значение интервала времени, за который приходит напоминание о начале или об окончании (для задач) события.

Параметры функции:
[0]* - Напоминание (IReminder).

Результат: время, за которое произойдет напоминание. Указывается в формате «нед. дн. ч. мин.»

Пример: создадим задачу и укажем для нее срок выполнения с 23.05.2017 до 25.05.2017 12:00. Далее установим напоминание о завершении задачи на 24.05.2017 9:00.
Пусть Reminder - переменная типа Напоминание. Тогда, чтобы получить время, за которое произойдет напоминание, необходимо использовать выражение:
{GetReminderTimeSpan({$Reminder})}

Результат функции: «1 дн. 3 ч».

Функции для работы с модулем CRM

GetRelationshipMembers

Возвращает список участников взаимоотношения.

Параметры функции:

  • [0]*: Взаимоотношение (IRelationship);
  • [1]*: Статус участника взаимоотношения (int).

Допустимые значения:

  • «Участник» (0);
  • «Информируемый» (1).

Результат: список пользователей, являющимися участниками взаимоотношения с заданным статусом.

Пример: пусть Relationship – переменная типа Взаимоотношение. Тогда, чтобы получить список участников события, необходимо выполнить запрос вида:
{GetRelationshipMembers({Relationship};0)}


Чтобы вывести участников, которых необходимо информировать, следует использовать выражение:
{GetRelationshipMembers({Relationship};1)}

PropertyRowIfCategory

Позволяет получить изменения в списке категорий.

Параметры функции:

  • [0]*: Хеш старых категорий (string);
  • [1]*: Хеш новых категорий (string).

Результат: в зависимости от режима генерации контекста функция выводит изменения списка категорий. Если в качестве режима генерации оповещений установлен HTML, то формируется таблица, содержащая новые и старые категории. В остальных случаях формируется строка, содержащая только новые категории.

Пример: пусть Old и New – соответственно старые и новые значения переменной типа Контрагент. Чтобы вывести изменения списка категорий, следует использовать выражение:
{PropertyRowIfCategory({$Old.CategoriesHash};{$New.CategoriesHash})}

Обратите внимание: функция является системной и не рекомендуется для использования!

Функции для подписания текстов

TransformFileToSignedText

Позволяет трансформировать файл в подписываемый текст.

Параметры функции:
[0]*: Файл (BinaryFile). 

Результат: возвращает подписываемый текст как результат трансформации файла.

Пример: пусть BinaryFile - переменная типа Файл. Чтобы получить подписываемый текст, необходимо использовать выражение:
{TransformFileToSignedText({$BinaryFile})}

Функции для склонения слов и словосочетаний

ФОРМАТ_ФИО

Возвращает ФИО в заданном формате и падеже.

Параметры функции:

  • [0]*: Строка с ФИО (string);
  • [1]: Падеж (1 = Именительный, 2 = Родительный и т.д.) (int);
  • [2]: Формат отображения ФИО. (string).

Допустимые форматы:

  • «фамилия» или «ф»;
  •  «имя» или «и»;
  • «отчество» или «о».

Результат: преобразованное в указанный формат и в указанный падеж выражение.

Пример: для получения ФИО в родительном падеже следует использовать выражение:

{ФОРМАТ_ФИО(‘Иванов Иван Иванович’;‘2’;‘фамилия имя отчество’)}.

Пример: для получения ФИО в родительном падеже из контекстной переменной следует использовать выражение: {ФОРМАТ_ФИО({$Наименование контекстной переменной}; ‘2’; ‘фамилия имя отчество’)}. Следует отметить, что контекстная переменная должна иметь тип "Строка".

Результат функции: «Иванова Ивана Ивановича».

Просклонять

Возвращает заданную строку в указанном падеже (является русскоязычным аналогом функции Incline).

Incline

Возвращает заданную строку в указанном падеже (является англоязычным аналогом функции Просклонять).

Параметры функции:

  • [0]*: Строка с выражением, которое необходимо просклонять (string);
  • [1]: Падеж («и» или «именительный», «р» или «родительный» и т.д.) (string);
  • По умолчанию «именительный»;
  • [2]: Дополнительные признаки (params string[]).

Допустимые значения:

  • «фио» («ф»);
  • «мужскойрод» («м»);
  • «женскийрод» («ж»);
  • «нарицательное» («н»);
  • «одушевленное» («о»);
  • «неодушевленное» («но»).

Результат: преобразованное в соответствии с указанным форматом словосочетание.

Пример: для получения строки в заданном падеже следует использовать выражения следующего вида:
{Просклонять(‘Моё словосочетание’;‘П’)}
В результате получим значение «о Моём словосочетании»
или
{Просклонять(‘Любовь’;‘Д’;’ф’)}
результат - «Любови»
или
{Просклонять(‘Любовь’;‘Д’;’н’)}
результат - «Любви».

ПросклонятьМнож

Возвращает указанную строку во множественном числе в заданном падеже (является русскоязычным аналогом функции InclineMany).

InclineMany

Возвращает указанную строку во множественном числе в заданном падеже (является англоязычным аналогом функции: ПросклонятьМнож).

Параметры функции:

  • [0]*: Строка с выражением, которое нужно просклонять (string);
  • [1]: Падеж («и» или «именительный», «р» или «родительный» и т.д.) (string).
    По умолчанию «именительный»;
  • [2]: Дополнительные признаки (params string[]).

Допустимые значения:

  • «фио» («ф»);
  • «мужскойрод» («м»);
  • «женскийрод» («ж»);
  • «нарицательное» («н»);
  • «одушевленное» («о»);
  • «неодушевленное» («но»).

Результат: преобразованное в соответствии с указанным форматом словосочетание во множественном числе.

Пример:
{ПросклонятьМнож(‘Моё словосочетание’;‘П’)}
(результат: «о Моих словосочетаниях»).

ЧислоВСтроку

Возвращает указанное число в текстовом формате и в заданном падеже (является русскоязычным аналогом функции «NumberToString»).

NumberToString

Возвращает указанное число в текстовом формате и в заданном падеже (является англоязычным аналогом функции ЧислоВСтроку).

Параметры функции:

  • [0]*: Число для преобразования в строку (все числовые типы, кроме byte);
  • [1]: Падеж («и» = «именительный», «р» = «родительный» и т.д.) (string).
    Значение по умолчанию: именительный;
  • [2]: Единицы измерения. (string).

Допустимые форматы:

  • только для целой части («рубль»);
  • только для дробной части («копейка»);
  • целая и дробная части («рубль|копейка»).
    Значение по умолчанию: «целый|десятый»;
  • [3]: Объём единиц измерения (все числовые типы, кроме byte);
  • Значение по умолчанию: 100;
  • [3-4]: Формат отображения числа (string).

Допустимые форматы:

  • «0» - для отображения только дробной части числа;
  • идентификатор формата отображения («A», «B» и т.д.). «A» и «B» - системные идентификаторы.

Пользователи сами могут создавать форматы и назначать им идентификаторы:
составной формат, состоящий из последовательности шаблонов.


Допустимые шаблоны:

  • {ЦЧ} {ЦелаяЧасть} (шаблон для отображения целой части числа);
  • {ДЧ} {ДробнаяЧасть} (шаблон для отображения дробной части числа);
  • {ЦЧ:Ф} {ЦелаяЧасть:Ф} (шаблон для отображения целой части числа с использованием формата отображения);
  • {ДЧ:Ф} {ДробнаяЧасть:Ф} (шаблон для отображения дробной части числа с использованием формата отображения);
  • {ПЦЧ} {ПрописьЦелойЧасти} (шаблон для отображения целой части числа прописью);
  • {ПДЧ} {ПрописьДробнойЧасти} (шаблон для отображения дробной части числа прописью);
  • {НЦЧ} {НаименованиеЦелойЧасти} (шаблон для отображения единиц измерения целой части числа);
  • {НДЧ} {НаименованиеДробнойЧасти} (шаблон для отображения единиц измерения дробной части числа).


Значение по умолчанию: «{ПЦЧ} {НЦЧ} {ПДЧ} {НДЧ}». 
Примеры для значения «Ф» можно найти здесь: https://msdn.microsoft.com/ru-ru/library/fzeeb5cd(v=vs.110).aspx

Результат: преобразованное числовое значение данного экземпляра в эквивалентное строковое представление с использованием указанного формата.

Пример: при использовании выражения:

{ЧислоВСтроку(123.5;’Р’;’бочка|литр’;122;’{ЦЧ} ({ПЦЧ} {НЦЧ}) {ДЧ} ({ПДЧ} {НДЧ})’)}
в качестве результата получим: 123 (ста двадцати трёх бочек) 61 (шестидесяти одного литра))
или
{NumberToString(12345.5;’Д’;’бочка|литр’;122;’{ЦЧ:N} ({ПЦЧ} {НЦЧ})’)}
результат: 12 345,00 (двенадцати тысячам трёмстам сорока пяти бочкам).

ИзменитьРод

Позволяет изменить род прилагательного (является русскоязычным аналогом функции ChangeKind).

ChangeKind

Позволяет изменить род прилагательного (является англоязычным аналогом функции ИзменитьРод).

Параметры функции:

  • [0]*: Прилагательное в именительном падеже мужского рода (string);
  • [1]*: Род и число, в которые нужно преобразовать (string).

Допустимые форматы:

  • «Мужской род» («м», «муж»);
  • «Женский род» («ж», «жен»);
  • «Средний род» («с», «ср»);
  • «Множественное число» («мн», «множ»).

Результат: преобразованное в соответствии с указанным форматом прилагательное.

Пример: при использовании выражения:
{ИзменитьРод(‘спокойный’;’ЕдинСред’)}
в качестве результата получим результат: «спокойное»
или
{ChangeKind(‘спокойный’;’жен’)}
результат - «спокойная».

ФамилияПротивоположногоПола

Позволяет получить фамилию противоположного пола (является русскоязычным аналогом функции AnotherGenderSecondName).

AnotherGenderSecondName

Позволяет получить фамилию противоположного пола (является англоязычным аналогом функции ФамилияПротивоположногоПола).

Параметры функции:
[0]: Строка с фамилией (string).

Результат: строка с фамилией противоположного пола.

Пример:
{ФамилияПротивоположногоПола(‘Петров’)}
в результате получим значение «Петрова».

РодИлиЧисло

Позволяет получить род или число выражения (является русскоязычным аналогом функции KindOrNumber).

KindOrNumber

Позволяет получить род или число выражения (является англоязычным аналогом функции РодИлиЧисло).

Параметры функции:

  • [0]*: Строка с выражением (string);
  • [1]: Дополнительные признаки (params string[]).

Допустимые значения:

  • «фио» («ф»);
  • «мужскойрод» («м»);
  • «женскийрод» («ж»);
  • «нарицательное» («н»);
  • «одушевленное» («о»);
  • «неодушевленное» («но»).

Результат: род или число выражения. Для слов типа "брюки", "ножницы" и т.д возвращается множественное число.

Пример: при использовании выражения
{РодИлиЧисло(‘спокойный’)}
в качестве результата получим значение «Мужской род».
или
для {KindOrNumber(‘брюки’)}
результатом будет являться «Множественное число».

Фио

Позволяет получить полное имя или его часть (является русскоязычным аналогом функции «GetPartOfFullName»).

GetPartOfFullName

Позволяет получить полное имя или его часть (является англоязычным аналогом функции Фио).

Параметры функции:

  • [0]*: Строка с ФИО (string);
  • [1]*: Часть ФИО.

Допустимые форматы:

  • «фамилия» («ф»);
  • «имя» («и»);
  • «отчество» («о»);
  • «полноеимя» («полн»).

Результат: полное имя или его часть в соответствии с указанным форматом

Пример выражения:
{Фио(‘Пушкин Александр Сергеевич’;‘о’)}
Результат выражения - «Сергеевич».

ЯвляетсяФио

Позволяет установить, является ли выражение ФИО (является русскоязычным аналогом функции IsFullName).

IsFullName

Позволяет установить, является ли выражение ФИО (является англоязычным аналогом функции ЯвляетсяФио).

Параметры функции:

  • [0]*: Строка с ФИО (string);
  • [1]: Дополнительные признаки (params string[]).

Допустимые значения:

  • «фио» («ф»);
  • «мужскойрод» («м»);
  • «женскийрод» («ж»);
  • «нарицательное» («н»);
  • «одушевленное» («о»);
  • «неодушевленное» («но»).

Результат: будет возвращено значение функции True, если выражение является ФИО. Иначе – False.

Пример: для выражения
{ЯвляетсяФио(‘Пушкин Александр Сергеевич’)}
результатом является значение True.

ЯвляетсяОдушевленным

Является ли объект в выражении одушевлённым (Англоязычный аналог функции: IsAnimated).

IsAnimated

Является ли объект в выражении одушевлённым (Русскоязычный аналог функции: ЯвляетсяОдушевленным).

Параметры функции:

  • [0]*: Строка с выражением (string);
  • [1]: Дополнительные признаки (params string[]).

Допустимые значения:

  • «фио» («ф»);
  • «мужскойрод» («м»);
  • «женскийрод» («ж»);
  • «нарицательное» («н»);
  • «одушевленное» («о»);
  • «неодушевленное» («но»).

Результат: будет возвращено значение функции True, если объект в выражении является одушевленным. В противном случае – False.

Пример: для выражения
{ЯвляетсяОдушевленным(‘заяц’)}
результатом будет являться значение True.

Функции для генерации проектов

IsProjectTaskDelayed

Позволяет узнать, является ли переданная задача отложенной, т.е. входит ли задача в интервал отображения задач в проекте.

Параметры функции:
[0]*: Проектная задача (IProjectTaskBase).

Результат:
будет возвращено значение True в случае, если переданная задача активна и не видима в списке пользователя, а также при выполнении одного из условий:

  1. Переданная задача является отложенной, и для задачи не разрешен ранний старт.
  2. Есть незавершенные связанные задачи, от которых зависит данная задача.

В остальных случаях будет возвращено значение False.

Пример: пусть ProjectTask – переменная типа Проектная задача. Чтобы определить, является ли задача отложенной, следует использовать выражение:
{IsProjectTaskDelayed({$ProjectTask})}

IsProjectTaskTemplate

Позволяет узнать, является ли переданная задача шаблоном проекта.

Параметры функции:
[0]*: Проектная задача (IProjectTaskBase).

Результат: будет возвращено значение True в случае, если переданная задача является шаблоном проекта. В остальных случаях будет возвращено False.

Пример: пусть ProjectTask – переменная типа Базовый класс проектной задачи. Чтобы определить, является ли ProjectTask шаблоном проекта, следует использовать следующее выражение:
{IsProjectTaskTemplate({$ProjectTask})}

Функции для работы с интервалами времени

ИнтервалВремениВСтроку

Позволяет представить интервал времени в виде строки. Является русскоязычным аналогом функции TimeSpanToString.

TimeSpanToString

Позволяет представить интервал времени в виде строки.

Параметры функции:
[0]*: Интервал времени (TimeSpan).

Результат: строковое представление интервала времени в формате «д. ч. мин. сек».

Пример: пусть TimeSpan – переменна типа Интервал времени. Установим ей значение «128.17:30:33.3444555». Тогда для выражения:
TimeSpanToString({$TimeSpan})
результатом будет являться значение 128 д. 17 ч. 30 мин. 33 сек.

ПолучитьДниИнтервала

Возвращает интервал времени (в днях) в виде строки. Является русскоязычным аналогом функции GetTimeSpanDays.

GetTimeSpanDays

Позволяет представить интервал времени (в днях) в виде строки.

Параметры функции:
[0]*: Интервал времени (TimeSpan).

Результат: дни интервала времени в виде строки.

Пример: пусть TimeSpan – переменна типа Интервал времени. Установим ей значение «128.17:30:33.3444555». Тогда для выражения:
GetTimeSpanDays({$TimeSpan})
результатом функции будет значение 128.

ПолучитьЧасыИнтервала

Возвращает интервал времени (в часах) в виде строки. Является русскоязычным аналогом функции GetTimeSpanHours.

GetTimeSpanHours

Возвращает интервал времени (в часах) в виде строки.

Параметры функции:
[0]*: Интервал времени (TimeSpan).

Результат: часы интервала времени в виде строки.

Пример: пусть TimeSpan – переменна типа Интервал времени. Установим ей значение «128.17:30:33.3444555». Тогда для выражения:
GetTimeSpanHours({$TimeSpan})
результатом будет являться значение «17».

ПолучитьМинутыИнтервала

Возвращает интервал времени (в минутах) в виде строки. Является русскоязычным аналогом функции GetTimeSpanMinutes.

GetTimeSpanMinutes

Возвращает интервал времени (в минутах) в виде строки.

Параметры функции:
[0]*: Интервал времени (TimeSpan).

Результат: минуты интервала времени в виде строки.

Пример: пусть TimeSpan – переменна типа Интервал времени. Установим ей значение «128.17:30:33.3444555». Тогда в результате использования выражения
GetTimeSpanMinutes({$TimeSpan})
получим значение «30».

ПолучитьСекундыИнтервала

Возвращает интервал времени (в секундах) в виде строки. Является русскоязычным аналогом функции GetTimeSpanSeconds.

GetTimeSpanSeconds

Возвращает интервал времени (в секундах) в виде строки.

Параметры функции:
[0]*: Интервал времени (TimeSpan).

Результат: секунды интервала времени в виде строки.

Пример: пусть TimeSpan  переменна типа Интервал времени. Установим ей значение «128.17:30:33.3444555». Тогда в результате использования выражения
GetTimeSpanSeconds({$TimeSpan})
получим значение «33».

Функции форматирования

DateTimeFormat

Позволяет отобразить дату и время в заданном формате.

Параметры функции:

  • [0]*: Дата\время (DateTime);
  • [1]: Формат отображения (string).

Результат: преобразованное значение текущего объекта DateTime в эквивалентное строковое представление с использованием указанного формата.

Пример:
выражение {DateTimeFormat({$DataTime}; ‘yy-MM-dd’)} вернет результат 17-05-18;
выражение {DateTimeFormat({$DataTime}; ‘G’)} вернет результат 18.05.2017 1:30:00.

NumberFormat

Возвращает число в заданном формате.

Параметры функции:

  • [0]*: Число (все числовые типы, кроме byte);
  • [1]: Один из стандартных или кастомных форматов отображения (string);
  • [1]: Число количества знаков после запятой (все числовые типы, кроме byte).

Примечание: если в качестве второго параметра будет передано число с плавающей запятой, то количество знаков будет равно целой части этого числа с учётом округления.

Результат: преобразованное числовое значение данного экземпляра в эквивалентное строковое представление с использованием указанного формата.

Пример: для выражения вида
{NumberFormat(2345.6789;3)} результатом будет являться значение 2345,679
для {NumberFormat(0.6789;’G’)} результат – 0,6789;
для {NumberFormat(0.6789;’P’)} результат – 67,89%;
для {NumberFormat(2345.6789;'#,0.00')} результат – 2 345,67.

MoneyFormat

Позволяет отобразить числа в формате денег. Отображается только в формате номиналов российских денег.

Параметры функции:

  • [0]*: Число (все числовые типы, кроме byte);
  • [1]: Число количества знаков после запятой (все числовые типы, кроме byte).

Результат: преобразованное в денежный формат число. Если в качестве второго параметра будет передано число с плавающей запятой, то количество знаков будет равно целой части этого числа с учётом округления.

Пример:
{MoneyFormat(23451234.6789;2)}

Функции для генерации оповещений

GetEntityUrl

Позволяет получить ссылку на детальную страницу сущности.

Параметры функции:
[0]*: Объект (IEntity)

Результат: строка, содержащая сформированную ссылку на детальную страницу сущности.

Пример: пусть Task – переменная типа Базовый класс задачи, ID которой равен 603. Чтобы сформировать ссылку на детальную страницу сущности, необходимо использовать выражение:
{GetEntityUrl({$Task})}
В результате получим значение: «/Tasks/Task/Execute/603».

Функции работы с пользователями

GetUserShortName

Позволяет получить сокращенное имя пользователя (инициалы).

Параметры функции:
[0]*: Пользователь (IUser)

Результат: инициалы пользователя вместо полного имени (например, Иванов И. И.).

Пример: пусть Iniciator – переменная типа Пользователь. Чтобы получить сокращенное имя пользователя, следует использовать выражение:
{GetUserShortName({$Iniciator})}

Функции для работы с записями в отчете о трудозатратах

WorkTimeToFormatString

Возвращает отформатированное значение интервала рабочего времени в днях, часах и минутах.

Параметры функции:
[0]*: Интервал рабочего времени (WorkTime).

Результат: отформатированное значение интервала рабочего времени в днях, часах и минутах.

Пример: пусть WorkLogItem – переменная типа Запись в отчете о трудозатратах. Чтобы вернуть значение фактического отработанного времени (FactWorkTime), следует использовать выражение:
{WorkTimeToFormatString({$WorkLogItem.FactWorkTime})}

LoadEntityByWorkLogItem

Позволяет загрузить сущность.

Параметры функции:
[0]*: Запись в отчете о трудозатратах (IWorkLogItem).

Результат: будет загружена указанная сущность.

Пример: пусть WorkLogItem – переменная типа Запись в отчете о трудозатратах. В качестве объекта трудозатрат была выбрана задача Task. Чтобы загрузить Task через WorkLogItem, следует писать:
{LoadEntityByWorkLogItem({$WorkLogItem})}

GetEntityDisplayNameByWorkLogItem

Возвращает отображаемое имя сущности.

Параметры функции:
[0]*: Запись в отчете о трудозатратах (IWorkLogItem). 

Результат: строка, содержащая отображаемое имя сущности.

Пример: пусть WorkLogItem – переменная типа Запись в отчете о трудозатратах. В качестве объекта трудозатрат выбрана задача Task. Чтобы получить отображаемое имя Task через WorkLogItem следует писать выражение:
{GetEntityDisplayNameByWorkLogItem({$WorkLogItem})}

Функции для работы с задачами

GetInformToExceptMembers

Формирует список пользователей из соисполнителей первой задачи, при этом не являющихся соисполнителями во второй.

Параметры функции:

  • [0]*: Первая задача (ITaskBase);
  • [1]*: Вторая задача (ITaskBase).

Результат: список пользователей из соисполнителей первой задачи, не являющихся при этом соисполнителями во второй.

Пример: пусть Task1, Task2 – переменные типа ITaskBase, обозначают соответственно Задачу1 и Задачу2. В качестве соисполнителей Task1 указаны «Петров Петр», «Сидоров Константин», а Task2 – «Смирнов Денис», «Петров Петр». Чтобы получить соисполнителей из Task1, не являющихся соисполнителями в Task2, следует использовать выражение:
{GetInformToExceptMembers({$Task1};{$Task2})} Результатом будет являться «Сидоров Константин».

В обратном случае:
{GetInformToExceptMembers({$Task2};{$Task1})}
Результат функции – «Смирнов Денис».

Следующие статьи в нашей Базе помогут узнать больше о работе с шаблонами: