CreateElementData: IRdsDictionaryElementData;
CreateElementData: Prognoz.Platform.Interop.Rds.IRdsDictionaryElementData;
Метод CreateElementData создает объект, содержащий данные атрибутов элемента справочника НСИ.
Для выполнения примера в репозитории предполагается наличие репозитория НСИ с идентификатором «MDM_REPO». Данный репозиторий должен содержать справочник НСИ с идентификатором «MDM_DICT». В справочнике присутствует пользовательский атрибут логического типа с идентификатором «ACTUAL».
Добавьте ссылки на системные сборки «Metabase», «Rds».
Sub UserProc;
Var
MB: IMetabase;
MdmKey: Integer;
Dict: IRdsDictionary;
DictInst: IRdsDictionaryInstance;
Data: IRdsDictionaryElementData;
Attr: IRDsAttributes;
Elements: IRdsDictionaryElements;
Key: Integer;
Begin
MB := MetabaseClass.Active;
MdmKey := MB.ItemById("MDM_REPO").Key;
Dict := MB.ItemByIdNamespace("MDM_DICT", MdmKey).Bind As IRdsDictionary;
// Открываем справочник НСИ
DictInst := Dict.Open(Null);
DictInst.FetchAll := True;
// Создаем элемент справочника
Data := DictInst.CreateElementData;
Attr := Dict.Attributes;
Data.Attribute(Attr.Name.Key) := "Новый элемент";
Data.Attribute(Attr.FindById("ACTUAL").Key) := True;
Elements := DictInst.Elements;
// Добавляем созданный элемент в справочник
Key := DictInst.Insert(Elements.Root, Data);
End Sub UserProc;
Результат выполнения примера: в справочник НСИ добавлен новый элемент с наименованием «Новый элемент» и значением атрибута «ACTUAL» - True. В переменной Key будет содержаться ключ созданного элемента.
Для выполнения примера в репозитории предполагается наличие репозитория НСИ с идентификатором «MDM_REPO». Данный репозиторий должен содержать справочник НСИ с идентификатором «MDM_DICT». В справочнике присутствует пользовательский атрибут логического типа с идентификатором «ACTUAL».
Imports Prognoz.Platform.Interop.Rds;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
MdmKey, Key: uinteger;
Dict: IRdsDictionary;
DictInst: IRdsDictionaryInstance;
Data: IRdsDictionaryElementData;
Attr: IRDsAttributes;
Elements: IRdsDictionaryElements;
Begin
MB := Params.Metabase;
MdmKey := MB.ItemById["MDM_REPO"].Key;
Dict := MB.ItemByIdNamespace["MDM_DICT", MdmKey].Bind() As IRdsDictionary;
// Открываем справочник НСИ
DictInst := Dict.Open(Null);
DictInst.FetchAll := True;
// Создаем элемент справочника
Data := DictInst.CreateElementData();
Attr := Dict.Attributes;
Data.Attribute[Attr.Name.Key] := "Новый элемент";
Data.Attribute[Attr.FindById("ACTUAL").Key] := True;
Elements := DictInst.Elements;
// Добавляем созданный элемент в справочник
Key := DictInst.Insert(Elements.Root, Data);
End Sub;
Результат выполнения примера: в справочник НСИ добавлен новый элемент с наименованием «Новый элемент» и значением атрибута «ACTUAL» - True. В переменной Key будет содержаться ключ созданного элемента.
См. также: