Общие сведения
Надёжность и безопасность
Покупка лицензии
Начало работы
Роли в системе
Проекты
Концепции
Компоненты
Инструкции
Задачи
Финансы
Ресурсы
Таймшиты
Клиенты
Вики
Затраты
Отчёты и аналитика
FAQ
Типы отчётов
Тип отчёта «Акты»
Тип отчёта «Баланс отсутствий»
Тип отчёта «Бронирование»
Тип отчёта «Биллинг»
Тип отчёта «Версии проектов»
Тип отчёта «Задачи»
Тип отчёта «Задачи проектов»
Тип отчёта «Затраты»
Тип отчёта «Заявки на затраты»
Тип отчёта «Заявки на отсутствия»
Тип отчёта «История ставок пользователей»
Тип отчёта «Запросы ресурсов»
Тип отчёта «Навыки пользователей»
Тип отчёта «Пользователи»
Тип отчёта «Проводки»
Тип отчёта «Ресурсный план»
Тип отчёта «Ресурсный план (по версиям)»
Тип отчёта «Проекты»
Тип отчёта «Сертификаты пользователей»
Тип отчёта «Счета»
Тип отчёта «Счета (строки)»
Тип отчёта «Таймшиты»
Тип отчёта «Таймшиты детально»
Тип отчёта «Финансы»
Тип отчёта «Структура работ»
Тип отчёта «Центры затрат проектов»
Тип отчёта «Задания воркфлоу»
Тип отчета Клиенты
Тип отчета «Контакты»
Тип отчёта «Сделки»
Тип отчёта «История состояний сделок»
Тип отчёта «Взаимодействия»
Использование отчётов
Группировка данных источника
Группировка данных в отчёте
Типы виджетов
Общие отчёты и шаблоны
Настройка отчёта
Экспорт отчётов
Пользовательские настройки отчёта
Вычисляемые поля
Особые колонки отчётов с временными рядами
Использование панелей мониторинга
Публикация панелей
Фильтры источников данных
Настройка и администрирование
Типовой порядок настройки системы
Язык формул и выражений
On-premises
API
История изменений
Термины и определения

Язык формул и выражений

Обновлено: 29.08.2025

Язык выражений используется в следующих компонентах системы:

  • Вычисляемые поля аналитики;
  • Шаблоны политик нумерации.

Назначение

Язык формул и выражений предназначен для вычисления функций (выражений). Результатом вычисления может быть:

  • строка;
  • булево значение;
  • число;
  • дата.

Значения ячеек в вычисляемом поле задаются его выражением. В выражении допускаются:

  • ссылки на другие поля в строке данных или сущности (для сущности поддерживаются вложенные свойства, например [Project.Code]);
  • арифметические и логические операторы;
  • встроенные функции.

Синтаксис

  • имена полей и свойств сущности заключаются в квадратные скобки: [ColumnName];
  • порядок вычислений задаётся круглыми скобками: ([ColumnName] - [ColumnName]) * 1.18;
  • допускается применение литералов (фиксированных текстовых строк), которые заключаются в одинарные кавычки: 'Text'.

Операторы

  • логические: ||, &;
  • отношений: ==, !=, <, <=, >, >=;
  • аддитивные: +, -;
  • мультипликативные: *, /, %;
  • унарные: !.

Дополнительно поддерживаются:

  • тернарный оператор: condition ? value1 : value2;
  • оператор проверки типа: is;
  • оператор приведения типа: as.

Функции работы со строками и форматирования

Concat

Concat(string1, string2, ...) — возвращает объединённую строку.

Пример: Concat('Hello', ' ', 'world') = 'Hello world'

Format

Format(template, param1, param2..., paramN) — возвращает отформатированное значение по шаблону.

Пример шаблона: Format('Проект {0} от {1:yyyy}', [ProjectName], [ProjectCreated]]

  • Проект и от — фиксированный текст, который выводится как есть
  • {0} — элемент форматирования с индексом 0. Соответствует первому параметру — полю ProjectName
  • {1:yyyy} — элемент форматирования с индексом 1. Соответствует второму параметру — полю ProjectCreated. Часть :yyyy задаёт формат года.

Каждый элемент форматирования выглядит так: {index[, alignment][: formatString]}

  • index — порядковый номер параметра в списке. Обязательный компонент.

  • alignment — целое число (может быть со знаком). Определяет ширину поля и выравнивание. Необязательный компонент.

    {% note info «Компонент alignment„ %}

    • Если значение alignment меньше длины форматируемой строки, то оно пропускается. В качестве значения ширины поля используется длина форматируемой строки.
    • Если у alignment положительное значение, форматируемые данные выравниваются в поле по правому краю.
    • Если отрицательное значение — данные выравниваются по левому краю.
    • При необходимости отформатированная строка дополняется пробелами.
    • При использовании компонента alignment необходимо поставить запятую.
  • formatString — строка формата, которая зависит от типа данных. Необязательный компонент.

Элемент форматирования обязательно заключается в парные фигурные скобки.

Список часто используемых форматов

Примечание

Для форматов с указанием культуры (например, en-US), конечный результат зависит от языка пользователя, формирующего отчёт или панель показателей.

Для полей с типом «Дата» и «Дата и время»:

  • «d» — 15.06.2009T13:45:30 -> 6/15/2009 (en-US)
  • «D» — 15.06.2009T13:45:30 -> Monday, June 15, 2009
  • «f» — 15.06.2009T13:45:30 -> Monday, June 15, 2009 1:45 PM (en-US)
  • «F» — 15.06.2009T13:45:30 -> Monday, June 15, 2009 1:45:30 PM (en-US)
  • «g» — 15.06.2009T13:45:30 -> 6/15/2009 1:45 PM (en-US)
  • «G» — 15.06.2009T13:45:30 -> 6/15/2009 1:45:30 PM (en-US)
  • «M» — 15.06.2009T13:45:30 -> June 15 (en-US)
  • «Y» — 15.06.2009T13:45:30 -> June, 2009 (en-US)
  • «t» — 15.06.2009T13:45:30 -> 1:45 PM (en-US)
  • «%d» — 01.06.2009T13:45:30 -> 1
  • «dd» — 01.06.2009T13:45:30 -> 01
  • «ddd» — 15.06.2009T13:45:30 -> Mon (en-US)
  • «dddd» — 15.06.2009T13:45:30 -> Monday (en-US)
  • «%M» — 15.06.2009T13:45:30 -> 6
  • «MM» — 15.06.2009T13:45:30 -> 06
  • «MMM» — 15.06.2009T13:45:30 -> Jun (en-US)
  • «MMMM» — 15.06.2009T13:45:30 -> June (en-US)
  • «%y» — 01.01.0001T00:00:00 -> 1
  • «yy» — 01.01.0001T00:00:00 -> 01
  • «yyy» — 01.01.0001T00:00:00 -> 001
  • «yyyy» — 01.01.0001T00:00:00 -> 0001

Для полей с типом «Число» и «Дробное число»:

  • «N» — 1234.567 -> 1,234.57 (en-US)
  • «N0» — 1234.567 -> 1,234 (en-US)
  • «N4» — 1234.567 -> 1,234.5670 (en-US)

Примеры:

  • Format('Наименование: {0} {1}', '001', 'Внедрение ERP') = 'Наименование: 001 Внедрение ERP'
  • Format('{0:MMMM}, [ProjectCreated]) = 'Январь'

Функции работы с числами

Floor

Floor(number) — возвращает ближайшее максимальное целое значение.

Пример: Floor(112.1) = 113

Round

Round(number, precision) — возвращает округлённое значение c заданной точностью.

Пример: Round(112.156, 2) = 112.16

Min

Min(number, number) — возвращает минимальное из двух значений.

Пример: Min(1, 2) = 1

Max

Max(number, number) — возвращает максимальное из двух значений.

Пример: Max(1, 2) = 2

Abs

Abs(number) — возвращает абсолютное значение.

Пример: Abs(-10) = 10

Ceiling

Ceiling(number) — возвращает ближайшее большее целое.

Пример: Ceiling(1.2) = 2

Функции работы с датами

GetDate

GetDate() — возвращает текущую дату.

Пример: GetDate() = '2019-01-01'

Now

Now() — возвращает текущую дату и время.

DateDiff

DateDiff(datepart, startDate, endDate) — возвращает продолжительность между startDate и endDate в заданной единице измерения.

Параметр datepart — строка, которая определяет единицу измерения разницы дат и может принимать значения:

  • year
  • quarter
  • month
  • week
  • day
  • hour

Пример: DateDiff('day', '2019-01-01', '2019-01-10') = 10

Функции условий

Coalesce

Coalesce(object, object, ...) — возвращает первый параметр из списка, значение которого отлично от NULL.

Пример: Coalesce(NULL, NULL, 2) = 2

In

In(value, case1, case2, ...) — возвращает TRUE, если первый параметр равен одному из последующих.

Пример: In('Submitted', 'Draft', 'Submitted') = TRUE

If

If(boolean, result1, result2) — возвращает result1, если первый параметр равен TRUE, и result2 — если иначе.

Пример: If('Draft' == 'Draft', 'It is a draft', 'It is not a draft') = 'It is a draft'

Iif

Iif(condition, truePart, falsePart) — сокращённая форма условного выражения.

Пример: Iif(1 > 0, 'Yes', 'No') = 'Yes'

IsNullOrZero

IsNullOrZero(number) — возвращает TRUE, если параметр равен NULL или 0

Пример: IsNullOrZero(0) = TRUE

IsNull

IsNull(object) — возвращает TRUE, если параметр равен NULL

Пример: IsNullOrZero(0) = FALSE

IsNullOrEmpty

IsNullOrEmpty(string) — возвращает TRUE, если параметр равен NULL или пустой строке.

Пример: IsNullOrEmpty('') = TRUE

Содержание

Назначение Синтаксис Операторы Функции работы со строками и форматирования Concat Format Список часто используемых форматов Функции работы с числами Floor Round Min Max Abs Ceiling Функции работы с датами GetDate Now DateDiff Функции условий Coalesce In If Iif IsNullOrZero IsNull IsNullOrEmpty
Ничего не найдено

Перейти на русскую версию?