StateOptions: Integer;
StateOptions: integer;
Свойство StateOptions определяет дополнительное состояние, используемое при открытии регламентного отчета на просмотр.
При задании StateOptions установка свойства IPrxReportOptions.NoRecalcOnOpen будет игнорироваться и:
при установке StateOptions = 1, будет считаться, что в параметрах регламентного отчета флажок «Не вычислять отчет при открытии» был установлен;
при установке StateOptions = 2, будет считаться, что в параметрах регламентного отчета флажок «Не вычислять отчет при открытии» не был установлен.
Для выполнения примера предполагается наличие регламентного отчета с идентификатором «REGULAR_REPORT».
Добавьте ссылки на системные сборки Metabase, Report.
Sub UserProc;
Var
MB: IMetabase;
MBobj : IMetabaseObjectDescriptor;
Param : IMetabaseObjectParamValues;
ParamEx : IMetabaseObjectParamValuesEx;
Report: IPrxReport;
Recalc: Boolean;
Begin
MB := MetabaseClass.Active;
MBobj := MB.ItemById("REGULAR_REPORT").Bind;
Param := MBobj.Params.CreateEmptyValues;
Param.Item(0).Value := DateTime.Today;
ParamEx := Param As IMetabaseObjectParamValuesEx;
Report := MBobj.Open(Param) As IPrxReport;
Recalc := Report.Options.NoRecalcOnOpen;
If Recalc Then
ParamEx.StateOptions := 2;
Else
ParamEx.StateOptions := 1;
End If;
End Sub UserProc;
При выполнении примера будет выполнена проверка на значение, установленное в свойстве IPrxReportOptions.NoRecalcOnOpen. В зависимости от этого значения будет установлено значение свойства StateOptions.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Report;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
MBobj : IMetabaseObjectDescriptor;
Param : IMetabaseObjectParamValues;
ParamEx : IMetabaseObjectParamValuesEx;
Report: IPrxReport;
Recalc: Boolean;
Begin
MB := Params.Metabase;
MBobj := MB.ItemById["REGULAR_REPORT"].Bind();
Param := MBobj.Params.CreateEmptyValues();
Param.Item[0].Value := DateTime.Today;
ParamEx := Param As IMetabaseObjectParamValuesEx;
Report := MBobj.Open(Param) As IPrxReport;
Recalc := Report.Options.NoRecalcOnOpen;
If Recalc Then
ParamEx.StateOptions := 2;
Else
ParamEx.StateOptions := 1;
End If;
End Sub;
См. также: