Формулы в полях
Обратите внимание: функционал по применению формул на заключительном этапе реализации, поэтому пока не доступен в системе.
Формулы позволяют автоматически рассчитывать значения полей на основе данных из других полей той же записи. Это исключает ошибки ручного ввода, автоматизирует процессы и поддерживает данные в актуальном состоянии.
Основной принцип: вы задаете выражение (формулу) в настройках поля, и система вычисляет его результат каждый раз при создании или изменении записи. Полученное значение сохраняется в поле и не может быть изменено вручную. Недопустимы формулы, где поля ссылаются друг на друга (A → B → A). Система выдаст ошибку. При возникновении ошибки (деление на 0, некорректная дата и т.д.) формула вернет пустое значение (NULL).
Для получения доступа к данному функционалу вам необходимо перейти в структуру каталога и приступить к настройке полей. В свойствах нужного вам поля указать параметр значения Формула.
Интерфейс редактора формул
Редактор помогает быстро и правильно создавать выражения.

Панель вставки элементов:
Поле: Быстрое добавление системного имени поля из текущего каталога (вставляет {Имя_Поля}).
Функция: Полный список доступных функций по категориям.
Операторы: Математические и логические операторы, скобки, константы.
Область написания формулы: Основное поле для ввода выражения (например, {Количество} * {Цена}).
Область подсказки: Динамическая справка по синтаксису выбранной функции.
Синтаксис формул
Формула — выражение, состоящее из констант, ссылок на поля, операторов и функций. Система учитывает типы данных и автоматически приводит результат вычисления к типу поля, в котором задана формула.
Типы данных и константы
Тип
Пример
Примечание
Число
1, -5.75, 3.14
Десятичный разделитель — точка.
Строка
'Текст', "Текст"
Можно использовать одинарные или двойные кавычки.
Булево значение
true, false
Логические константы.
Дата
DATE(2024, 12, 31)
Создается с помощью функции DATE.
Массив
[1, 2, 3], ["Да", "Нет"]
Набор значений в квадратных скобках.
Ссылка на поле
Для использования значения поля в формуле укажите его системное имя в фигурных скобках: {FIELD_NAME}.
Значения по умолчанию: Если поле, на которое ссылается формула, пустое, оно принимает значение по умолчанию, что может повлиять на результат.
Тип поля
Тип в формуле
Значение по умолчанию
Текст, Текстовый редактор
Строка
"" (пустая строка)
Число, Дата
Число, Дата
NULL (пустое значение)
Прогресс, Оценка звездами
Число
0
Переключатель
Булево значение
false
Статус, Набор галочек
Массив строк
[] (пустой массив)
Важно: Если в процессе вычисления встречается NULL (пустое значение), результат всей формулы также станет пустым, за исключением функций CONCAT и JOIN, которые преобразуют NULL в пустую строку.
Операторы
Арифметические операторы
Оператор
Пример
Результат
Описание
+
1 + 2
3
Сложение чисел или конкатенация строк.
-
5 - 2
3
Вычитание.
*
3 * 5
15
Умножение.
/
10 / 2
5
Деление.
%
12 % 7
5
Остаток от деления.
^
12 ^ 2
144
Возведение в степень.
Строковый оператор
Оператор
Пример
Результат
Описание
&
5 & "2"
"52"
Склеивание (конкатенация) строк.
Логические операторы
Оператор
Пример
Результат
Описание
>
1 > 2
false
Прямое сравнение: Число, Строка, Дата, Булевый тип. Для остальных типов: преобразуются в строку и сравниваются.
<
1 < 2
true
Прямое сравнение: Число, Строка, Дата, Булевый тип. Для остальных типов: преобразуются в строку и сравниваются.
>=
1 >= 2
false
Прямое сравнение: Число, Строка, Дата, Булевый тип. Для остальных типов: преобразуются в строку и сравниваются.
<=
1 <= 2
true
Прямое сравнение: Число, Строка, Дата, Булевый тип. Для остальных типов: преобразуются в строку и сравниваются.
==
1 == 2
false
Прямое сравнение: Число, Строка, Дата, Булевый тип. Для остальных типов: преобразуются в строку и сравниваются.
!=
1 != 2
true
Прямое сравнение: Число, Строка, Дата, Булевый тип. Для остальных типов: преобразуются в строку и сравниваются.
!
!(1 > 2)
true
Применяется к: Булевому значению (чаще всего является результатом выражения).
&&
(1 > 2) && (3 > 2)
false
Работает с: Булевыми значениями (результатами условий).
||
(1 > 2) || (3 > 2)
true
Работает с: Булевыми значениями (результатами условий).
Функции
Строковые
Функция
Описание
Пример
CONCAT(строка1, строка2, ...)
Склеивает все аргументы в одну строку.
CONCAT("Итог: ", {Сумма})
JOIN([массив], разделитель)
Объединяет элементы массива в строку через разделитель.
JOIN({Теги}, ", ")
TRIM(направление, символы, строка)
Удаляет указанные символы с начала/конца строки. Направление: "leading", "trailing", "both".
TRIM("both", " ", " текст ")
SEARCH(строка, подстрока)
Возвращает позицию первого вхождения подстроки (с 0) или -1.
SEARCH("привет", "иве") → 2
REPLACE(строка, что_менять, на_что)
Заменяет все вхождения подстроки.
REPLACE("a-b-c", "-", "/") → "a/b/c"
LOWER(строка), UPPER(строка)
Приводит строку к нижнему/верхнему регистру.
UPPER("текст") → "ТЕКСТ"
LEN(строка)
Возвращает длину строки.
LEN("abc") → 3
SUBSTRING(строка, начало, ?конец)
Возвращает часть строки. Индексы с 0.
SUBSTRING("abcdef", 1, 4) → "bcd"
TOSTRING(значение)
Преобразует любое значение в строку.
TOSTRING(123) → "123"
Числовые
Функция
Описание
Пример
ABS(число)
Модуль числа.
ABS(-5) → 5
ROUND(число, ?знаков)
Округление до ближайшего.
ROUND(5.67, 1) → 5.7
FLOOR(число, ?знаков), CEIL(...)
Округление вниз/вверх.
FLOOR(5.9) → 5
SUM(число1, число2, ...), AVERAGE(...), MIN(...), MAX(...)
Сумма, среднее, минимум, максимум.
SUM(1, 2, {Цена})
MOD(делимое, делитель)
Остаток от деления.
MOD(10, 3) → 1
POWER(основание, степень)
Возведение в степень.
POWER(3, 2) → 9
SQRT(число)
Квадратный корень.
SQRT(16) → 4
RANDOM()
Случайное число от 0 до 1.
RANDOM()
FIXED(число, ?знаков)
Форматирует число в строку с разделителями.
FIXED(1000.5, 1) → "1 000,5"
TONUMBER(значение)
Преобразует значение в число.
TONUMBER("123") → 123
Даты
Функция
Описание
Пример
DATE(год, месяц, день, ?час, ?мин, ?сек)
Создает дату.
DATE(2024, 12, 31)
DATEADD(дата, количество, единица)
Добавляет интервал к дате. Единицы: "d" (дни), "mon" (месяцы), "y" (годы) и др.
DATEADD({ДатаСтарта}, 7, "d")
DATEDIFF(дата1, дата2, единица)
Разница между датами.
DATEDIFF({Конец}, {Начало}, "d")
DAY(дата), MONTH(дата), YEAR(дата)
Извлекает компонент даты.
MONTH({Дата})
WEEKDAY(дата)
День недели (1-понедельник).
WEEKDAY({Дата})
STARTOF(дата, единица), ENDOF(...)
Сдвиг к началу/концу периода (дня, месяца, года).
STARTOF({Дата}, "mon")
NOW()
Текущие дата и время.
NOW()
Логические
Функция
Описание
Пример
IF(условие, значение_истина, значение_ложь)
Возвращает одно из двух значений в зависимости от условия.
IF({Сумма} > 1000, "Крупный", "Мелкий")
ISEMPTY(значение)
Проверяет, пустое ли значение (или является ошибкой).
ISEMPTY({Цена})
Массивы
(Для полей Статус и Набор галочек часто требуется параметр attr для указания, что использовать: "id" или "name").
Функция
Описание
Пример
COUNT(массив)
Количество элементов в массиве.
COUNT({Статус})
INDEX(массив, индекс, ?attr)
Элемент массива по индексу (с 0).
INDEX({Чекбоксы}, 0, "name")
ID(массив), NAME(массив)
Массив из ID или названий элементов.
NAME({Статус})
FIND(массив, элемент, ?attr)
Ищет элемент в массиве, возвращает его.
FIND({Статус}, "Готово", "name")
Контекстные
Функция
Описание
RECORDID()
Возвращает внутренний ID (dbid) текущей записи.
CATALOGID()
Возвращает ID текущего каталога.
Пример использования формул
Автоматизируйте расчет стоимости для клиентов с помощью формул даже на nocode-решении. Система будет автоматически вычислять итоговые суммы, учитывая скидки и налоги.
Создайте каталог "Калькулятор коммерческих предложений" с рекомендуемыми полями:
Стоимость без скидки
Число
{Количество} * {Цена за единицу}
Сумма скидки
Число
{Стоимость без скидки} * {Скидка %} / 100
Стоимость со скидкой
Число
{Стоимость без скидки} - {Сумма скидки}
Сумма НДС
Число
{Стоимость со скидкой} * {НДС} / 100
Итоговая сумма
Число
{Стоимость со скидкой} + {Сумма НДС}
Добавьте формулы в поля, которые будут рассчитываться. В нашем примере будут рассчитываться следующие поля: Стоимость без скидки, Сумма скидки, Стоимость со скидкой, Сумма НДС, Итоговая сумма.
Теперь при создании нового коммерческого предложения после заполнения полей система будет рассчитывать итоговые значения по заданным формулам в режиме реального времени.

Last updated
