IRdsAttribute.DefaultExpression

Синтаксис Fore

DefaultExpression: IExpression;

Синтаксис Fore.NET

DefaultExpression: Prognoz.Platform.Interop.ForeSystem.IExpression;

Описание

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

Комментарии

Для выражения, в виде символьной строки, используйте свойство IExpression.AsString.

Пример Fore

Для выполнения примера в репозитории предполагается наличие табличного справочника НСИ с идентификатором ATTRIBUTED.

Добавьте ссылки на системные сборки: Dal, Metabase, Rds.

Sub UserProc;
Var
    mb: IMetabase;
    Dict: IRdsDictionary;
    Attributes: IRdsAttributes;
    Attribute: IRdsAttribute;
    Exp: IExpression;
Begin
    
// Получаем текущий репозиторий
    mb := MetabaseClass.Active;
    
// Получаем справочник НСИ
    Dict := mb.ItemById("ATTRIBUTED").Edit As IRdsDictionary;
    
// Получаем атрибуты справочника
    Attributes := Dict.Attributes;
    // Добавляем новый атрибут
    Attribute := Attributes.Add;
    
// Задаём наименование и тип данных атрибута
    Attribute.Name := "Новый атрибут";
    Attribute.DataType := DbDataType.String;
    // Задаём возможность редактировать значение атрибута
    Attribute.VisibleForEdit := TriState.OnOption;
    // Задаём значение по умолчанию
    Exp := Attribute.DefaultExpression;
    Exp.AsString := 
"NAME";
    
// Задаём вычисление значения по умолчанию каждый раз при изменении элемента
    Attribute.DefaultExpressionKind := RdsAttributeDefaultExpressionKind.EvaluateOnEdit;
    
// Сохраняем изменения в справочнике НСИ
    (Dict As IMetabaseObject).Save;
End Sub UserProc;

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

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Дополнительно добавьте ссылку на системную сборку ForeSystem.

Imports Prognoz.Platform.Interop.Dal;
Imports Prognoz.Platform.Interop.ForeSystem;
Imports Prognoz.Platform.Interop.Rds;

Public Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    Dict: IRdsDictionary;
    Attributes: IRdsAttributes;
    Attribute: IRdsAttribute;
    Exp: IExpression;
Begin
    
// Получаем текущий репозиторий
    mb := Params.Metabase;
    
// Получаем справочник НСИ
    Dict := mb.ItemById["ATTRIBUTED"].Edit() As IRdsDictionary;
    
// Получаем атрибуты справочника
    Attributes := Dict.Attributes;
    
// Добавляем новый атрибут
    Attribute := Attributes.Add();
    
// Задаём наименование и тип данных атрибута
    Attribute.Name := "Новый атрибут";
    Attribute.DataType := DbDataType.ddtString;
    
// Задаём возможность редактировать значение атрибута
    Attribute.VisibleForEdit := TriState.tsOnOption;
    
// Задаём значение по умолчанию
    Exp := Attribute.DefaultExpression;
    Exp.AsString := 
"NAME";
    
// Задаём вычисление значения по умолчанию каждый раз при изменении элемента
    Attribute.DefaultExpressionKind := RdsAttributeDefaultExpressionKind.radeEvaluateOnEdit;
    
// Сохраняем изменения в справочнике НСИ
    (Dict As IMetabaseObject).Save();
End Sub;

См. также:

IRdsAttribute