Versions Compared

Key

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

...

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

Атрибуты элемента



Author([context])Возвращает автора элемента автора (атрибут "Создал") элемента [context] или текущего элемента вычисления

context type: Элемент.
default: Текущий элемент вычисления

Элемент из списка "Пользователи"

Author()



Field(Author(), 'Почта')

Возвращает элемент из справочника "Пользователи" автора (атрибут "Создал") элемента, для которого выполняется вычисление

Возвращает адрес почты автора (атрибут "Создал") элемента, для которого выполняется вычисление

 Id([context])Возвращает guid (уникальный идентификатор в системе) элемента [context] или текущего элемента вычисления

context type: Элемент.
default: Текущий элемент вычисления

 Guid

 Id()

 Возвращает guid (уникальный идентификатор в системе) элемента, для которого выполняется вычисление.

Пример: "6938dc08-9410-5083-8131-ecac23e5e3d1" - строковое представление уникального идентификатора в системе

  

 

 

 

 

Дата\время




AddDay([date], [incStepValue], [format])Возвращает дату [date], увеличенную на заданное количество дней [incStepValue]. Если указан параметр [format], то возвращает дату в виде строки

date type: Дата-время/строка.
default: Текущая дата-время (UTC)

incStepValue type: число.
default: 0 (может быть отрицательным)

format type: строка. default: ""

Дата-время/строка

AddDay(This('Created'), 1, 'dd.MM.yyyy')



AddDay(-10, 'dd.MM.yyyy')

Дата создания данного элемента, увеличенная на один день, в формате dd.MM.yyyy


Текущая дата-время минус 10 дней, в формате dd.MM.yyyy 


AddMonth([date], [incStepValue], [format])Возвращает дату [date], увеличенную на заданное количество месяцев [incStepValue]. Если указан параметр [format], то возвращает дату в виде строки

date type: Дата-время/строка.
default: Текущая дата-время (UTC)

incStepValue type: число.
default: 0 (может быть отрицательным)

format type: строка. default: ""

Дата-время/строка

AddMonth(Field(Parent('Раздел'),'Created'), 3)



AddMonth(3, 'MMMM')

Дата создания родительского элемента с типом контента 'Раздел', увеличенная на 3 месяца


Название месяца через 3 месяца от текущей даты

AddYear([date], [incStepValue], [format])Возвращает дату [date], увеличенную на заданное количество месяцев [incStepValue]. Если указан параметр [format], то возвращает дату в виде строки

date type: Дата-время/строка.
default: Текущая дата-время (UTC)

incStepValue type: число.
default: 0 (может быть отрицательным)

format type: строка. default: ""

Дата-время/строкаAddYear(Field(Parent(), 'Created'), 2, 'yyyy')Дата создания родительской папки, увеличенная на 2 года, в формате год
Date([dateTime], [format])Возвращает дату-время [date] в заданном формате [format], но без учета времени. Если не задано значение даты-времени, будет возвращено текущее значение

date type: Дата-время/строка.
default: Текущая дата-время (UTC)

formattype: строка. default: ""

Дата-время/строкаDate()

Вернет значение в формате Дата-время, но без учета значения времени (часы/минуты/секунды) текущих суток.

Пример: "2025-01-31T00:00:00Z" - строковое представление типа Дата-время

DateTime([dateTime], [format])Возвращает дату-время [date] в заданном формате [format]. Если не задано значение даты-времени, будет возвращено текущее значение

date type: Дата-время/строка.
default: Текущая дата-время (UTC)

formattype: строка. default: ""

Дата-время/строкаDateTime(Field(Parent(), 'Время начала'), 'dd.MM.yyyy')Вернет значение атрибута "Время начала" родительской папки элемента в указанном формате.
КонфигурацияCfg(key)Возвращает значение элемента из списка "Конфигурация" по ключуkey: значение атрибута "Системное имя" элемента из списка "Конфигурация"Возвращаемое значение соответствует типу  элемента, найденного по ключу (строка, число, флаг, картинка)Cfg('Site.PortalUrl')Вернет значение элемента конфигурации по пути: "Общие настройки" → "Адрес портала" 
Организационно-штатная структураUser()Возвращает значение элемента из списка "Пользователи" для текущего пользователя, под контекстом которого выполняется вычисление ОтсутствуютЭлемент из списка "Пользователи"Field(User(), 'Почта')Возвращает адрес почты текущего пользователя в системе, под контекстом которого выполняется вычисление
Структура хранения данныхField(element, fieldName, checkParent, includeCurrent)Возвращает значение заданного атрибута у заданного элемента. При отсутствии заданного элемента, значение атрибута будет считано с текущего элементаelement: строка (необязательный) - Название или тип элемента
fieldName: строка (обязательный) - Название атрибута
checkParent: bool (необязательный) - Проверять родительский элемент
includeCurrent: bool (необязательный, используется только при checkParent=True)  - Проверять текущий элемент
Значение поляField(Parent('В процессе'), 'Название')Вернет значение атрибута "Название" родительской папки с типом элемента или названием "В процессе"
Lookup(listName.elementName)Возвращает заданный элемент, заданного списка.listName: строка (обязательный) - Название списка
elementName: строка (обязательный) - Название элемента
Элемент спискаLookup('Статусы документов.Размещено')Вернет элемент с названием "Размещено" списка "Статусы документов"
Parent(element, name, includeCurrent)Вернет первый объект удовлетворяющий заданным условиям, являющийся родительским по отношению к текущему или заданному. 

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

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

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

Элемент или значение заданного поля элемента
  1. Parent()
  2. Parent('В процессе')
  3. Parent(Ref('Связь с замечанием'), 'Проект')
  4. Parent('Стадия', true)
  1. Вернет первый родительский элемент текущего элемента
  2. Вернет первый родительский элемент с названием или типом элемента "В процессе"
  3. Вернет первый родительский элемента с типом элемента "Проект" для документа связанного с текущим замечанием.
  4. Вернет элемент первый элемент с типом элемента "Стадия" начиная с самого текущего элемента. 
Связи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('Шифр'))

Проверит заполнение атрибута "Шифр" и, если этот атрибут пустой, то вернет значение атрибута "Статус", а если "Шифр" заполнен, то вернет его значение

statement_1 || statement_2Логическое "ИЛИ"  - проверит значение обоих выражений и вернет True, если хотя-бы одно из них является верным. 

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

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

bool

Field(Ref('Вложение процесса'), 'Статус документа.Название') == 'Размещено' || Field(Ref('Вложение процесса'), 'Статус документа.Название') == 'На корректировке'

Вернет True если значением атрибута "Статус документа" вложения процесса является "Размещено" или "На корректировке" и False, если нет. 

statement_1 && statement_2
Логическое "И"  - проверит значение обоих выражений и вернет True, если оба из них являются верными и False, если хотя-бы одно неверно. 

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

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

 

boolThis('Статус.Название') == 'Выполняется' && IsNotNull(This('Ответ'))

Вернет True, если значение атрибута "Статус" текущего  элемента - "Выполняется" и значение атрибута "Ответ" не является пустым и False если какое-то из этих условий не выполнено. 

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

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

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

boolIsEndWith(This('Имя'),'.docx')Вернет 'True' если в значении This('Имя') строка заканчивается на .docx
IsNull(value)Функция возвращает true, если у атрибута нет значения (пустая строка или null), и false, если атрибут содержит значениеvalue (обязательный) - Атрибут или результат вычисления другой формулыboolIsNull(Field(Parent(), 'Ответственный'))Вернет False, если поле "Ответственный" родительской папки текущего элемента заполнено и True, если нет. 
IsNotNull(value)Функция возвращает true, если у атрибута есть значение, и false, если атрибут не содержит значения (пустая строка или null)value (обязательный) - Атрибут или результат вычисления другой формулыboolIsNotNull(Field(Parent(), 'Ответственный'))Вернет 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('Статус процесса.Утверждающие') - третья пара "ключ, значение"

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

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

Возвращает расширение из атрибута "Название" элемента [context] или текущего элемента вычисления. Если расширения не найдено, то функция вернет пустую строку.
Примечание: расширение возвращается вместе с символом точки

context type: Элемент.
default: Текущий элемент вычисления

строка

FileExt()


FileExt(Ref('Связь с замечанием'))

Вернет расширение текущего элемента вычисления


Будет вычислено расширение элемента, к которому оставлено замечание

Format(formatString, [value1, value2,...,valueN])Возвращает строку formatString, с добавлением параметров [value1, value2,...,valueN] в места подстановки. Чаще всего используется как более удобный вариант конкатенации строк

formatString type: строка
[value1, value2,...,valueN]: type: объект
З
начения подстановки в строку форматирования. Типом подстановки может быть не только строка, но и, например, число.

строка

Format('Замечание_{0}_{1}', Field(Ref('Связь с замечанием'), 'Название'), This('ИД'))


Format('{0:0000}', 12)

Добавление имени документа (текущего) и атрибута ИД в места подстановки {0} и {1} строки форматирования 'Замечание_{0}_{1}'


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

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

IndexOf(str, value, [occurrence])Возвращает индекс (позицию) строки value в строке str, начиная с вхождения [occurrence]

formatString type: строка

value  type: строка

occurrence type: число.
default: 0

число

Format('{0} {1}.{2}.', Substring(This('Название'), 0, IndexOf(Field('Название'), ' ')), Substring(Field('Название'), IndexOf(Field('Название'), ' ', 0) + 1, 1), Substring(Field('Название'), IndexOf(Field('Название'), ' ', 1) + 1, 1))

ФИО текущего пользователя в сокращенном варианте (Сидоров А.С.)

Join()материал дополняется

 


 


Split()материал дополняется

 


 


Str()материал дополняется

 


 


Substring(str, startIndex, substrLength)Возвращает подстроку указанной длины от начала исходной строки или от указанного номера символа

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

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

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

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

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

  1. Вернет строку 'Анкор'
  2. Вернет строку 'МПРТ'
Translit(str)*Функция заменяет русские буквы на английские и возвращает результат*

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

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

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

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

str type: строка

subStr  type: строка

строка

TrimEnd('тест_РД_ver01','_ver#_rev')


TrimEnd(This('Название'), FileExt())


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


Убирает расширение у текущего элемента

+Возвращает результат конкатенации двух  строк

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

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

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

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

+

-

*

/

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

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

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

 

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

Вернет кол-во связей с типом элемента 'Вложение рабочего процесса' рабочего процесса
Inc(list.fieldName.id, step)Увеличивает значение указанного атрибута на заданную величину и возвращает итоговое значение

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

fieldName: строка (обязательный)- название атрибута

id: число (обязательный) - порядковый номер элемента из списка "Счетчики"

step: число (необязательный) - значение, на которое нужно увеличить текущее значение.

числоInc('Счетчики.Счетчик.2', 3)

Возвращает значение атрибута "Счетчик" элемента с ИД=2 из  списка "Счетчики" увеличенного на 3.

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

Pow(base, factor)Возводит в заданное число степень

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

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

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

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

число

Sqrt(4)

Вернет 2
Преобразование типов данныхParseDateTime(dateTime)Преобразует строку с указанием даты и времени в формат 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)Преобразует строку в число с плавающей запятойvalue: строка (обязательный) - Строка в которой целая и дробная часть отделены точкойЧисло с плавающей запятойParseFloat('12,05')Вернет число 12.05
ParseBool(value)Преобразует строки 'true', 'false', '0' или 0 в булево значениеvalue (обязательный) - строка или числоbool
  1. ParseBool('true')
  2. ParseBool('false')
  3. ParseBool('0')
  1. Вернет True
  2. Вернет False
  3. Вернет False
Работа со спискамиContains(listObject, checkObject)Проверяет, находится ли заданный объект в списке объектов и возвращает True или False listObject: список (обязательный) - Список объектов
checkObject: объект (обязательный) - искомый объект
boolContains(Field(Parent(Ref('Вложение рабочего процесса')), 'Разрешен запуск процесса согласования')), This('Инициатор'))Вернет True если перечень пользователей указанных в атрибуте 'Разрешен запуск процесса согласования' родительской папки вложения процесса содержит инициатора процесса, и False, если не содержит.

...