IPrxDataIslandDimensionLayoutFormulaParser.Parse

Синтаксис

Parse(Formula: String);

Описание

Метод Parse осуществляет разбор формулы, заданной в виде текстовой строки.

Пример

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием «Button1», компонента UiReport с идентификатором «UiReport1», являющимся источником данных для компонента ReportBox. В репозитории должен располагаться регламентный отчет «OBJ_REPORT», содержащий область данных.

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);

Var

MB: IMetabase;

ReportObj: IMetabaseObject;

Report: IPrxReport;

DIs: IPrxDataIslands;

DI: IPrxDataIsland;

Prop: IPrxDataIslandProperties;

Dim: IDimInstance;

DimProp: IPrxDataIslandDimension;

Layout: IPrxDataIslandDimensionLayout;

RN: IPrxDataIslandDimensionLayoutNodes;

Element: IPrxDataIslandDimensionLayoutNode;

FormulaParser: IPrxDataIslandDimensionLayoutFormulaParser;

Term: String;

Begin

MB := MetabaseClass.Active;

ReportObj := MB.ItemById("OBJ_REPORT").Edit;

Report := ReportObj As IPrxReport;

DIs := Report.DataIslands;

DI := DIs.Item(0).Edit;

Prop := DI.Properties;

Dim := DI.Slice.LeftHeader.Item(0).Dimension;

DimProp := Prop.Dimension(Dim.Dimension);

DimProp.CustomLayout := True;

Layout := DimProp.Layout;

Layout.FitToSelection := False;

RN := Layout.RootNodes;

RN.Clear;

Element := RN.Add;

Element.DimElement(Dim) := 1;

Element.Caption := "Элемент";

FormulaParser := Layout.CreateFormulaParser;

Term := FormulaParser.AddTerm;

FormulaParser.TermType(Term) := LayoutFormulaTermType.Value;

Element := RN.Add;

Element.DimElement(Dim) := 1;

Element.Caption := "Удвоенный элемент";

FormulaParser.Node := Element;

FormulaParser.Parse(Term + " * 2");

DI.Save;

Report.Recalc;

ReportObj.Save;

UiReport1.Active := False;

UiReport1.Instance := ReportObj;

End Sub Button1OnClick;

После выполнения примера в области данных (первой в коллекции областей данных регламентного отчета) будут созданы два элемента заголовка. Для значений второго элемента будет определена формула: удвоенное значение первого элемента.

См. также:

IPrxDataIslandDimensionLayoutFormulaParser