Вычисления — универсальный механизм системы, который получает значение по заданной формуле в контексте определённого элемента Vitro-CAD. Для выполнения вычисления нужны два компонента:
This().Формулы вычисляет модуль Calc на основе движка выражений NCalc, дополненного функциями системы (This, Field, Parent, GetList, Format и др.).
Вычисления — основа автоматизации и валидаторов. Формулами задаются условия правил автоматизации и параметры действий (значения атрибутов, исполнители, получатели оповещений, исходные элементы, адреса внешних сервисов), а в валидаторах — условия срабатывания и условия блокировки. Поэтому ошибка в формуле может остановить процесс согласования или заблокировать сохранение элементов — проверяйте формулы до внедрения (см. Отладка формул). |
| Статья | Содержание |
|---|---|
| Область применения вычислений | Где в системе применяются вычисления: вычисляемые поля, счётчики, синхронизация атрибутов, утилита пересчёта CalcField, автоматизация, валидаторы и др. |
| Синтаксис формул | Общие требования к формулам: из чего состоит формула, операторы, кавычки и экранирование, типы значений, обработка ошибок, проверка перед сохранением. |
| Функции и операторы для формул вычисления | Справочник всех функций и операторов на одной странице: указатель по группам, описание параметров, примеры. |
| Примеры формул | Готовые формулы для типовых задач — каждый пример на отдельной странице, с указателем по группам. |
| Отладка формул | Проверка формул через REST API: расширение Talend API Tester (с токеном из cookie открытой сессии) или консоль браузера; разбор результатов и ошибок. |
Особенности, которые важно учитывать:
Copy (копирование элемента) и Inc (увеличение счётчика) — выполняют действие при каждом вычислении.User(), IsUserAdmin() и др.).