Как добавить формулу расчета?
Как добавить формулу расчета? Какие переменные и конструкции можно использовать в формулах?
Благодаря формулам расчета вы можете напрямую в карточке объекта или дела выполнять математические расчеты, например: рассчитать сумму госпошлины, общую сумму претензии или цену иска.
Вы можете создать отдельный элемент в справочнике Формулы расчета, ориентируясь на значения из полей карточки, и добавить его в соответствующие типы объектов и дел.
Добавление формулы
Чтобы добавить формулу:
- В разделе Администрирование выберите пункт Справочники, откроется список всех справочников.
- Выберите из списка справочник Формулы расчета.
- Нажмите кнопку Введите новое значение, отобразится строка для добавления новой формулы:
- Укажите название новой формулы — не более 1000 символов
- Внесите арифметическую структуру, которая будет рассчитывать данные — допускается ввод цифр, знаков операций . + - * / ( ), а также букв латинского и русского алфавита
- Формула будет сохранена автоматически.
Помните, что результатом расчета формулы всегда должно быть число.
Используемые переменные и конструкции
Для задания формул расчета допускаются:
- Число — вы можете использовать целые и дробные числа. Для обозначения дробной части числа не забудьте указать разделитель «.». Для дробных чисел отображается до 4 знаков после точки включительно.
- Переменная — переменной является тег, заключенный в фигурные скобки «{}»:
- Который указан в настройке строки блока
- Системный тег
- Дата — можно указывать значения полей с типом Дата и Дата и время.
- Выражение:
- A, -A, A+B, A-B, A*B, A/B, выражения со скобками
- Вместо A, B могут быть подставлены
- Числа
- Переменные
- Другое выражение, сформированное по указанным правилам
- Конструкция — название конструкции должно быть обязательно задано латинскими заглавными буквами
Условие IS_NULL
Также вы можете указать в конструкции формулы условие IS_NULL, которое позволяет настроить распознавание пустого поля (либо 0, либо пустое), в зависимости от выполняемых арифметических операций и операций сравнения:
- При добавлении условия IS_NULL в формулу, будет выполняться проверка значения в указанном поле:
- Если поле пустое, будет выдано значение true
- Если поле заполнено — false
- Если поле проверяется по условию IS_NULL, пустое поле не будет распознаваться как 0
- Пустое поле должно считаться заполненным значением 0 в следующих случаях:
- В арифметических операциях:
- Add = Operator("+")
- Subtract = Operator("-")
- Multiply = Operator("*")
- Divide = Operator("/")
- Modulo = Operator("%"), %
- Power = Operator("^")
- В логических операциях:
- Equal = Operator("=")
- NotEqual = Operator("<>")
- GreaterThan = Operator(">")
- LessThan = Operator("<")
- GreaterThanOrEqual = Operator(">=")
- LessThanOrEqual = Operator("<=")
- В конструкциях:
- SUM
- M_SUM
- M_MAX
- M_MIN
- M_AVERAGE
- В арифметических операциях:
- Условие IS_NULL проверяется для следующих типов полей:
- Гиперссылка
- Дата
- Дата и время
- Данные
- Справочник
- Текст
- Формула расчета
- Число
- Шаблон номера дела
- Текстовое расширяемое
- Объект-Дело
- Объект-Класс объектов
- Объект-Документ
- Объект-Участник
- Объект-Пользователь
Какие конструкции можно использовать:
- SUM ({значение1}, {значение2},..):
- Возвращает сумму числовых значений, указанных в скобках
- Значения могут быть числами, либо выражениями
- IF (логическое выражение, значение 1, значение 2):
- Eсли логическое выражение верно, возвращается значение 1, иначе —значение 2
- Значения могут быть числами, либо выражениями
- AND (логическое выражение 1, логическое выражение 2,..):
- Возвращает true, если истинны все указанные в скобках логические выражения
- Правила использования:
- Может быть использовано как подстановка в любое логическое выражение
- Всегда должно использоваться совместно с IF (подстановка в логическое выражение)
- OR (логическое выражение 1, логическое выражение 2,..):
- Возвращает true, если истинно хотя бы одно указанное в скобках логическое выражение
- Правила использования:
- Может быть использовано как подстановка в любое логическое выражение
- Всегда должно использоваться совместно с IF (подстановка в логическое выражение.
- M_SUM (значение 1):
- Возвращает сумму числовых значений одного поля во всех мультиблоках и мультистроках в рамках дела
- В качестве значения подставляется тег поля (при этом поле, указанное в скобках, должно быть в формате Число)
- M_MAX (значение 1):
- Возвращает максимум из числовых значений одного поля во всех мультиблоках и мультистроках в рамках дела
- В качестве значения подставляется тег поля (при этом поле, указанное в скобках, должно быть в формате Число)
- M_MIN (значение 1):
- Возвращает минимум из числовых значений одного поля во всех мультиблоках и мультистроках в рамках дела
- В качестве значения подставляется тег поля (при этом поле, указанное в скобках, должно быть в формате Число)
- M_AVERAGE (значение 1):
- Возвращает среднее значение из числовых значений одного поля во всех мультиблоках и мультистроках в рамках дела
- В качестве значения подставляется тег поля (при этом поле, указанное в скобках, должно быть в формате Число)
Словарь данных представляет собой логическое выражение и имеет формат СxD.
Правила использования:
- Вместо C и D могут быть подставлены числа, либо переменные полей с типом Число или с типом Справочник.
- Вместо x могут быть подставлены знаки сравнения <, >, <=, >=, =, <>.
- Для переменных полей типа Справочник доступно только сравнение на точное совпадение с введенным текстовым значением (значение для сравнения вводится в кавычках).
Функция DATE
При настройке формулы расчета в справочнике вы можете указать в конструкции формулы функцию DATE для указания даты или даты и времени:
- С логическими выражениями:
- IF
- AND
- OR
- С операторами:
- Equal = Operator("=")
- NotEqual = Operator("<>")
- GreaterThan = Operator(">")
- LessThan = Operator("<")
- GreaterThanOrEqual = Operator(">=")
- LessThanOrEqual = Operator("<=")
- С условием IS_NULL.
Использование функции DATE с другими выражениями и операторами недоступно.
В функции DATE для разграничения полей с типом Дата и Дата и время предусмотрены следующие маски ввода:
- Для поля с типом Дата — yyyy-MM-dd.
- Для поля с типом Дата и время — yyyy-MM-ddTHH:MM:SS.FFFZ, где время указывается в UTC0.
При использовании функции DATE в операциях сравнения:
- Если поле с датой не заполнено и используется в формуле, формула вернет значение ложь
- Если поля с типом Дата и Дата и время сравнивается со значением в форматах, отличных от дата/дата и время, расчет формулы завершится с ошибкой
- Результатом формулы с операцией сравнения даты/даты и времени может являться только число.
Примеры сравнения полей с типом Дата и Дата и время с датой и датой и временем в формулах:
- IF ({date} > DATE("2024-12-01"), 1, 0)
- IF ({date_time} > DATE("2020-10-07T13:16:00.563Z"), 1, 0)