Scenario Overview
In this business scenario you have a requirement that whenever a user opens an Account record or a user changes the category of a customer that you check the value of outstanding Invoices for that customer. And if the value is more than 50k then display a form level notification to the user stating not to create any more Orders for this customer.
This is a sensitive requirement for the customer & so the query to find the sum of outstanding Invoices needs to be run in real-time, which is the default for North52 formulas..
North52 Decision Suite Solution
The North52 Decision Suite solution works like this,
- We create a formula of type 'ClientSide - Perform Action' for the Account entity
- This formula will be executed for the OnLoad event of the form & for the OnChange event of the Category field.
- The formula itself will run a query against the Invoice entity to Sum all the oustanding Invoices for the current customer.
- If the value exceeds 50k then a Form Level Notification will be shown to the end user.
North52 Decision Suite Steps
- Create a new formula of type 'ClientSide - Perform Action'
- Set the Source Entity to 'Account'
- Set the Source Property to 'OnLoad & Category' for the desired form and\or forms. (Use the Ctrl key to multi-select)
- Copy & paste the formula below into the formula description field & click save
- Next click N52 Commands on the command bar & choose the 'Publish Formula' menu option.
- You are ready to test
Formula
if( ([account.accountcategorycode] = 2 and FindSum('invoice',
'customerid',
[account.accountid],
'totalamount','0',true) > 50000),
SetFormNotification(This standard customer is over the 50k invoice limit.
DO NOT CREATE ANY ORDERS !!!, WARNING, msg1),
ClearFormNotification(msg1)
)
Wizard - FindSum
Please see below the wizard you can use to create the FindSum() function call used in this formula.