IRdsUniqueKey.UseInSelection

Синтаксис Fore

UseInSelection: Boolean;

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

UseInSelection: boolean;

Описание

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

Комментарии

Возможные значения:

Пример Fore

Для выполнения примера в репозитории предполагается наличие справочника НСИ с идентификатором «USE_IN_SELECTION». Данный справочник должен содержаться вне репозитория НСИ и использоваться в качестве измерения в базе данных временных рядов.

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

Sub UserProc;
Var
    mb: IMetabase;
    Dict: IRdsDictionary;
    UniqueKeys: IRdsUniqueKeys;
    UniqueKey: IRdsUniqueKey;
    Attributes: IRdsAttributes;
    Attribute: IRdsAttribute;
Begin
    // Получаем текущий репозиторий
    mb := MetabaseClass.Active;
    // Получаем справочник НСИ
    Dict := mb.ItemById("USE_IN_SELECTION").Edit As IRdsDictionary;
    // Получаем уникальные ключи справочника
    UniqueKeys := Dict.UniqueKeys;
    // Добавляем новый ключ
    UniqueKey := UniqueKeys.Add;
    // Получаем атрибуты справочника
    Attributes := Dict.Attributes;
    // Добавляем новый атрибут
    Attribute := Attributes.Add;
    // Задаем наименование и тип данных атрибута
    Attribute.Name := "Уникальный ключ";
    Attribute.DataType := DbDataType.String;
    // Указываем, что созданный атрибут входит в новый уникальный ключ
    UniqueKey.Contains(Attribute) := True;
    // Указываем, что уникальный ключ будет использоваться при формировании отметки
    UniqueKey.UseInSelection := True;
    // Указываем, что уникальный ключ регистрозависимый
    UniqueKey.CaseSensitive := True;
    // Сохраняем изменения в справочнике НСИ
    (Dict As IMetabaseObject).Save;
End Sub UserProc;

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

Пример Fore.NET

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

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

Public Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    Dict: IRdsDictionary;
    UniqueKeys: IRdsUniqueKeys;
    UniqueKey: IRdsUniqueKey;
    Attributes: IRdsAttributes;
    Attribute: IRdsAttribute;
Begin
    // Получаем текущий репозиторий
    mb := Params.Metabase;
    // Получаем справочник НСИ
    Dict := mb.ItemById["USE_IN_SELECTION"].Edit() As IRdsDictionary;
    // Получаем уникальные ключи справочника
    UniqueKeys := Dict.UniqueKeys;
    // Добавляем новый ключ
    UniqueKey := UniqueKeys.Add();
    // Получаем атрибуты справочника
    Attributes := Dict.Attributes;
    // Добавляем новый атрибут
    Attribute := Attributes.Add();
    // Задаем наименование и тип данных атрибута
    Attribute.Name := "Уникальный ключ";
    Attribute.DataType := DbDataType.ddtString;
    // Указываем, что созданный атрибут входит в новый уникальный ключ
    UniqueKey.Contains[Attribute] := True;
    // Указываем, что уникальный ключ будет использоваться при формировании отметки
    UniqueKey.UseInSelection := True;
    // Указываем, что уникальный ключ регистрозависимый
    UniqueKey.CaseSensitive := True;
    // Сохраняем изменения в справочнике НСИ
    (Dict As IMetabaseObject).Save();
End Sub;

См. также:

IRdsUniqueKey