IsLoaded: Boolean;
IsLoaded: boolean;
The IsLoaded propety determines whether data source of analytical area will be loaded.
The property is relevant, if delayed loading of analytical area sheets is set: the IEaxDataArea.DelayedLoad property is set to True.
Available values:
True. Source will be loaded. Default value for data sources on active sheet.
False. Source will not be loaded. Default value for data sources on inactive sheet.
Executing the example requires that repository contains data entry form with the DEF identifier that contains two sheets: one table area is on the first sheet, table area and dictionary attribute editor is on the second sheet.
Add links to the Express, Metabase and Report system assemblies.
Sub UserProc;
Var
MB: IMetabase;
Report: IPrxReport;
Sheets: IPrxSheets;
Sheet: IPrxSheet;
Area: IEaxDataArea;
Slices: IEaxDataAreaSlices;
Slice: IEaxDataAreaSlice;
Sources: IEaxDataAreaSources;
Source: IEaxDataAreaSource;
Views: IEaxDataAreaViews;
Object: IEaxObject;
i: integer;
Begin
// Get repository
MB := MetabaseClass.Active;
// Get form child object
Report := MB.ItemById("DEF").Children.Item(0).Edit As IPrxReport;
// Get analytical area of child object
Area := Report.DataArea As IEaxDataArea;
Debug.WriteLine("Sheets loading is delayed - " + Area.DelayedLoad.ToString);
// Get report sheets
Sheets := Report.Sheets;
// Set the first sheet is active
Sheet := Sheets.Item(0);
Sheet.Active := True;
// Get analytical area data sources
Sources := Area.DataSources;
// Load the second source
Source := Sources.Item(1);
Source.Load;
// Get analytical area slices
Slices := Area.Slices;
// Load the second slice
Slice := Slices.Item(1);
Slice.Load;
// Get analytical area objects
Views := Area.Views;
// Load the second object
Object := Views.Item(1);
Object.Load;
// Save child object
(Report As IMetabaseObject).Save;
End Sub UserProc;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Report;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Report: IPrxReport;
Sheets: IPrxSheets;
Sheet: IPrxSheet;
Area: IEaxDataArea;
Slices: IEaxDataAreaSlices;
Slice: IEaxDataAreaSlice;
Sources: IEaxDataAreaSources;
Source: IEaxDataAreaSource;
Views: IEaxDataAreaViews;
Object: IEaxObject;
i: integer;
Begin
// Get repository
MB := Params.Metabase;
// Get form child object
Report := MB.ItemById["DEF"].Children.Item[0].Edit() As IPrxReport;
// Get analytical area of child object
Area := Report.DataArea As IEaxDataArea;
System.Diagnostics.Debug.WriteLine("Sheets loading is delayed - " + Area.DelayedLoad.ToString());
// Get report sheets
Sheets := Report.Sheets;
// Set the first sheet is active
Sheet := Sheets.Item[0];
Sheet.Active := True;
// Get analytical area data sources
Sources := Area.DataSources;
// Load the second source
Source := Sources.Item[1];
Source.Load();
// Get analytical area slices
Slices := Area.Slices;
// Load the second slice
Slice := Slices.Item[1];
Slice.Load();
// Get analytical area objects
Views := Area.Views;
// Load the second object
Object := Views.Item[1];
Object.Load();
// Save child object
(Report As IMetabaseObject).Save();
End Sub;
After executing the example, the first sheet will be active in data entry form, all sources, slices and objects of the first sheet will be loaded, the second source, the second slice and the second object will be also loaded.
See also: