IVZDataSourceMapping.Data

Синтаксис

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(0255255);
    // Инициализируем шкалу отображения данных
    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(0255255);
    // Инициализируем шкалу отображения данных
    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.

В результате выполнения примера были установлены:

После выполнения примера в окно консоли будут выведены наименование источника данных и идентификатор измерения, по которому выбираются данные.

См. также:

IVZDataSourceMapping