MainAccount::getAdvancedRules Method
Gets the advanced rules which use the specified main account in their criteria.
Syntax
client server public static container getAdvancedRules(MainAccountRecId _mainAccountRecId, [LedgerRecId _ledger])
Run On
Called
Parameters
- _mainAccountRecId
Type: MainAccountRecId Extended Data Type
The main account for which rules should be found.
- _ledger
Type: LedgerRecId Extended Data Type
The ledger to restrict rules to if applicable; otherwise, zero to include all ledgers.
Return Value
Type: container
A container of the advanced rules for the account.
Remarks
The structure of the recursive container is as follows.
[ [Element 1 Name, [Child 1 Name, [Grand Child 1 Name, ..., ..., ...], [Grand Child 2 Name, ..., ..., ...], ...], [Child 2 Name, [Grand Child 2 Name, ..] ..] [Element 2 Name, ] A pass-by-value weak type of container is used for the return value of this method because the query operations are heavily data-bound and therefore must occur on the server to avoid a high RPC count.
All of this hierarchical data must then be passed by value to the client which must be able to render the information without requiring calls back to the server tier again. The use of strongly-typed classes for the return were considered, but the overhead of adding these additional four classes together with all the pack/unpack logic was deemed too heavy for the use of this one method.