Contains(Attribute: IRdsAttribute): Boolean;
Contains[Attribute: Prognoz.Platform.Interop.Rds.IRdsAttribute]: boolean;
Attribute. Атрибут справочника НСИ, для которого необходимо определить вхождение в уникальный ключ.
Свойство Contains определяет, входит ли указанный атрибут в уникальный ключ справочника НСИ.
Допустимые значения:
True. Атрибут входит в состав уникального ключа;
False. Атрибут не входит в уникальный ключ.
Для выполнения примера предполагается наличие репозитория НСИ с идентификатором «RDS_REPO», содержащего справочник НСИ с идентификатором «RDS_DICT».
Добавьте ссылки на системные сборки «Metabase», «Rds», «Dal».
Sub UserProc;
Var
MB: IMetabase;
MObj: IMetabaseObject;
Dict: IRdsDictionary;
Attrs: IRdsAttributes;
Attr: IRdsAttribute;
UniqKeys: IRdsUniqueKeys;
UniqKey: IRdsUniqueKey;
Begin
MB := MetabaseClass.Active;
MObj := MB.ItemByIdNamespace("RDS_DICT", MB.ItemById("RDS_REPO").Key).Edit;
Dict := MObj As IRdsDictionary;
// Создаём новый атрибут
Attrs := Dict.Attributes;
UniqKeys := Dict.UniqueKeys;
Attr := Attrs.Add;
Attr.DataType := DbDataType.String;
Attr.Name := "Государственный номер";
// Создаем уникальный ключ
UniqKey := UniqKeys.Add;
UniqKey.Name := "Уникальный ключ по гос.номеру";
UniqKey.Contains(Attr) := True;
// Проверяем уникальность значений элементов
UniqKey.Check;
// Сохраняем изменения
(UniqKey.Dictionary As IMetabaseObject).Save;
End Sub UserProc;
Результат выполнения примера: в справочнике НСИ создан пользовательский атрибут. По данному атрибуту создан уникальный ключ справочника НСИ.
Для выполнения примера предполагается наличие репозитория НСИ с идентификатором «RDS_REPO», содержащего справочник НСИ с идентификатором «RDS_DICT».
Imports Prognoz.Platform.Interop.Dal;
Imports Prognoz.Platform.Interop.Rds
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
MObj: IMetabaseObject;
Dict: IRdsDictionary;
Attrs: IRdsAttributes;
Attr: IRdsAttribute;
UniqKeys: IRdsUniqueKeys;
UniqKey: IRdsUniqueKey;
Begin
MB := Params.Metabase;
MObj := MB.ItemByIdNamespace["RDS_DICT", MB.ItemById["RDS_REPO"].Key].Edit();
Dict := MObj As IRdsDictionary;
// Создаём новый атрибут
Attrs := Dict.Attributes;
UniqKeys := Dict.UniqueKeys;
Attr := Attrs.Add();
Attr.DataType := DbDataType.ddtString;
Attr.Name := "Государственный номер";
// Создаем уникальный ключ
UniqKey := UniqKeys.Add();
UniqKey.Name := "Уникальный ключ по гос.номеру";
UniqKey.Contains[Attr] := True;
// Проверяем уникальность значений элементов
UniqKey.Check();
// Сохраняем изменения
(UniqKey.Dictionary As IMetabaseObject).Save();
End Sub;
Результат выполнения примера: в справочнике НСИ создан пользовательский атрибут. По данному атрибуту создан уникальный ключ справочника НСИ.
См. также: