Skip to end of metadata
Go to start of metadata

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

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

Выполнение действия

В этом операторе также существует возможность выполнить просто действие (а не набор инструкций), в этом случае код должен быть последовательностью операторов-действий и объявлений локальных свойств. Для обращения к параметрам выполняемого действия можно использовать спецсимвол $ и номер параметра (начиная с 1).

Ограничения на выполняемый код

В текущей реализации платформы выполняемый код не должен содержать инструкций, которые изменяют уже существующие объекты в системе. Например нельзя добавлять события, первичные и материализованные свойства, расширять существующие объекты и т.п.

Язык

Для объявления действия, выполняющего программный код, используется оператор EVAL.

Примеры

1
2
3
4
 addProperty  { EVAL ACTION 'MESSAGE \'Hello World\''; }  // исходный код, состоящий из одной инструкции, задается строковой константой
  
code 'Исходные код' = DATA BPSTRING[2000] ();              // свойство, в которое пользователь может ввести исходный код
execute 'Выполнить код'  { EVAL code(); }      // действие, выполняющее этот код

  • No labels