Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Тип функцииФункцияОписаниеВходные параметрыВыходные параметрыПримерРезультат вычисления примера
Математические+Возвращает результат конкатенации двух  строк.

value1:  строка (обязательное) - первое слагаемое

value2:  строка (обязательное) - второе слагаемое

строкаParent('Проект','Шифр')+'-'+Parent('Марка') Возвращает разделенные дефисом значение столбца (поля) "Шифр" у первого родительского элемента с типом элемента "Проект", и значение столбца (поля) "Шифр" родительского элемента.

математические операторы:

+

-

*

/

Возвращает результат выполнения соответсвующей математической функции

value1:  число (обязательное) - первое слагаемое

value2:  число (обязательное) - второе слагаемое


число(This('Поле A') + This('Поле B') + This('Поле С')) * Parent('Комплект', 'Множитель') / 3Вернет результат сложения значений атрибутов "Поле A", "Поле В" и "Поле С" текущего элемента, умноженный на значение атрибута "Множитель" родительского элемента с типом элемента "Комплект" и поделенного на 3
CountВозвращает количество элементов заданного спискаlistObject: список (обязательный) - Список объектовчислоCount(Refs('Вложение рабочего процесса'))Вернет кол-во связей с типом элемента 'Вложение рабочего процесса' рабочего процесса
IncУвеличивает значение указанного атрибута на заданную величину и возвращает итоговое значение.

parentContentTypeName: строка (необязательный) - тип родительского элемента, с которого должно быть считано значение атрибута. Если тип не указан, будет взято значение атрибута текущего элемента.

counterColumnName: строка - название атрибута

incValue - на какую величину требуется увеличить значение атрибута

числоInc('Раздел','Всего листов',1)

Возвращает значение столбца "Всего листов" у типа элемента "Раздел" увеличенного на 1.

Данная функция служит для реализации счетчика, например, для автоматической нумерации каждого добавляемого в папку документа.

MaxВозвращает максимальное значение из заданного списка значений

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>, если Caml не указан, то вычисление идет по всем элементам. 

В примере значение вычисляется как:
Max(«№ п/п внутри отдела») + 1
Где Max вычисляется с фильтром по выбранному подразделению и проекту. Вместо {0} и {1} подставляются значения:
This('Проект.№ проекта')
This('Подразделение.Название')

Type="Lookup" - указывает, что фильтрация идет по поля типа лукап.

Внимание! В Caml запросе можно использовать только статические название полей.   

MinВозвращает минимальное значение из заданного списка значений

field: строка (обязательный) - атрибут элементов, значения которого будут составлять исходный список значений. Имя атрибута может быть записано в виде 'Имя списка.Атрибут' - тогда значение будет искаться в указанном списке.

caml - дополниьтельное условие на языке CAML

максимальное значение из спискасм. Max

см. Max

PowВозводит в заданное число степень

base: число (обязательный) - основание степени

factor: число (обязательный) - показатель степени

числоPow(2, 3)Вернет 8.
SqrtВозвращает квадратный корень заданного числа

value: число (обязательный)

число

Sqrt(4)

Вернет 2
Дата время


AddDayВозвращает дату, увеличенную на заданное количество дней.

dateField: dateTime (обязательное) - Дата-время

incValue: число (обязательное) - кол-во дней, на которое надо увеличить дату-время.

format: строка (необязательное) - формат, в котором надо вернуть дату-время.

Дата-времяAddDay(This('Created'),1,'dd.MM.yyyy')Возвращает дату создания данного элемента в формате dd.MM.yyyy, увеличенную на один день.
AddMonthВозвращает дату, увеличенную на заданное количество месяцев.

dateField: dateTime (обязательное) - Дата-время

incValue: число (обязательное) - кол-во месяцев, на которое надо увеличить дату-время.

format: строка (необязательное) - формат, в котором надо вернуть дату-время.

Дата-времяAddMonth(Parent('Раздел','Created'),1,'dd.MM.yyyy')Возвращает дату создания первого родительского элемента с типом контента 'Раздел' в формате dd.MM.yyyy, увеличенную на один месяц.
AddYearВозвращает дату, увеличенную на заданное количество лет.

dateField: dateTime (обязательное) - Дата-время

incValue: число (обязательное) - кол-во лет, на которое надо увеличить дату-время.

format: строка (необязательное) - формат, в котором надо вернуть дату-время.

