Table of Contents

Misc Functions

LHS()

Returns the object on the left side of the = sign.

Example

LHS().ProductID returns the product id of the object on the left side of the = sign of the row currently being evaluated.

Example

The following example shows how to calculate the Amount by multiplying the Quantity by Price specified in a different spreadsheet, matching by ProductID.

@Amount[]= @Qty[] * @Price list!Price[ProductID == LHS().ProductID]

LHSVALUE(prop name)

Returns the value of the specified property of the object on the left side of the = sign

Example

LHSVALUE(AccountID) returns the account id of the object on the left side of the = sign of the row currencly being evaluated.

tmpl_foreach_operand(formula, operand template :string)

Accepts a formula expression and an operand template, and returns an AST representing a valid spreadsheet formula. The AST can be evaluated by the EVAL function and returns a value.

The #LHSCOL template token is replaced by the name of the column on the left hand side of the expression.
The #OP template token is replaced by the current operand token from the formula parameter.

Example

Formula = "L01 + L02" and left hand side column name is "Total", Given the expression:

tmpl_foreach_operand(Formula, "#LHSCOL[LineID == \"#OP\"]")

will return an AST equal to the AST of this formula:

@Total[] = @Total[LineID == "L01"] + @Total[LineID == "L02"] 

Example

Formula = "L01 + L02":

@Total[LineID == "L03"] =EVAL(tmpl_foreach_operand(Formula, "#LHSCOL[LineID ==\"#OP\"]"));

Will be translated into an AST and executed like a formula equivalent to:

@Total[LineID == "L03"] = @Total[LineID == "L01"] + @Total[LineID == "L02"];