Save(Writer: IXmlDomElement);
Метод Save осуществляет сохранение ключей пользовательских атрибутов конкретного субъекта или объекта в XML-файл.
Для получения ключа атрибута используйте свойство IABACAttributeInstance.Key.
Для загрузки существующей коллекции атрибутов из XML-файла для конкретного субъекта или объекта используйте метод IABACAttributeInstances.Load.
Для выполнения примера добавьте ссылки на системные сборки: ABAC, Metabase, Xml (для примера на Fore.NET используйте MsXml2).
Sub UserProc;
Var
MB: IMetabase;
MS: IMetabaseSecurity;
User: IMetabaseUser;
Insts: IABACAttributeInstances;
Xml: IXmlDomElement;
XmlDoc: IXmlDomDocument;
Begin
MB := MetabaseClass.Active;
MS := MB.Security;
// Получим коллекцию атрибутов первого пользователя
User := MS.Users.Item(0);
Insts := User.Attributes;
// Сохраним коллекцию атрибутов в XML-файл
XmlDoc := New FreeThreadedDOMDocument60.Create;
Xml := XmlDoc.createElement("Attributes");
XmlDoc.appendChild(Xml);
Insts.Save(Xml);
XmlDoc.save("C:\temp\Attributes_User.xml");
End Sub UserProc;
Imports Prognoz.Platform.Interop.ABAC;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.MsXml2;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
MS: IMetabaseSecurity;
User: IMetabaseUser;
Insts: IABACAttributeInstances;
Xml: IXmlDomElement;
XmlDoc: IXmlDomDocument;
Begin
MB := Params.Metabase;
MS := MB.Security;
// Получим коллекцию атрибутов первого пользователя
User := MS.Users.Item[0];
Insts := User.Attributes;
// Сохраним коллекцию атрибутов в XML-файл
XmlDoc := New FreeThreadedDOMDocument60.Create();
Xml := XmlDoc.createElement("Attributes");
XmlDoc.appendChild(Xml);
Insts.Save(Xml);
XmlDoc.save("C:\temp\Attributes_User.xml");
End Sub;
В результате выполнения примера в заданном XML-файле будет содержаться список ключей пользовательских атрибутов первого пользователя.
См. также: