Инструкция =
Инструкция =
- создание нового свойства.
Синтаксис
name [caption] [(param1, ..., paramN)] = expression [options];
name [caption] [(param1, ..., paramN)] = contextIndependentOperator [options];
Описание
Инструкция =
объявляет новое свойство и добавляет его в текущий модуль.
При создании свойства инструкция имеет две формы:
- Первая форма описывает и создает свойство с помощью выражения.
- Вторая форма описывает свойство с помощью одного из контекстно-независимых операторов-свойств, которые не могут быть частью выражения.
Также при объявлении свойства может задаваться набор его опций.
Параметры
name
Имя свойства. Простой идентификатор.
caption
Заголовок свойства. Строковый литерал. Если заголовок не задан, то заголовком свойства будет являться его имя.
param1, ..., paramN
Список параметров. Каждый из них задается типизированным параметром. Эти параметры далее могут быть использованы в выражении описывающем создаваемое свойство (а также в некоторых опциях).
Если параметры не заданы явно, то они будут автоматически вычислены при обработке выражения. Порядок параметров будет соответствовать порядку появления параметров в выражении. Рекомендуется явно задавать параметры свойства. Это позволит найти опечатки и другие ошибки в объявлении (например, несоответствие количества указанных параметров с количеством параметров созданного свойства).
expression
Выражение, описывающее и создающее свойство.
contextIndependentOperator
Контексто-независимый оператор-свойство, описывающий и создающий свойство.
options
Примеры
// cвойство задано контекстно-независимым оператором-свойством DATA
cost 'Стоимость' (i) = DATA NUMERIC[12,3] (Item);
// cвойство задано выражением
weightedSum 'Взвешенная сумма' (a, b) = 2*a + 3*b;
// заголовком этого свойства будет 'diff', а параметрами - (a, b)
diff = a - b;
// свойство задано оператором DATA с указанием дополнительных опций свойства
teamName 'Название команды' = DATA BPSTRING[30](Team) IN baseGroup TABLE team;