Дата-времяAddYear(Parent('Created'),2,'dd.MM.yyyy')Возвращает дату создания родительского элемента в формате dd.MM.yyyy, увеличенную на 2 года.
DateTimeВозвращает дату-время в заданном формате. Если не задано значение даты-времени, будет возвращено текущее значение. 
dateTime: dateTime (необязательный) - Дата-время
format: строка (необязательный) - Формат даты-времени
DateTimeDateTime(Parent('Время начала'),'dd.MM.yyyy')Вернет значение атрибута "Время начала" родительской папки элемента в указанном формате.
ContainsПроверяет, находится ли заданный объект в списке объектов и возвращает True или False listObject: список (обязательный) - Список объектов
checkObject: объект (обязательный) - искомый объект
boolContains(Parent(Ref('Вложение рабочего процесса'), 'Разрешен запуск процесса согласования'), This('Инициатор'))Вернет True если перечень пользователей указанных в атрибуте 'Разрешен запуск процесса согласования' родительской папки вложения процесса содержит инициатора процесса, и False, если не содержит.
Структура хранения данныхCfgВозвращает значение атрибута "Значение (строка)" типа элемента "Значение конфигурации строка" или атрибута "Значение (флаг)" типа элемента "Значение конфигурации строка" из списка "Конфигурация"path: строка (обязательный) - путь до ключа в виде кода каждой папки и самого элемента в пути до элемента разделенных точкойстрокаCfg('Receiver.IfcConverter.Rabbit.Connection')Вернет значение атрибута "Значение" элемента Connection находящегося в папках Receiver - IfcConverter - Rabbit списка "Конфигурация"
FieldВозвращает значение заданного атрибута у заданного элемента. При отсутствии заданного элемента, значение атрибута будет считано с текущего элемента.element: строка (необязательный) - Название или тип элемента
fieldName: строка (обязательный) - Название атрибута
checkParent: bool (необязательный) - Проверять родительский элемент
includeCurrent: bool (необязательный, используется только при checkParent=True)  - Проверять текущий элемент
Значение поляField(Parent('В процессе'), 'Название')Вернет значение атрибута "Название" родительской папки с типом элемента или названием "В процессе".
LookupВозвращает заданный элемент, заданого списка.listName: строка (обязательный) - Название списка
elementName: строка (обязательный) - Название элемента
Элемент спискаLookup('Статусы документов.Размещено')Вернет элемент с названием "Размещено" списка "Статусы документов"
ParentВернет первый объект или значение заданного поля объекта являющийся родительским по отношению к текущему, если объект удовлетворяет заданным условиям.

element: объект (необязательный) - элемент, для которого будет выполнен поиск родительского элемента.

name: строка (необязательный) - Название типа искомого элемента или название самого элемента

fieldName: строка (необязательный) - название атрибута родительского элемента, значение которого будет возвращено. Для лукап полей поддерживается точечная нотация.

checkCurrent: bool (необязательный) - проверять ли сам текущий элемент.

Элемент или значение заданного поля элемента
  1. Parent()
  2. Parent('В процессе')
  3. Parent(Ref('Связь с замечанием'), 'Проект', 'Ответственный')
  4. Parent('Проект', 'Ответственный.Должность.Название')
  5. Parent('Согласующие', true)
  1. Вернет первый родительский элемент текущего элемента
  2. Вернет первый родительский элемент с названием или типом элемента "В процессе"
  3. Вернет значение поля "Ответственный" первого родительский элемента с типом элемента "Проект" для документа связанного с текущим замечанием.
  4. Вернет название должности указанного в атрибуте "Ответственный" пользователя родительского элемента с названием или типом элемента"Проект"
  5. Вернет значение поля "Согласующие" первого родительского элемента у которого данное поле не пустое, начиная с самого текущего элемента. 
ТекстовыеСтроковые
FileExtВозвращает расширение файла заданного элемента с атрибутом "Файл". При отсутствии заданного элемента, будет вычислено расширение файла текущего элемента.file: объект (необязательный) - Элемент с атрибутом "Файл"СтрокаFileExt(Ref('Связь с замечанием'))Будет вычислено расширение файла у элемента, к которому оставлено замечание.
FormatВозвращает строку, сформированную по заданному шаблону.

format: строка - Шаблон, по которому надо сформировать заданные значения

value: число (обязательное) - число, которое надо привести к заданному формату

СтрокаFormat('{0:0000}',12)

Вернет строку '0012'

Полный набор форматов соответствует работе функции String.Format()  https://msdn.microsoft.com/ru-ru/library/0c899ak8(v=vs.110).aspx

ParseDateTimeПреобразует строку с указанием даты и времени в формат DateTime. Если  указать только дату без времени, то значение времени будет установлено в 00:00:00. Если указать только время, без даты, то будет установлена текущая дата.dateTime: строка (обязательный) - Строка в формате 'dd.mm.yy hh:mm:ss'DateTimeParseDateTime('20.05.2024 10:50')Вернет 20.05.2024 10:50 в формате DateTime
ParseFloatПреобразует строку в число с плавающей запятойvalue: строка (обязательный) - Строка в которой целая и дробная часть отделены точкойЧисло с плавающей запятойParseFloat('12.05')Вернет число 12.05
ParseBoolПреобразует строки 'true', 'false', '0' или 0 в булево значениеvalue (обязательный) - строка или числоboolParseBool('true')Вернет True
SubstringВозвращает подстроку указанной длинны от начала исходной строки или от указанного номера символа.

str: строка (обязательный) - Исходная строка

startIndex: число (необязательный) - номер символа, с котрого надо начинать отсчет подстроки, substrLngth: число (обязательный) - длина подстроки

Строка
  1. Substring('Анкор-МПРТ.03',5) 


  2. Substring('Анкор-МПРТ.03',6,4) 

  1. Вернет строку 'Анкор'
  2. Вернет строку 'МПРТ'
TranslitФункция заменяет русские буквы на английские. спец. символы (~ " # % & * : < > ? / \ { | }) на символ подчеркивания и возвращает результат*.

str: строка (обязательный) - исходная строка

СтрокаTranslit('В12345/555Д')

Вернет строку "V12345_555D"

TrimEndФункция обрезает строку с конца, начиная с указанной подстроки и возвращает полученный результат. Подстрока ищется с конца исходной строки. Можно указать несколько вариантов подстрок, разделив их символом #

str: строка (обязательный) - исходная строка

subStr: строка (обязательный) - искомая подстрока.

СтрокаTrimEnd('тест_РД_ver01','_ver#_rev')

Вернет строку "тест_РД"

Логические
ifПроверяет результат заданного логического выражения и в зависимости от него возвращает одно из двух значений

statement: bool - логическое выражение, результатом которого является True или False

value is true (обязательное) - возвращаемое значение, если значение выражения True

value is false (обязательное) - возвращаемое значение, если значение выражения False

Значение


IsEndWithПроверяет, заканчивается ли указанная строка заданной подстрокой и возвращает True или False

str: строка (обязательное) - Исходная строка

subStr: строка - искомая подстрока

boolIsEndWith(This('Имя'),'.docx')вернет 'True' если в значении This('Имя') строка заканчивается на .docx
IsNullФункция возвращает true, если у атрибута нет значения (пустая строка или null), и false, если атрибут содержит значение.value (обязательный) - Атрибут или результат вычисления другой формулыboolIsNull(Parent('Ответственный'))Вернет False, если поле "Ответственный" родительской папки текущего элемента заполнено и True, если нет. 
IsNotNullФункция возвращает true, если у атрибута есть значение, и false, если атрибут не содержит значения (пустая строка или null)value (обязательный) - Атрибут или результат вычисления другой формулыboolIsNotNull(Parent('Ответственный'))Вернет True, если поле "Ответственный" родительской папки текущего элемента заполнено и False, если нет. 
СвязиRefВозвращает первый элемент из списка связей элемента с заданным типом элемента связи.contentType: строка (обязательный) - Тип элемента связиЭлементRef('Связь с замечанием')Вернет первый элемент списка связей с типом элемента 'Связь с замечанием'
RefsВозвращает список связей элемента с заданным типом элемента связи.contentType: строка (обязательный) - Тип элемента связиСписок элементовRefs('Связь с замечанием')Вернет список связей с типом элемента 'Связь с замечанием'
ПрочиеSwitchПроверит совпадение заданного значения с  ключом из списка "ключ, значение" и вернет соответствующее этому ключу значение. Как ключ, так и значение могут быть различных типов - строка, число, объект, bool.

checkKey (обязательно) - искомый ключ

список пар key, value (обязательно) - список пар "ключ, значение", разделенных запятой. Пары разделяются запятыми. 

Значение, соответствующее заданному ключу.Switch(Field(Ref('Вложение процесса'), 'Статус документа.Название'), 'Размещено', Lookup('Статус процесса.Входной контроль'), 'Проверено', Lookup('Статус процесса.Согласующие'), 'Согласовано', Lookup('Статус процесса.Утверждающие'))

Здесь:

Field(Ref('Вложение процесса'), 'Статус документа.Название') - искомый ключ: название статуса документа являющегося вложением в процесс. 

'Размещено', Lookup('Статус процесса.Входной контроль') - первая пара "ключ, значение"

'Проверено', Lookup('Статус процесса.Согласующие') - вторая пара "ключ, значение"

'Согласовано', Lookup('Статус процесса.Утверждающие') - третья пара "ключ, значение"

В зависимости от статуса документа вернет одно из возможных значение:

  1. объект Lookup('Статус процесса.Входной контроль')
  2. объект Lookup('Статус процесса.Утверждающие')
  3. объект Lookup('Статус процесса.Утверждающие')

...