InsertAfter(Index: Integer; Name: String; [Type: PrxSheetType = 1]): IPrxSheet;
Index. Индекс листа, после которого необходимо вставить новый лист;
Name. Наименование нового листа;
Type. Тип добавляемого листа, по умолчанию будет добавлен лист табличного типа.
Метод InsertAfter осуществляет вставку нового листа в позицию, следующую сразу за листом с индексом Index.
Если значение параметра Type равно PrxSheetType.Table, возвращаемый методом InsertAfter лист может быть приведен к интерфейсу IPrxTable, если равно PrxSheetType.JsPlugin - к интерфейсу IPrxJsPlugin.
Для выполнения примера в репозитории предполагается наличие регламентного отчета с идентификатором 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, "Sheet" + (i + 1).ToString, PrxSheetType.Table);
Debug.WriteLine("Вставлен лист: " + Sheet.Name + ".");
// Сохраняем отчёт
(Report As IMetabaseObject).Save;
End Sub UserProc;
В результате выполнения примера в отчёт после первого листа будет вставлен табличный лист, в консоль среды разработки будет выведена информация о вставке листа.
См. также: