Тело программы

Раздел содержит код программы для расчета значений в ячейках таблицы. Начало раздела обозначается строкой «PROGRAM», окончание - строкой «END_PROGRAM». Для выхода из тела программы используется оператор «RETURN».

  1. Регистр символов  (верхний или нижний) в командах по умолчанию игнорируется интерпретатором. Все строковые константы переводятся автоматически в верхний регистр. Но в случае необходимости можно отменить автоматический перевод символов в верхний регистр. Для этого необходимо между заголовком и телом программы добавить следующую строку:
    USE_CASE_SENSITIVE_CONSTANTS

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

  2. Множественные пробелы игнорируются интерпретатором, за исключением пробелов внутри строковых переменных.
  3. Для переноса длинных строк используется комбинация «<пробел>_» в конце строки. Например:
    CLIENTS_LIST 0001, 0002, 0003, 0004, 0005, 0006, 0007, 0008, 0009, 0010, _
    0011, 0012, 0013, 0014, 0015;
  4. Символ «’» является комментарием.  Комментарий распространяется до конца строки.
  5. Разделителем операторов служит перевод строки, т.е. каждый оператор описывается отдельной строкой.
  6. Нумерация символов в строке начинается с нуля.

Пример программы:

PROGRAM

 FirmCode = "MC0012300000"
 CurrentBalance = MONEY_CURRENT_BALANCE(ROWNAME,FirmCode, "EQTV", "SUR")
 CurrentLimit = MONEY_CURRENT_LIMIT(ROWNAME, FirmCode, "EQTV", "SUR")
 Locked = MONEY_LIMIT_LOCKED(ROWNAME, FirmCode, "EQTV", "SUR")
 AvailableMoney = MoneyCurrentBalance + MoneyCurrentLimit – MoneyLocked
 If AvailableMoney > 0
  Status = "Заявки доступны"
 Else
  Status = "Заявки недоступны"
  SET_ROW_COLOR(ROWNAME, "RGB(255,138,138)", "DEFAULT_COLOR")
 End If
END_PROGRAM

Пример относится к формированию таблицы «Доступные деньги клиента». Создаваемая таблица будет частично дублировать поля таблицы  «Позиции по деньгам», а также содержать два вычисляемых поля.

 

См. также: