IPrxSheets.InsertAfter

Синтаксис

InsertAfter(Index: Integer; Name: String; [Type: PrxSheetType = 1]): IPrxSheet;

Insert(Index: integer; Name: string; Type: Prognoz.Platform.Interop.Report.PrxSheetType): Prognoz.Platform.Interop.Report.IPrxSheet;

Параметры

Index. Индекс листа, после которого необходимо вставить новый лист;

Name. Наименование нового листа;

Type. Тип добавляемого листа, по умолчанию будет добавлен лист табличного типа.

Описание

Метод InsertAfter осуществляет вставку нового листа в позицию, следующую сразу за листом с индексом Index.

Комментарии

Если значение параметра Type равно PrxSheetType.Table, возвращаемый методом  InsertAfter лист может быть приведен к интерфейсу IPrxTable, если равно PrxSheetType.Document - к интрефейсу IPrxDocument.

Пример

Для выполнения примера в репозитории предполагается наличие регламентного отчета с идентификатором REPORT.

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

Sub UserProc;
Var
    MB: IMetabase;
    Report: IPrxReport;
    Sheets: IPrxSheets;
    Sheet: IPrxSheet;
    i: Integer;
Begin
    
// Получаем текущий репозиторий
    MB := MetabaseClass.Active;
    
// Получаем отчёт
    Report := Mb.ItemById("REPORT").Edit As IPrxReport;
    
// Получаем листы отчёта
    Sheets := Report.Sheets;
    i := Sheets.Count;
    
// Вставляем текстовый лист
    Sheet := Sheets.InsertAfter(0"Doc" + (i + 1).ToString, PrxSheetType.Document);
    Debug.WriteLine(
"Вставлен текстовый лист " + Sheet.Name + ".");
    
// Сохраняем отчёт
    (Report As IMetabaseObject).Save;
End Sub UserProc;

Imports Prognoz.Platform.Interop.Report;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Report: IPrxReport;
    Sheets: IPrxSheets;
    Sheet: IPrxSheet;
    i: integer;
Begin
    
// Получаем текущий репозиторий
    MB := Params.Metabase;
    
// Получаем отчёт
    Report := Mb.ItemById["REPORT"].Edit() As IPrxReport;
    
// Получаем листы отчёта
    Sheets := Report.Sheets;
    i := Sheets.Count;
    
// Вставляем текстовый лист
    Sheet := Sheets.InsertAfter(0"Doc" + (i + 1).ToString(), PrxSheetType.pstDocument);
    System.Diagnostics.Debug.WriteLine(
"Вставлен текстовый лист " + Sheet.Name + ".");
    
// Сохраняем отчёт
    (Report As IMetabaseObject).Save();
End Sub;

В результате выполнения примера в отчёт после первого листа будет вставлен текстовый лист, в окно консоли будет выведена информация о вставке листа.

См. также:

IPrxSheets | IPrxTable | IPrxDocument