Войти

Вычислимые поля

Вычислимое поле не заполняется вручную — его значение считает сервер OkTable по формуле из других полей записи. Пример: «Окончание» = «Дата и время» + «Длительность».

Включение

В дизайнере таблицы создайте обычное поле (например, «Дата и время»), включите переключатель Вычислимое и введите формулу. Тип поля — тип результата: форматирование, валидация и отображение работают как у обычного поля этого типа.

Значение пересчитывается при каждом сохранении записи (включая офлайн-правки и API). Изменить его напрямую нельзя — поле доступно только для чтения. Кнопка «Обновить» рядом с полем пересчитывает его на текущий момент.

Формулы

Ссылки на поля:

Арифметика учитывает типы:

Выражение Результат
«Дата и время» + Длительность дата-время, сдвинутое на минуты
Дата − Дата длительность в минутах
Длительность + Длительность длительность
число + число, строки + строки обычная арифметика и склейка

Длительность хранится в минутах: 90 — это «1 ч 30 мин». Вводить можно «90», «1:30», «1ч30».

Операторы: + − * / %, сравнения, и/или/не (&& || !), тернарник условие ? а : б, let:

let база = Цена * Кол; база > 10000 ? база * 0.9 : база

Функции: num, str, round(x, знаков), floor, ceil, abs, min, max, len, upper, lower, contains, days, hours, minutes, date(дата-время), time(дата-время), now(), today().

Даты и время хранятся как строки вида 2026-09-06, 14:30, 2026-09-06T14:30 — сравнения < и > работают напрямую. now() и today() фиксируются в момент сохранения записи.

Связанные записи

Через точку можно обращаться к полям связанных записей и агрегировать их:

sum(Детали.Сумма)
avg(Детали.Часы)
count(Детали)

Значение агрегата запоминается при сохранении записи. Если связанные записи изменились — пересохраните запись или нажмите «Обновить» у поля.

Ошибки

Если формула не может посчитаться (пустой источник, несовместимые типы), поле подсвечивается красным, а под ним выводится причина — исправьте исходные данные или формулу. Остальные поля записи не затрагиваются.

Ограничения