IPrxDataIsland.Copy

Синтаксис Fore

Copy([Sheet: IPrxSheet = Null], [Range: IPrxRange]): IPrxDataIsland;

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

Copy([Sheet: Prognoz.Platform.Interop.Report.IPrxSheet = Null], [Range: Prognoz.Platform.Interop.Report.IPrxRange]): Prognoz.Platform.Interop.Report.IPrxDataIsland;

Параметры

Sheet. Лист регламентного отчета, куда будет скопирована область данных.

Range. Ячейка, либо диапазон ячеек, куда будет скопирована область данных.

Описание

Метод Copy осуществляет копирование области данных.

Пример Fore

Для выполнения примера предполагается наличие регламентного отчета с идентификатором «REPORT», который содержит область данных и 2 листа. Добавьте ссылки на системные сборки: Metabase, Report, Tab.

Sub UserProc;
Var
    MB: IMetabase;
    MObj: IMetabaseObject;
    DI: IPrxDataIsland;
    Range: ITabRange;
    Report: IPrxReport;
    Sheets: IPrxSheets;
    Sheet: IPrxSheet;
    Table: ITabSheet;
Begin
    MB := MetabaseClass.Active;
    MObj := MB.ItemById(
"REPORT").Edit;
    Report := MObj 
As IPrxReport;
    DI := Report.DataIslands.Item(
0);
    
// Задаем ячейку и копируем область данных.
    Sheets := Report.Sheets;
    Sheet := Sheets.Item(Report.Sheets.Count-
1);
    Table := Sheet.Table;
    Range := Table.Cell(
20,5);
    DI.Copy(Sheet,Range);
    
// Сохраняем отчет.
    MObj.Save;
End Sub UserProc;

После выполнения примера на последний лист регламентного отчета «REPORT» в ячейку «F20» будет скопирована первая область данных.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.Metabase;

Public Class StartParams

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    MObj: IMetabaseObject;
    DI: IPrxDataIsland;
    Range: ITabRange;
    Report: IPrxReport;
    Sheets: IPrxSheets;
    Sheet: IPrxSheet;
    Table: ITabSheet;
Begin
    MB := Params.Metabase;
    MObj := MB.ItemById["REPORT"].Edit();
    Report := MObj As IPrxReport;
    DI := Report.DataIslands.Item[0];
    // Задаем ячейку и копируем область данных.
    Sheets := Report.Sheets;
    Sheet := Sheets.Item[Report.Sheets.Count-1];
    Table := Sheet.Table;
    Range := Table.Cell[20,5];
    DI.Copy(Sheet,Range);
    // Сохраняем отчет.
    MObj.Save();
End Sub;

См. также:

IPrxDataIsland