GetFootnotesTransformations(Value: IDataAreaTransformationsGetter): IEaxDataAreaTransformations;
GetFootnotesTransformations(Value: Prognoz.Platform.Interop.ForeSystem.IDataAreaTransformationsGetter): Prognoz.Platform.Interop.Express.IEaxDataAreaTransformations;
Value. Объект, получающий коллекции формул преобразования данных.
Метод GetFootnotesTransformations возвращает коллекцию формул преобразования данных для сносок.
Полученные формулы преобразования позволяют сформировать текст сносок с помощью формул.
Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «EXPRESS_REPORT». Среди измерений источника должно быть измерение с идентификатором «COUNTRY».
Sub UserProc;
Var
MB: IMetabase;
Express: IEaxAnalyzer;
Slice: IEaxDataAreaSlice;
Pivot: IPivot;
Getter: IDataAreaTransformationsGetter;
Trans: IEaxDataAreaTransformations;
Tran: IEaxDataAreaTransformation;
Item: IPivotDimension;
SelSet: IDimSelectionSet;
Sel: IDimSelection;
Begin
MB := MetabaseClass.Active;
Express := MB.ItemById("EXPRESS_REPORT").Edit As IEaxAnalyzer;
//Срез аналитической области данных
Slice := Express.DataArea.Slices.Item(0);
Pivot := Express.Pivot;
//Измерение, для которого будут добавлены сноски
Item := Pivot.Dimensions.FindByKey(MB.GetObjectKeyById("COUNTRY"));
Getter := Item As IDataAreaTransformationsGetter;
Trans := Slice.GetFootnotesTransformations(Getter);
SelSet := Pivot.Selection.CreateCopy;
For Each Sel In SelSet Do
Sel.DeselectAll;
End For;
//Формула преобразования для формирования текста сносок
If Trans.Count > 0 Then
Tran := Trans.Item(0);
Else
Tran := Trans.Add(SelSet, Null, -1);
End If;
Tran.Enabled := True;
Tran.Expression.AsString := #34 + "Общие данные за прошлый год" + #34;
Pivot.Refresh;
(Express As IMetabaseObject).Save;
End Sub UserProc;
При выполнении примера в указанном экспресс-отчете для элементов измерения «COUNTRY» будут настроены сноски.
Необходимые требования и результат выполнения примера Fore.NET совпадают
с примером Fore.
Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.ForeSystem;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Pivot;
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Express: IEaxAnalyzer;
Slice: IEaxDataAreaSlice;
Pivot: IPivot;
Getter: IDataAreaTransformationsGetter;
Trans: IEaxDataAreaTransformations;
Tran: IEaxDataAreaTransformation;
Item: IPivotDimension;
SelSet: IDimSelectionSet;
Sel: IDimSelection;
Begin
MB := Params.Metabase;
Express := MB.ItemById["EXPRESS_REPORT"].Edit() As IEaxAnalyzer;
//Срез аналитической области данных
Slice := Express.DataArea.Slices.Item[0];
Pivot := Express.Pivot;
//Измерение, для которого будут добавлены сноски
Item := Pivot.Dimensions.FindByKey(MB.GetObjectKeyById("COUNTRY"));
Getter := Item As IDataAreaTransformationsGetter;
Trans := Slice.GetFootnotesTransformations(Getter);
SelSet := Pivot.Selection.CreateCopy();
For Each Sel In SelSet Do
Sel.DeselectAll();
End For;
//Формула преобразования для формирования текста сносок
If Trans.Count > 0 Then
Tran := Trans.Item[0];
Else
Tran := Trans.Add(SelSet, Null, uinteger.MaxValue);
End If;
Tran.Enabled := True;
Tran.Expression.AsString := char.ConvertFromUtf32(34) + "Общие данные за прошлый год" + char.ConvertFromUtf32(34);
Pivot.Refresh();
(Express As IMetabaseObject).Save();
End Sub;
См. также: