Назначение

Вычисления — универсальный механизм системы, который получает значение по заданной формуле в контексте определённого элемента Vitro-CAD. Для выполнения вычисления нужны два компонента:

  1. Текущий элемент (контекст) — объект, для которого вычисляется формула: документ, папка, процесс, задача и т.д. В формуле к нему обращаются функцией This().
  2. Формула — текстовое выражение из функций, операторов и констант. Результатом может быть строка, число, дата, логическое значение, элемент или список элементов.

Формулы вычисляет модуль Calc на основе движка выражений NCalc, дополненного функциями системы (This, Field, Parent, GetList, Format и др.).

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

Структура раздела

СтатьяСодержание
Область применения вычисленийГде в системе применяются вычисления: вычисляемые поля, счётчики, синхронизация атрибутов, утилита пересчёта CalcField, автоматизация, валидаторы и др.
Синтаксис формулОбщие требования к формулам: из чего состоит формула, операторы, кавычки и экранирование, типы значений, обработка ошибок, проверка перед сохранением.
Функции и операторы для формул вычисленияСправочник всех функций и операторов на одной странице: указатель по группам, описание параметров, примеры.
Примеры формулГотовые формулы для типовых задач — каждый пример на отдельной странице, с указателем по группам.
Отладка формулПроверка формул через REST API: расширение Talend API Tester (с токеном из cookie открытой сессии) или консоль браузера; разбор результатов и ошибок.

Как выполняется вычисление

  1. Модуль, использующий вычисления (вычисляемое поле, правило автоматизации, валидатор и т.д.), передаёт в Calc элемент-контекст и текст формулы.
  2. Формула разбирается движком; функции вычисляются в контексте элемента, вложенные функции — изнутри наружу.
  3. Результат возвращается вызывающему модулю: записывается в атрибут, используется как условие, как список получателей и т.п.

Особенности, которые важно учитывать:

Статьи раздела