CalcOnChangedData: TriState;
CalcOnChangedData: Prognoz.Platform.Interop.ForeSystem.TriState;
Свойство CalcOnChangedData определяет, используется ли расчёт формул на измененных данных без предварительного сохранения данных в аналитической панели.
Возможные значения:
TriState.OnOption. Расчёт формул на измененных данных производится;
TriState.OffOption. Расчёт формул на измененных данных не производится;
TriState.Undefined. Значение по умолчанию. Расчёт формул на измененных данных не производится.
Для выполнения примера в репозитории предполагается наличие аналитической панели с идентификатором «DASHBOARD_CALC».
Добавьте ссылки на системные сборки: Adhoc, Metabase, ForeSystem (для примера на Fore.NET).
Sub UserProc;
Var
mb: IMetabase;
DashboardObj: IMetabaseObject;
Dashboard: IAdhocReport;
Begin
// Получим репозиторий
mb := MetabaseClass.Active;
// Получим
аналитическую панель
DashboardObj := mb.ItemById("DASHBOARD_CALC").Edit;
Dashboard := DashboardObj As IAdhocReport;
// Установим расчёт формул на измененных данных
If (Dashboard.CalcOnChangedData = TriState.OffOption) Or (Dashboard.CalcOnChangedData = TriState.Undefined) Then
Dashboard.CalcOnChangedData := TriState.OnOption;
End If;
// Сохраним аналитическую
панель
DashboardObj.Save;
End Sub UserProc;
Imports Prognoz.Platform.Interop.AdHoc;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.ForeSystem;
…
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
DashboardObj: IMetabaseObject;
Dashboard: IAdhocReport;
Begin
// Получим репозиторий
mb := Params.Metabase;
// Получим
аналитическую панель
DashboardObj := mb.ItemById["DASHBOARD_CALC"].Edit();
Dashboard := DashboardObj As IAdhocReport;
// Установим расчёт формул на измененных данных
If (Dashboard.CalcOnChangedData = Prognoz.Platform.Interop.ForeSystem.TriState.tsOffOption)
Or (Dashboard.CalcOnChangedData = Prognoz.Platform.Interop.ForeSystem.TriState.tsUndefined) Then
Dashboard.CalcOnChangedData := Prognoz.Platform.Interop.ForeSystem.TriState.tsOnOption;
End If;
// Сохраним аналитическую
панель
(DashboardObj As IMetabaseObject).Save();
End Sub;
В результате выполнения примера для аналитической панели будет включен расчёт формул на измененных данных без предварительного сохранения данных.
См. также: