Skip to end of metadata
Go to start of metadata

Инструкция - создание нового свойства.

Синтаксис

name [caption] [(param1, ..., paramN)] = expression [options];
name [caption] [(param1, ..., paramN)] = contextIndependentOperator [options];

Описание

Инструкция объявляет новое свойство и добавляет его в текущий модуль.

При создании свойства инструкция имеет две формы:

Также при объявлении свойства может задаваться набор его опций.   

Параметры

name 

Имя свойства. Простой идентификатор.

caption

Заголовок свойства. Строковый литерал. Если заголовок не задан, то заголовком свойства будет являться его имя.  

param1, ..., paramN

Список параметров. Каждый из них задается типизированным параметром. Эти параметры далее могут быть использованы в выражении описывающем создаваемое свойство (а также в некоторых опциях).

Если параметры не заданы явно, то они будут автоматически вычислены при обработке выражения. Порядок параметров будет соответствовать порядку появления параметров в выражении. Рекомендуется явно задавать параметры свойства. Это позволит найти опечатки и другие ошибки в объявлении (например, несоответствие количества указанных параметров с количеством параметров созданного свойства).

expression

Выражение, описывающее и создающее свойство. 

contextIndependentOperator

Контексто-независимый оператор-свойство, описывающий и создающий свойство. 

options

Опции свойства

Примеры

1
2
3
4
5
 cost 'Стоимость' (i) = DATA NUMERIC[12,3] (Item);		// cвойство задано контекстно-независимым оператором-свойством DATA
weightedSum 'Взвешенная сумма' (a, b) = 2*a + 3*b; 		// cвойство задано выражением 
diff = a - b; 											// заголовком этого свойства будет 'diff', а параметрами - (a, b)
 
teamName 'Название команды' = DATA BPSTRING[30](Team) IN baseGroup TABLE team; // свойство задано оператором DATA с указанием дополнительных опций свойства