Data(elId: String): Variant;
Data[elId: string]: object;
elId. Идентификатор элемента, значение которого требуется получить.
Свойство Data возвращает значение указанного элемента.
Для определения источника данных используйте свойство IVZDataSourceMapping.DataSource.
Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором EXPRESS, источник данных которого построен на справочнике с идентификатором TBL_DICTIONARY. В отчете для пузырькового дерева должна быть выбрана метрика «Цвет».
Добавьте ссылки на системные сборки: Drawing, Express, Metabase, Visualizators.
Sub UserProc;
Var
Metabase: IMetabase;
EaxAnalyzer: IEaxAnalyzer;
BubbleTree: IVZBubbleTree;
ColorVisual: IVZColorVisual;
DataSourceMapping: IVZDataSourceMapping;
DataSource: IVZMultiplyDataSource;
Element: IGxSolidBrush;
Begin
Metabase := MetabaseClass.Active;
EaxAnalyzer := Metabase.ItemById("EXPRESS").Edit As IEaxAnalyzer;
// Получим пузырьковое дерево
BubbleTree := EaxAnalyzer.BubbleTree.BubbleTree;
// Получим визуализатор цвета
ColorVisual := BubbleTree.ColorVisual;
// Получим настройки сопоставления данных
DataSourceMapping := ColorVisual.ColorMapping;
// Установим заголовок для источника данных, соответствующий идентификатору
DataSource := DataSourceMapping.DataSource;
DataSource.Title := DataSource.ID;
DataSourceMapping.DataSource := DataSource;
// Установим индекс,
по которому возвращаются данные из каждого измерения
DataSourceMapping.Index := 1;
// Установим идентификатор измерения
DataSourceMapping.AttributeId := "TBL_DICTIONARY";
// Установим заливку для пузырька "нет данных"
Element := DataSourceMapping.Data("") As IGxSolidBrush;
Element.Color := New GxColor.CreateRGB(0, 255, 255);
// Инициализируем шкалу отображения данных
DataSourceMapping.Setup;
Debug.WriteLine("Наименование источника данных: " +
DataSourceMapping.DataSource.Title);
Debug.WriteLine("Наименование выбранной отметки измерения: " +
DataSourceMapping.Title);
Debug.WriteLine("Индекс,
по которому возвращаются данные из каждого измерения: " +
DataSourceMapping.Index.ToString);
Debug.WriteLine("Идентификатор измерения, по которому выбираются данные: " +
DataSourceMapping.AttributeId);
// Сохраним изменения в экспресс-отчёте
(EaxAnalyzer As IMetabaseObject).Save;
End Sub UserProc;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Visualizators;
Imports Prognoz.Platform.Interop.Drawing;
…
Public Shared Sub Main(Params: StartParams);
Var
Metabase: IMetabase;
EaxAnalyzer: IEaxAnalyzer;
BubbleTree: IVZBubbleTree;
ColorVisual: IVZColorVisual;
DataSourceMapping: IVZDataSourceMapping;
DataSource: IVZMultiplyDataSource;
Element: IGxSolidBrush;
Begin
Metabase := Params.Metabase;
EaxAnalyzer := Metabase.ItemById["EXPRESS"].Edit() As IEaxAnalyzer;
// Получим пузырьковое дерево
BubbleTree := EaxAnalyzer.BubbleTree.BubbleTree;
// Получим визуализатор цвета
ColorVisual := BubbleTree.ColorVisual;
// Получим настройки сопоставления данных
DataSourceMapping := ColorVisual.ColorMapping;
// Установим заголовок для источника данных, соответствующий идентификатору
DataSource := DataSourceMapping.DataSource;
DataSource.Title := DataSource.ID;
DataSourceMapping.DataSource := DataSource As VZMultiplyDataSource;
// Установим индекс сопоставления данных из источника
DataSourceMapping.Index := 1;
// Установим идентификатор измерения
DataSourceMapping.AttributeId := "D_SEP";
// Установим заливку для пузырька "нет данных"
Element := DataSourceMapping.Data[""] As IGxSolidBrush;
Element.Color := New GxColor();
Element.Color.CreateRGB(0, 255, 255);
// Инициализируем шкалу отображения данных
DataSourceMapping.Setup();
System.Diagnostics.Debug.WriteLine("Наименование источника данных: " +
DataSourceMapping.DataSource.Title);
System.Diagnostics.Debug.WriteLine("Наименование выбранной отметки измерения: " +
DataSourceMapping.Title);
System.Diagnostics.Debug.WriteLine("Индекс, по которому возвращаются данные: " +
DataSourceMapping.Index.ToString());
System.Diagnostics.Debug.WriteLine("Идентификатор измерения, по которому выбираются данные: " +
DataSourceMapping.AttributeId);
// Сохраним изменения в экспресс-отчёте
(EaxAnalyzer As IMetabaseObject).Save();
End Sub;
До выполнения примера цветовая шкала пузырькового дерева выглядела так, как показано на странице описания интерфейса IVZDataScale.
В результате выполнения примера были установлены:
идентификатор для источника данных, идентификатор измерения, по которому выбираются данные;
цвет заливки для пузырька «нет данных»:
После выполнения примера в окно консоли будут выведены наименование источника данных и идентификатор измерения, по которому выбираются данные.
См. также: