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"];