IPrxBulkSettings.FilesMapping

Синтаксис Fore

FilesMapping: IDictionary;

Синтаксис Fore.NET

FilesMapping: System.Collections.IDictionary;

Описание

Свойство FilesMapping определяет сопоставление ключей элементов отметки и соответствующих им файлов.

Комментарии

Данное свойство полезно, например, если необходимо определить какой экспортированный файл соответствует какой отметке при выполнении пакетного экспорта.

Пример Fore

Для выполнения примера в репозитории предполагается наличие регламентного отчета с идентификатором «REG_REPORT_PUB». Данный отчет должен иметь элементы управления, общие для всех листов отчета. Элементы управления должны быть связаны с фиксированными измерениями.

Добавьте ссылки на системные сборки: Collections, Dimensions, Metabase, Report.

Sub UserProc;
Var
    MB: IMetabase;
    RegRep: IPrxReport;
    Exporter: IPrxReportExporter;
    BulkSetting: IPrxBulkSettings;
    SelSet: IPrxBulkSelectionSet;
    filesDict: IDictionary;
    keys: ICollection;
    values: ICollection;
    keysArr, valuesArr: Array;
    vValue: Variant;
    stringToMemo: String;
    v: Variant;
Begin
    // Получаем текущий репозиторий
    MB := MetabaseClass.Active;
    // Получаем регламентный отчет
    RegRep := MB.ItemById("REG_REPORT_PUB").Bind As IPrxReport;
    // Создаем объект для экспорта отчета
    Exporter := New PrxReportExporter.Create;
    // Указываем экспортируемый отчет 
    Exporter.Report := RegRep;
    // Задаем отметку фиксированных измерений отчета
    SelSet := RegRep.GetBulkSelectionSet("1-2");
    SelSet.Item(0).Selection.SelectElement(1False);
    SelSet.Item(0).Selection.SelectElement(2False);
    SelSet.Item(0).Selection.SelectElement(3False);
    // Задаем параметры выполнения пакетного экспорта
    BulkSetting := Exporter.BulkSettings;
    BulkSetting.Enabled := True;
    BulkSetting.SelectionSet := SelSet;
    // Выполняем экспорт    
    Exporter.ExportToFile("c:\" + RegRep.Name + ".XLS""XLS");
    // Получаем сопоставление экспортированных файлов и ключей элементов отметки    
    filesDict := BulkSetting.FilesMapping;
    // Получаем массив ключей отметки
    keys := filesDict.Keys;
    keysArr := New Variant[keys.Count];
    keys.CopyTo(keysArr, 0);
    // Получаем массив названий экспортированных файлов
    values := filesDict.Values;
    valuesArr := New Variant[values.Count];
    values.CopyTo(valuesArr, 0);
    // Выводим сопоставление ключей элементов отметки и
    // соответствующих экспортированных файлов
    For Each v In keysArr Do
        vValue := filesDict.Item(v);
        stringToMemo := "Key: " + v + " ---> Value: " + vValue;
        Debug.WriteLine(stringToMemo);
    End For;
End Sub

В результате выполнения примера в окно консоли будет выведено сопоставление ключей элементов отметки и соответствующих им экспортированных файлов.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Report;
Imports System.Collections;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    RegRep: IPrxReport;
    Exporter: IPrxReportExporter;
    BulkSetting: IPrxBulkSettings;
    SelSet: IPrxBulkSelectionSet;
    filesDict: IDictionary;
    keys: ICollection;
    values: ICollection;
    keysArr, valuesArr: Array;
    vValue: Object;
    stringToMemo: String;
    v: Object;
Begin
    // Получаем текущий репозиторий
    MB := Params.Metabase;
    // Получаем регламентный отчет
    RegRep := MB.ItemById["REG_REPORT_PUB"].Bind() As IPrxReport;
    // Создаем объект для экспорта отчета
    Exporter := New PrxReportExporter.Create();
    // Указываем экспортируемый отчет       
    Exporter.Report := RegRep;
    // Задаем отметку фиксированных измерений отчета
    SelSet := RegRep.GetBulkSelectionSet("1-2");
    SelSet.Item[0].Selection.SelectElement(1False);
    SelSet.Item[0].Selection.SelectElement(2False);
    SelSet.Item[0].Selection.SelectElement(3False);
    // Задаем параметры выполнения пакетного экспорта
    BulkSetting := Exporter.BulkSettings;
    BulkSetting.Enabled := True;
    BulkSetting.SelectionSet := SelSet;
    // Выполняем экспорт    
    Exporter.ExportToFile("c:\" + RegRep.Name + ".XLS""XLS");
    // Получаем сопоставление экспортированных файлов и ключей элементов отметки    
    filesDict := BulkSetting.FilesMapping;
    // Получаем массив ключей отметки
    keys := filesDict.Keys;
    keysArr := New Object[keys.Count];
    keys.CopyTo(keysArr, 0);
    // Получаем массив названий экспортированных файлов
    values := filesDict.Values;
    valuesArr := New Object[values.Count];
    values.CopyTo(valuesArr, 0);
    // Выводим сопоставление ключей элементов отметки и
    // соответствующих экспортированных файлов
    For Each v In keysArr Do
        vValue := filesDict.Item[v];
        stringToMemo := "Key: " + v + " ---> Value: " + vValue;
        System.Diagnostics.Debug.WriteLine(stringToMemo);
    End For;
End Sub;

См. также:

IPrxBulkSettings