IEaxObject.Id

Синтаксис Fore

Id: String;

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

Id: string;

Описание

Свойство Id определяет идентификатор объекта.

Комментарии

В качестве символов идентификатора можно задавать только символы латинского алфавита, а также цифры и знак нижнего подчеркивания «_».

Пример Fore

Для выполнения примера в репозитории необходимо наличие регламентного отчета с идентификатором «REG_REPORT». Отчет содержит аналитическую область данных.

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

Sub UserProc;
Var
    MB: IMetabase;
    Rep: IPrxReport;
    PivSlice: IEaxDataAreaSlice;
    GridObject: IEaxObject;
    Grid: IEaxGrid;
    Tab: IPrxTable;
    Sheet: ITabSheet;
    Range: ITabRange;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим экспресс-отчет
    Rep := MB.ItemById("REG_REPORT").Edit As IPrxReport;
    // Получим срез аналитической области данных
    PivSlice := Rep.DataArea.Slices.Item(0);
    // Создадим копию среза данных
    PivSlice.Copy(EaxSliceCopyOptions.All);
    // Получим объект для работы с таблицей
    GridObject := PivSlice.Views.Item(0As IEaxObject;
    // Изменим идентификатор объекта
    If GridObject.Id.IsEmpty Then
        GridObject.Id := "GridTab";
    End If;
    // Отключим сохранение данных в источник
    GridObject.AllowSaveData := False;
    // Создадим копию таблицы
    Grid := PivSlice.Views.Item(0As IEaxGrid;
    Tab := Rep.Sheets.Item(0As IPrxTable;
    Sheet := Tab.TabSheet;
    Range := Sheet.ParseRange("A0:H6");
    Grid.Copy(Sheet, Range);
    // Сохраним изменения в экспресс-отчете
    (Rep As IMetabaseObject).Save;
End Sub UserProc;

После выполнения примера:

Пример Fore.NET

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

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

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Rep: IPrxReport;
    PivSlice: IEaxDataAreaSlice;
    GridObject: IEaxObject;
    Grid: IEaxGrid;
    Tab: IPrxTable;
    Sheet: TabSheet;
    Range: ITabRange;
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Получим экспресс-отчет
    Rep := MB.ItemById["REG_REPORT"].Edit() As IPrxReport;
    // Получим срез аналитической области данных
    PivSlice := Rep.DataArea.Slices.Item[0];
    // Создадим копию среза данных
    PivSlice.Copy(EaxSliceCopyOptions.escoAll);
    // Получим объект для работы с таблицей
    GridObject := PivSlice.Views.Item[0As IEaxObject;
    // Изменим идентификатор объекта
    If GridObject.Id.IsEmpty Then
        GridObject.Id := "GridTab";
    End If;
    // Отключим сохранение данных в источник
    GridObject.AllowSaveData := False;
    // Создадим копию таблицы
    Grid := PivSlice.Views.Item[0As IEaxGrid;
    Tab := Rep.Sheets.Item[0As IPrxTable;
    Sheet := Tab.TabSheet;
    Range := Sheet.ParseRange("A0:H6");
    Grid.Copy(Sheet, Range);
    // Сохраним изменения в экспресс-отчете
    (Rep As IMetabaseObject).Save();
End Sub;

См. также:

IEaxObject