Clear;
Clear();
Метод Clear осуществляет удаление всех неуникальных ключей справочника НСИ.
Для добавления нового неуникального ключа справочника НСИ используйте метод IRdsNonUniqueKeys.Add.
Для выполнения примера предполагается наличие репозитория НСИ с идентификатором «NSI_1», содержащего справочник НСИ с идентификатором «DICT_1».
Добавьте ссылки на системные сборки «Metabase», «Rds».
Sub UserProc;
Var
MB: IMetabase;
MObj: IMetabaseObject;
Dict: IRdsDictionary;
Attrs: IRdsAttributes;
Keys: IRdsNonUniqueKeys;
i: Integer;
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;
For i := 0 To Keys.Count - 1 do
Debug.WriteLine(Keys.Item(i).Name + " " + Keys.Item(i).Id);
End For;
Keys.Clear;
MObj.Save;
End Sub UserProc;
После выполнения примера в окно консоли будут выведены наименования и идентификаторы неуникальных ключей, после чего все неуникальные ключи справочника НСИ будут удалены из коллекции.
Необходимые требования и результат выполнения примера 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;
Key: IRdsNonUniqueKey;
i: Integer;
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;
For i := 0 To Keys.Count - 1 Do
Key := Keys.Item[i];
System.Diagnostics.Debug.WriteLine(Key.Name + " " + Key.Id);
End For;
Keys.Clear();
MObj.Save();
End Sub;
См. также: