Copy([Sheet: IPrxSheet = Null], [Range: IPrxRange]): IPrxDataIsland;
Copy([Sheet: Prognoz.Platform.Interop.Report.IPrxSheet = Null], [Range: Prognoz.Platform.Interop.Report.IPrxRange]): Prognoz.Platform.Interop.Report.IPrxDataIsland;
Sheet. Лист регламентного отчета, куда будет скопирована область данных.
Range. Ячейка, либо диапазон ячеек, куда будет скопирована область данных.
Метод Copy осуществляет копирование области данных.
Для выполнения примера предполагается наличие регламентного отчета с идентификатором «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.
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;
См. также: