Формулы

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

Формула — записанная операция над полями, константами и функциями, которая может быть вызвана, например в коде, при помощи функций Formula(cFormula as Char) по уникальному коду, заданному формуле при создании. Хранятся формулы в таблице SM4. Так Формула позволяет задавать значения полям, зависящим от состояния системы — курса валюты, даты, счетов или иных данных «Ма-3».

Формулу можно создать при помощи выражения на языке AdvPL: математические операции, пользовательские функции и переменные памяти. Переменные существуют только во время выполнения пользовательской функции, связанной с формулой (подробнее см. в статье Особенности использования).

Использование формул

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

В полях Дебетовый сч., Кредитовый сч. и История формулы используются как индекс поиска по таблице. Таким образом, поле Дебетовый сч. с префиксом "11101" + код клиента имеет формулу:
"1101"+SE1->E1_CLIENTE

Система интерпретирует это так, что содержимое состоит из кода 11101 с кодом клиента, извлеченным из поля Клиент (E1_CLIENTE) таблицы SE1.

Можно также создавать условный синтаксис. Для клиентов, у которых первая цифра кода 1 проводку необходимо выполнять в счете 11101 + код клиента, в иных случаях проводку необходимо выполнять в счете 11102 + код клиента:

IIF(SUBS(SE1->E1_CLIENTE,1,1)=”1”,”11101”+SE1->E1_CLIENTE,“11102” +SE1->E1_CLIENTE)

Проверка

Для аутентификации введенной информации используется язык AdvPL. Дополнительно см. раздел База данных.

Примечание: Реестр формул доступен в таблице SM4.