GetFootnotesTransformations(Value: IDataAreaTransformationsGetter): IEaxDataAreaTransformations;
GetFootnotesTransformations(Value: Prognoz.Platform.Interop.ForeSystem.IDataAreaTransformationsGetter): Prognoz.Platform.Interop.Express.IEaxDataAreaTransformations;
Value. Объект, для которого будет получена коллекция формул преобразования данных.
Метод GetFootnotesTransformations возвращает коллекцию формул преобразования данных, которые будут использоваться для формирования сносок к элементам измерения.
В качестве значения параметра Value необходимо передать какое-либо измерение источника данных приведённое к интерфейсу IDataAreaTransformationsGetter. Формула, которая будет указана в выражении формулы преобразования, будет использоваться для формирования текста сносок. Текст сносок формируется по одной формуле для всех элементов измерения. Для того, чтобы элементы имели разные сноски, формула должна возвращать различные значения.
Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «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 := "{X.COUNTRY.NAME}";
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 := "{X.COUNTRY.NAME}";
Pivot.Refresh();
(Express As IMetabaseObject).Save();
End Sub;
См. также: