UndoRedo: IUndoRedo;
UndoRedo: Prognoz.Platform.Interop.ForeSystem.UndoRedo;
Свойство UndoRedo возвращает параметры стека изменений таблицы.
Для использования параметров стека изменений необходимо, чтобы свойство IUndoRedo.Enabled принимало значение True.
Для выполнения примера в репозитории предполагается наличие экспресс-отчета с идентификатором EXPRESS_REPORT, содержащего таблицу.
Добавьте ссылки на системные сборки: Express, Metabase, Pivot.
Sub UserProc;
Var
Metabase: IMetabase;
Analyzer: IEaxAnalyzer;
Pivot: IPivot;
UndoRedo: IUndoRedo;
Begin
// Получим репозиторий
Metabase := MetabaseClass.Active;
// Получим экспресс-отчёт
Analyzer := Metabase.ItemById("EXPRESS_REPORT").Edit As IEaxAnalyzer;
// Получим таблицу экспресс-отчета
Pivot := Analyzer.Pivot;
//Получим стек изменений таблицы
UndoRedo := Pivot.UndoRedo;
// Зададим доступность и количество изменений стека
UndoRedo.Enabled := True;
UndoRedo.Limit := 20;
//Сохраним изменения в экспресс-отчете
(Analyzer As IMetabaseObject).Save;
End Sub UserProc;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Pivot;
Imports Prognoz.Platform.Interop.ForeSystem;
Public Shared Sub Main(Params: StartParams);
Var
Metabase: IMetabase;
Analyzer: IEaxAnalyzer;
Pivot: IPivot;
UndoRedo: UndoRedo;
Begin
// Получим репозиторий
Metabase := Params.Metabase;
// Получим экспресс-отчёт
Analyzer := Metabase.ItemById["EXPRESS_REPORT"].Edit() As IEaxAnalyzer;
// Получим таблицу экспресс-отчета
Pivot := Analyzer.Pivot;
//Получим стек изменений таблицы
UndoRedo := Pivot.UndoRedo;
// Зададим доступность и количество изменений стека
UndoRedo.Enabled := True;
UndoRedo.Limit := 20;
//Сохраним изменения в экспресс-отчете
(Analyzer As IMetabaseObject).Save();
End Sub;
После выполнения примера для таблицы экспресс-отчёта будет доступен стек изменений с ограничением по количеству операций отмены/повтора, равному 20 действиям.
См. также: