IRdsNonUniqueKeys.FindById

Синтаксис Fore

FindById(Id: String): IRdsNonUniqueKey;

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

FindById(Id: string): Prognoz.Platform.Interop.Rds.IRdsNonUniqueKey;

Параметры

Id. Идентификатор неуникального ключа, по которому осуществляется поиск.

Описание

Метод FindById осуществляет поиск неуникального ключа по идентификатору в справочнике НСИ.

Комментарии

Для удаления неуникального ключа по индексу используйте метод IRdsNonUniqueKeys.Remove.

Пример Fore

Для выполнения примера предполагается наличие репозитория НСИ с идентификатором «NSI_1», содержащего справочник НСИ с идентификатором «DICT_1». В справочнике должны быть добавлены пользовательские атрибуты с неуникальными ключами. Первый неуникальный ключ характеризуется индексом «Index_1», второй неуникальный ключ -ключом «1».

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

Sub UserProc;
Var
    MB: IMetabase;
    MObj: IMetabaseObject;
    Dict: IRdsDictionary;
    Attrs: IRdsAttributes;
    Keys: IRdsNonUniqueKeys;
Begin
    MB:= MetabaseClass.Active;
    MObj := MB.ItemByIdNamespace("Dict_1", MB.ItemById("NSI_1").Key).Edit;
    Dict := MObj As IRdsDictionary;
    Attrs := Dict.Attributes;
    Keys := Dict.NonUniqueKeys;
    Keys.FindById("Index_1");
    Keys.FindByKey(1);
    Keys.Remove(0);
    Keys.RemoveByKey(1);
    MObj.Save;
End Sub UserProc;

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

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Rds;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    MObj: IMetabaseObject;
    Dict: IRdsDictionary;
    Attrs: IRdsAttributes;
    Keys: IRdsNonUniqueKeys;
Begin
    MB := Params.Metabase;
    MObj := MB.ItemByIdNamespace["Dict_1", MB.ItemById["NSI_1"].Key].Edit();
    Dict := MObj As IRdsDictionary;
    Attrs := Dict.Attributes;
    Keys := Dict.NonUniqueKeys;
    Keys.FindById("Index_1");
    Keys.FindByKey(1);
    Keys.Remove(0);
    Keys.RemoveByKey(1);
    MObj.Save();
End Sub;

См. также:

IRdsNonUniqueKeys