Редактор выражений
У вас имеется возможность использовать динамические выражения полей вместо указания имени поля в наборе форм. Вы можете использовать эти выражения (и Функции), чтобы выполнять обусловленные вычисления или создавать обусловленные метки и фильтры.
Чтобы открыть Редактор выражений, щелкните правой кнопкой мыши и выберите опцию Редактировать выражение из контекстного меню.
![]() |
Нажмите на кнопку Очистить, чтобы очистить выражение, которое вы или ввели. |
![]() |
Нажмите на кнопку Проверить, чтобы выполнить проверку синтаксиса введенного вами выражения. |
![]() |
Нажмите кнопку Формы, чтобы сохранить выражение или загрузить ранее сохраненное выражение. |
Если вам нужны примеры подобных, которые вы можете написать в Редакторе выражений, перейдите к документу: Выражения полей.
Выражение может содержать переменные и постоянные значения, сравнения, а также арифметические и логические операции. Используемые в выражении операторы оцениваются в следующем порядке очередности:
- операции в скобках,
- затем степень,
- затем умножение/деление,
- затем сложение/вычитание.
Постоянные
Литеральные константы могут быть числовыми, символьными или представлять собой булево выражение.
- 123,4567 – числовое постоянное значение;
- “Это строка” - символьное постоянное значение.
- FALSE – булева константа
- TRUE – булева константа
Кроме этого, для работы вам предоставлены константы:
Константа | Описание |
---|---|
{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", в зависимости от типа поля назначения.
При чтении данных из файла вам необходимо учитывать, что соответствующего преобразования из числовых значений в символьные в булевы выражения не происходит, поэтому вам нужно записывать преобразование самостоятельно.

В зависимости от данных ввода, выражение для символьных полей с текстом меток выглядит приблизительно так:
if [FLAG]="True" then обрабатывать хороший материал elseif [FLAG]="False" then обрабатывать плохой материал else обрабатывать неизвестный материал endif
или для символьных полей с числовыми метками:
if [FLAG]="1" then обрабатывать хороший материал elseif [FLAG]="0" then ...
или для числовых полей:
if [FLAG]=1 then обрабатывать хороший материал elseif [FLAG]=0 then ...