...
| Тип функции | Функция | Описание | Входные параметры | Выходные параметры | Пример | Результат вычисления примера | |
| Структура хранения данных | Cfg(path) | Возвращает значение атрибута "Значение (строка)" типа элемента "Значение конфигурации строка" или атрибута "Значение (флаг)" типа элемента "Значение конфигурации строка" из списка "Конфигурация" | path: строка (обязательный) - путь до ключа в виде кода каждой папки и самого элемента в пути до элемента разделенных точкой | строка | Cfg('Receiver.IfcConverter.Rabbit.Connection') | Вернет значение атрибута "Значение" элемента Connection находящегося в папках Receiver - IfcConverter - Rabbit списка "Конфигурация" | |
| Field(element, fieldName, checkParent, includeCurrent) | Возвращает значение заданного атрибута у заданного элемента. При отсутствии заданного элемента, значение атрибута будет считано с текущего элемента. | element: строка (необязательный) - Название или тип элемента fieldName: строка (обязательный) - Название атрибута checkParent: bool (необязательный) - Проверять родительский элемент includeCurrent: bool (необязательный, используется только при checkParent=True) - Проверять текущий элемент | Значение поля | Field(Parent('В процессе'), 'Название') | Вернет значение атрибута "Название" родительской папки с типом элемента или названием "В процессе". | ||
| Lookup(listName.elementName) | Возвращает заданный элемент, заданого заданного списка. | listName: строка (обязательный) - Название списка elementName: строка (обязательный) - Название элемента | Элемент списка | Lookup('Статусы документов.Размещено') | Вернет элемент с названием "Размещено" списка "Статусы документов" | ||
| Parent(element, name, fieldName, includeCurrent) | Вернет первый объект или значение заданного поля объекта являющийся родительским по отношению к текущему, если объект удовлетворяет заданным условиям. | element: объект (необязательный) - элемент, для которого будет выполнен поиск родительского элемента. name: строка (необязательный) - Название типа искомого элемента или название самого элемента fieldName: строка (необязательный) - название атрибута родительского элемента, значение которого будет возвращено. Для лукап полей поддерживается точечная нотация. includeCurrent: bool (необязательный) - проверять ли сам текущий элемент. | Элемент или значение заданного поля элемента |
|
| ||
| Связи | Ref(contentType) | Возвращает первый элемент из списка связей элемента с заданным типом элемента связи. | contentType: строка (обязательный) - Тип элемента связи | Элемент | Ref('Связь с замечанием') | Вернет первый элемент списка связей с типом элемента 'Связь с замечанием' | |
| Refs(contentType) | Возвращает список связей элемента с заданным типом элемента связи. | contentType: строка (обязательный) - Тип элемента связи | Список элементов | Refs('Связь с замечанием') | Вернет список связей с типом элемента 'Связь с замечанием' | ||
| Логические | if(statement, 'value is true', 'value is false') | Проверяет результат заданного логического выражения и в зависимости от него возвращает одно из двух значений | statement: bool - логическое выражение, результатом которого является True или False value is true (обязательное) - возвращаемое значение, если значение выражения True value is false (обязательное) - возвращаемое значение, если значение выражения False | Значение | if(This('Шифр') = '', This('Статус'), This('Шифр')) | ||
| IsEndWith(str, subStr) | Проверяет, заканчивается ли указанная строка заданной подстрокой и возвращает True или False | str: строка (обязательное) - Исходная строка subStr: строка - искомая подстрока | bool | IsEndWith(This('Имя'),'.docx') | вернет 'True' если в значении This('Имя') строка заканчивается на .docx | ||
| IsNull(value) | Функция возвращает true, если у атрибута нет значения (пустая строка или null), и false, если атрибут содержит значение. | value (обязательный) - Атрибут или результат вычисления другой формулы | bool | IsNull(Parent('Ответственный')) | Вернет False, если поле "Ответственный" родительской папки текущего элемента заполнено и True, если нет. | ||
| IsNotNull(value) | Функция возвращает true, если у атрибута есть значение, и false, если атрибут не содержит значения (пустая строка или null) | value (обязательный) - Атрибут или результат вычисления другой формулы | bool | IsNotNull(Parent('Ответственный')) | Вернет True, если поле "Ответственный" родительской папки текущего элемента заполнено и False, если нет. | ||
| Текстовые | FileExt(file) | Возвращает расширение файла заданного элемента с атрибутом "Файл". При отсутствии заданного элемента, будет вычислено расширение файла текущего элемента. | file: объект (необязательный) - Элемент с атрибутом "Файл" | Строка | FileExt(Ref('Связь с замечанием')) | Будет вычислено расширение файла у элемента, к которому оставлено замечание. | |
| Format(format, value) | Возвращает строку, сформированную по заданному шаблону. | format: строка - Шаблон, по которому надо сформировать заданные значения value: число (обязательное) - число, которое надо привести к заданному формату | Строка | Format('{0:0000}',12) | Вернет строку '0012' Полный набор форматов соответствует работе функции String.Format() https://msdn.microsoft.com/ru-ru/library/0c899ak8(v=vs.110).aspx | ||
| ParseDateTime(dateTime) | Преобразует строку с указанием даты и времени в формат DateTime. Если указать только дату без времени, то значение времени будет установлено в 00:00:00. Если указать только время, без даты, то будет установлена текущая дата. | dateTime: строка (обязательный) - Строка в формате 'dd.mm.yy hh:mm:ss' | dateTime | ParseDateTime('20.05.2024 10:50') | Вернет 20.05.2024 10:50 в формате DateTime | ||
| ParseFloat(value) | Преобразует строку в число с плавающей запятой | value: строка (обязательный) - Строка в которой целая и дробная часть отделены точкой | Число с плавающей запятой | ParseFloat('12.05') | Вернет число 12.05 | ||
| ParseBool(value) | Преобразует строки 'true', 'false', '0' или 0 в булево значение | value (обязательный) - строка или число | bool | ParseBool('true') | Вернет True | ||
| Substring(str, startIndex, substrLngth) | Возвращает подстроку указанной длинны длины от начала исходной строки или от указанного номера символа. | str: строка (обязательный) - Исходная строка startIndex: число (необязательный) - номер символа, с котрого надо начинать отсчет подстроки substrLngth: число (обязательныйнеобязательный) - длина подстроки | Строка |
|
| ||
| Translit(str) | Функция заменяет русские буквы на английские. спец. символы (~ " # % & * : < > ? / \ { | }) на символ подчеркивания и возвращает результат*. | str: строка (обязательный) - исходная строка | Строка | Translit('В12345/555Д') | Вернет строку "V12345_555D" | ||
| TrimEnd(str, subStr) | Функция обрезает строку с конца, начиная с указанной подстроки и возвращает полученный результат. Подстрока ищется с конца исходной строки. Можно указать несколько вариантов подстрок, разделив их символом # | str: строка (обязательный) - исходная строка subStr: строка (обязательный) - искомая подстрока. | Строка | TrimEnd('тест_РД_ver01','_ver#_rev') | Вернет строку "тест_РД" | ||
| Математические | + | Возвращает результат конкатенации двух строк. | value1: строка (обязательное) - первое слагаемое value2: строка (обязательное) - второе слагаемое | строка | Parent('Проект','Шифр') + '-' + Parent('Марка') | Возвращает разделенные дефисом значение атрибута "Шифр" у первого родительского элемента с типом элемента "Проект", и значение атрибута "Шифр" родительского элемента. | |
математические операторы: + - * / | Возвращает результат выполнения соответсвующей соответствующей математической функции | value1: число (обязательное) - первое слагаемое value2: число (обязательное) - второе слагаемое | число | (This('Поле A') + This('Поле B') + This('Поле С')) * Parent('Комплект', 'Множитель') / 3 | Вернет результат сложения значений атрибутов "Поле A", "Поле В" и "Поле С" текущего элемента, умноженный на значение атрибута "Множитель" родительского элемента с типом элемента "Комплект" и поделенного на 3 | ||
| Count(listObject) | Возвращает количество элементов заданного списка | listObject: список (обязательный) - Список объектов | число | Count(Refs('Вложение рабочего процесса')) | Вернет кол-во связей с типом элемента 'Вложение рабочего процесса' рабочего процесса | ||
| Inc(parentContentTypeName, counterColumnName, incValue) | Увеличивает значение указанного атрибута на заданную величину и возвращает итоговое значение. | parentContentTypeName: строка (необязательный) - тип родительского элемента, с которого должно быть считано значение атрибута. Если тип не указан, будет взято значение атрибута текущего элемента. counterColumnName: строка (обязательный)- название атрибута incValue: число (обязательный) - на какую величину требуется увеличить значение атрибута | число | Inc('Раздел','Всего листов',1) | Возвращает значение столбца "Всего листов" у типа элемента "Раздел" увеличенного на 1. Данная функция служит для реализации счетчика, например, для автоматической нумерации каждого добавляемого в папку документа. | ||
| MaxPow(fieldbase, caml factor) | Возвращает максимальное значение из заданного списка значений | field: строка (обязательный) - атрибут элементов, значения которого будут составлять исходный список значений. Имя атрибута может быть записано в виде 'Имя списка.Атрибут' - тогда значение будет искаться в указанном списке. caml - дополнительное условие на языке CAML | максимальное значение из списка | Max('№ п/п внутри отдела',Format('<Where><And><Eq><FieldRef Name="VitroProjectNumber1"/><Value Type="Lookup">{0}</Value></Eq><Eq><FieldRef Name="VitroProjectDepartment"/><Value Type="Lookup">{1}</Value></Eq></And></Where>',This('Проект.№ проекта'),This('Подразделение.Название'))) | Caml запрос должен быть обрамлен в <Where></Where>, если сaml не указан, то вычисление идет по всем элементам. В примере значение вычисляется как: Type="Lookup" - указывает, что фильтрация идет по поля типа лукап. Внимание! В Caml запросе можно использовать только статические название полей. | ||
| Min(field, caml) | Возвращает минимальное значение из заданного списка значений | field: строка (обязательный) - атрибут элементов, значения которого будут составлять исходный список значений. Имя атрибута может быть записано в виде 'Имя списка.Атрибут' - тогда значение будет искаться в указанном списке. caml - дополниьтельное условие на языке CAML | максимальное значение из списка | см. Max | см. Max | ||
| Возводит в заданное число степень | base: число (обязательный) - основание степени factor: число (обязательный) - | Pow(base, factor) | Возводит в заданное число степень | base: число (обязательный) - основание степени factor: число (обязательный) - показатель степени | число | Pow(2, 3) | Вернет 23 = 8. |
| Sqrt(value) | Возвращает квадратный корень заданного числа | value: число (обязательный) | число | Sqrt(4) | Вернет 2 | ||
| Дата время | AddDay(dateField, incValue, format) | Возвращает дату, увеличенную на заданное количество дней. | dateField: dateTime (обязательное) - Дата-время incValue: число (обязательное) - кол-во дней, на которое надо увеличить дату-время. format: строка (необязательное) - формат, в котором надо вернуть дату-время. | dateTime | AddDay(This('Created'), 1, 'dd.MM.yyyy') | Возвращает дату создания данного элемента в формате dd.MM.yyyy, увеличенную на один день. | |
| AddMonth(dateField, incValue, format) | Возвращает дату, увеличенную на заданное количество месяцев. | dateField: dateTime (обязательное) - Дата-время incValue: число (обязательное) - кол-во месяцев, на которое надо увеличить дату-время. format: строка (необязательное) - формат, в котором надо вернуть дату-время. | dateTime | AddMonth(Parent('Раздел','Created'), 1, 'dd.MM.yyyy') | Возвращает дату создания первого родительского элемента с типом контента 'Раздел' в формате dd.MM.yyyy, увеличенную на 1 месяц. | ||
| AddYear(dateField, incValue, format) | Возвращает дату, увеличенную на заданное количество лет. | dateField: dateTime (обязательное) - Дата-время incValue: число (обязательное) - кол-во лет, на которое надо увеличить дату-время. format: строка (необязательное) - формат, в котором надо вернуть дату-время. | dateTime | AddYear(Parent('Created'), 2, 'dd.MM.yyyy') | Возвращает дату создания первого родительского элемента с типом контента 'Раздел' в формате dd.MM.yyyy, увеличенную на 2 года. | ||
| DateTime(dateTime, format) | Возвращает дату-время в заданном формате. Если не задано значение даты-времени, будет возвращено текущее значение. | dateTime: dateTime (необязательный) - Дата-время format: строка (необязательный) - Формат даты-времени | dateTime | DateTime(Parent('Время начала'), 'dd.MM.yyyy') | Вернет значение атрибута "Время начала" родительской папки элемента в указанном формате. | ||
| Contains(listObject, checkObject) | Проверяет, находится ли заданный объект в списке объектов и возвращает True или False | listObject: список (обязательный) - Список объектов checkObject: объект (обязательный) - искомый объект | bool | Contains(Parent(Ref('Вложение рабочего процесса'), 'Разрешен запуск процесса согласования'), This('Инициатор')) | Вернет True если перечень пользователей указанных в атрибуте 'Разрешен запуск процесса согласования' родительской папки вложения процесса содержит инициатора процесса, и False, если не содержит. | ||
| Прочие | Switch(checkKey, key1, value1, key2, value2, .., keyN, valueN) | Проверит совпадение заданного значения с ключом из списка "ключ, значение" и вернет соответствующее этому ключу значение. Как ключ, так и значение могут быть различных типов - строка, число, объект, bool. | checkKey (обязательно) - искомый ключ список пар key, value (обязательно) - список пар "ключ, значение", разделенных запятой. Пары разделяются запятыми. | Значение, соответствующее заданному ключу. | Switch(Field(Ref('Вложение процесса'), 'Статус документа.Название'), 'Размещено', Lookup('Статус процесса.Входной контроль'), 'Проверено', Lookup('Статус процесса.Согласующие'), 'Согласовано', Lookup('Статус процесса.Утверждающие')) | Здесь: Field(Ref('Вложение процесса'), 'Статус документа.Название') - искомый ключ: название статуса документа являющегося вложением в процесс. 'Размещено', Lookup('Статус процесса.Входной контроль') - первая пара "ключ, значение" 'Проверено', Lookup('Статус процесса.Согласующие') - вторая пара "ключ, значение" 'Согласовано', Lookup('Статус процесса.Утверждающие') - третья пара "ключ, значение" В зависимости от статуса документа вернет одно из возможных значение:
|
...