Редактор выражений

У вас имеется возможность использовать динамические выражения полей вместо указания имени поля в наборе форм. Вы можете использовать эти выражения (и Функции), чтобы выполнять обусловленные вычисления или создавать обусловленные метки и фильтры.

Чтобы открыть Редактор выражений, щелкните правой кнопкой мыши и выберите опцию Редактировать выражение из контекстного меню.

Нажмите на кнопку Очистить, чтобы очистить выражение, которое вы или ввели.
Нажмите на кнопку Проверить, чтобы выполнить проверку синтаксиса введенного вами выражения.
Нажмите кнопку Формы, чтобы сохранить выражение или загрузить ранее сохраненное выражение.

Если вам нужны примеры подобных, которые вы можете написать в Редакторе выражений, перейдите к документу: Выражения полей.

Выражение может содержать переменные и постоянные значения, сравнения, а также арифметические и логические операции. Используемые в выражении операторы оцениваются в следующем порядке очередности:

Постоянные

Литеральные константы могут быть числовыми, символьными или представлять собой булево выражение.

Кроме этого, для работы вам предоставлены константы:

Константа Описание
{ALWAYS} Булева константа, приравнивается к TRUE
{BLANK} Специальная константа, которая приравнивается к NIL, но обозначает пустое значение, а не неопределенное
{NIL} Приравнивается к NIL и обозначает неопределенное значение.
{Pi} Равняется 3,1415926535897. (π)
{e} Равняется 2,718281828459045. ( == EXP(1) )

Поля

Переменные имен полей заключены в квадратные скобки с именами, которые обозначают каждое имя поля:

=[K2O] > [NA2O]

Квадратные скобки не являются обязательным элементом, однако одни упрощают распознавание имен полей в сложных выражениях. При этом, они становятся обязательными, если ваши имена полей содержат пробелы или служебные знаки, например "+" или "/".

?[<name>] префикс обозначает атрибут имени поля вывода Смотрите: Атрибут имени поля вывода

Переменная выражения [#record] ([#запись]) предоставляет доступ к номеру текущей записи. Чтобы использовать каждую 25-ю запись в вычислении или для пометки:

 =if([#запись] % 25) = 0 then "Пометить это" else "" endif 

Одна из возможных ловушек для невнимательных людей - то, что номера записей начинаются с 1, то означает, что первая запись не будет выбрана. Если это представляет проблему, просто вычтите 1 из номера (ID) записи:

 =if(([#запись]-1) % 25) = 0 then "Пометить это" else "" endif 

Преобразования типов

Тип Числовой Строка Булево значение
Числовой - Строка, содержащая числовое значение, т.е. “5” для 5 -
Строка Если возможно, числовое значение из строки. В противном случае NIL - -
Булево значение 1, если ВЕРНОЕ (if TRUE). 0, если НЕВЕРНОЕ (if FALSE). "1", если ВЕРНОЕ . "0", если НЕВЕРНОЕ (if FALSE). -

Правила преобразования булевых выражений.

При записи результатов выражений булевых значений {TRUE} или {FALSE} в файл, {TRUE} будет преобразовано в число 1 или в символ "1", в свою очередь,{FALSE} будет преобразовано в число 0 или в символ "0", в зависимости от типа поля назначения.

При чтении данных из файла вам необходимо учитывать, что соответствующего преобразования из числовых значений в символьные в булевы выражения не происходит, поэтому вам нужно записывать преобразование самостоятельно.

Операторы

Функции