Для рабочей книги базы данных временных рядов доступна загрузка и сохранение ее настроек и настроек дерева показателей.
Сохраняются/загружаются следующие настройки:
атрибуты и их порядок;
параметры фильтрации каждого атрибута;
порядок сортировки для каждого атрибута;
наименование уровней для измерений атрибутов;
установленная альтернативная иерархия;
параметры панели «Результаты вычислений».
Настройки сохраняются только для тех баз данных временных рядов, ряды их которых используются в рабочей книге.
Для выполнения примера требуется форма .NET, на которой расположены:
кнопка «Сохранить» с идентификатором «SaveButton»;
кнопка «Загрузить» с идентификатором «LoadButton»;
компонент LanerBoxNet;
компонент LanerResultBox;
компонент UiErAnalyzerNet с идентификатором «UiErAnalyzerNet1». В данный компонент загружена рабочая книга базы данных временных рядов и он является источником данных для компонентов LanerBox и LanerResultBox;
компонент MetaAttributesBreadcrumbNet с идентификатором «MetaAttributesBreadcrumbNet1». Данный компонент должен использовать ту же базу данных временных рядов, что и рабочая книга, загруженная в «UiErAnalyzerNet1»;
компонент MetaAttributesTreeListNet, связанный с «MetaAttributesBreadcrumbNet1».
Добавьте ссылки на пространства имен:
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Cubes;
При нажатии кнопки «Сохранить» будет выполняться сохранение настроек рабочей книги, а при нажатии кнопки «Загрузить» - загрузка настроек.
Данная процедура является обработчиком события Click для кнопки «SaveButton».
Private Sub SaveButton_Click(sender: System.Object; e: System.EventArgs);
Var
Doc: FreeThreadedDOMDocument60;
Element: IXmlDomElement;
Ea: IEaxAnalyzer;
Wb: IEaxWorkbook;
WbTree: IEaxWorkbookMetaAttributesTree;
Rub: IRubricator;
OpList: IEaxWorkbookRubricatorOptionsList;
Options: IEaxWorkbookRubricatorOptions;
Statistics: IEaxWorkbookStatistics;
Begin
// Сохраняем настройки MetaAttributesBreadcrumbNet1
в XML
Doc := New FreeThreadedDOMDocument60.Create();
Element := Doc.createElement("Breadcrumb");
MetaAttributesBreadcrumbNet1.CtrlBox.SaveState(Element);
Doc.appendChild(Element);
// Получаем рабочую книгу
Ea := UiErAnalyzerNet1.ErAnalyzer.ErAnalyzer;
Wb := Ea As IEaxWorkbook;
// Получаем параметры дерева объектов
WbTree := Wb.MetaAttributesTree;
Rub := MetaAttributesBreadcrumbNet1.Rubricator.Rubricator;
// Получаем параметры каталога, связанного с деревом объектов
OpList := WbTree.RubricatorsOptions;
// Очищаем параметры
OpList.Clear();
If Options = Null Then
Options := OpList.Add(Rub As IMetabaseObjectDescriptor);
System.Diagnostics.Debug.WriteLine("База данных временных рядов: " + Options.RubricatorObject.Name);
End If;
// Устанавливаем параметры дерева показателей
Options.HierarchyAttributes := Doc.xml;
// Задаем параметры панели "Результаты расчёта"
Statistics := Wb.Statistics;
Statistics.Enabled := True;
Statistics.Visible := False;
// Сохраняем рабочую книгу
(Ea As IMetabaseObject).Save();
End Sub;
После выполнения примера сохраняются все настройки, установленные для рабочей книги, загруженной в LanerBox.
Данная процедура является обработчиком события Click для кнопки «LoadButton».
Private Sub LoadButton_Click(sender: System.Object; e: System.EventArgs);
Var
Rub: IRubricator;
RubKey: integer;
Doc: FreeThreadedDOMDocument60;
Element: IXmlDomElement;
Ea: IEaxAnalyzer;
Wb: IEaxWorkbook;
WbTree: IEaxWorkbookMetaAttributesTree;
OpList: IEaxWorkbookRubricatorOptionsList;
Options: IEaxWorkbookRubricatorOptions;
Begin
// Получаем базу данных временных рядов,
// связанную с MetaAttributesBreadcrumbNet1
Rub := MetaAttributesBreadcrumbNet1.Rubricator.Rubricator;
RubKey := (Rub As IMetabaseObjectDescriptor).Key As integer;
// Получаем рабочую книгу
Ea := UiErAnalyzerNet1.ErAnalyzer.ErAnalyzer;
Wb := Ea As IEaxWorkbook;
// Получаем параметры дерева объектов
WbTree := Wb.MetaAttributesTree;
// Получаем параметры каталога, связанного с деревом объектов
OpList := WbTree.RubricatorsOptions;
Options := OpList.Item[RubKey];
// Загружаем из рабочей книги сохраненные параметры MetaAttributesBreadcrumb1
If Options <> Null Then
Doc := New FreeThreadedDOMDocument60.Create();
If (Doc.loadXML(Options.HierarchyAttributes)) Then
Element := Doc.selectSingleNode("Breadcrumb") As IXmlDomElement;
If (Element <> Null) Then
MetaAttributesBreadcrumbNet1.CtrlBox.LoadState(Element);
End If;
Else
System.Diagnostics.Debug.WriteLine("Ошибка при загрузке xml");
End If;
End If;
// Загружаем из рабочей книги сохраненные параметры панели "Результаты расчёта"
lanerResultBoxNet1.ResultContainerVisible := Wb.Statistics.Visible;
End Sub;
После выполнения примера для рабочей книги, загруженной в LanerBox, загружаются все сохраненные настройки.
См. также: