Loop through Account for Confirmation Rules

New Contributor III


I am looking to  write a confirmation rule which pulls a value for a flow member across each account. An example would be we have a calculated opening balance and a loaded opening balance. There is a flow members which calculates the variance between the loaded and the calculated beginning balance. 

If the absolute value within the validation flow member <> 0 I want the rule to return which accounts are causing the outage within the info1. 

I'm looking forward to seeing if if anyone else has come across something like this.




Honored Contributor

This sounds like "do my homework" eh 😏 I'd suggest starting with this old ppt... But here's some untested code to give you an idea for a possible technique.


' F#YourBalanceFlow is probably too generic, you should add as many other dimensions as you can
Dim BadAccounts as new List(Of Integer)
Dim dbuf As DataBuffer = api.Data.GetDataBufferUsingFormula( _
		"FilterMembers(F#YourBalanceFlow, A#Account1, A#Account2, A#Account3)")  ' etc etc, or use expansions
For Each myCell As DataCell In dbuf.DataBufferCells.Values
	If Not BadAccounts.Contains(myCell.DataCellPk.AccountId) Then
		If myCell.CellAmount <> 0 Then
		End If
	End If

If BadAccounts.Count > 0 Then
	Dim message As String = $"The following accounts failed validation: {VbCrLf}"
	For Each accountId As Integer In BadAccounts
		' turn that ID into a readable account name
		message &= api.Members.GetMemberName(dimtype.Account.Id, accountId) & $" {VbCrLf}"
	args.ConfirmationRuleArgs.Info1 = message
	Return False
End If
args.ConfirmationRuleArgs.Info1 = "All good, surf up dude"
Return True