Views:

Scenario Overview

In this scenario we will demonstrate how to set up a ClientSide Decision Table that you can use to generate an Audit Record ServerSide as well as carry out ClientSide actions.

For this article it is assumed that you have at least basic familiarity with Decision Tables and/or have read the following articles:

Note: We will not detail step-by-step instructions here on how to set up Conditions or Actions, please read the above articles if you need detailed configuration steps.

For this sample we will are going trigger formulas on the Invoice if someone without the Sales Manager security role opens the form. 

We have created a simple custom entity called an Audit Access Log that we will use to store the unauthorized access attempts.

The Business Rules

If someone opens an Invoice record without the Sales Manager Security Role
  • Hide the Tabs on the Invoice
  • Display a warning message
  • Create an Audit Access Log record

North52 Decision Suite Solution

The North52 Decision Suite solution works like this:

  • Decision Table of type 'ClientSide - Perform Action' is created on the Invoice entity
  • The Source Property is set to the 'OnLoad' event
  • The Event is set to 'Update'
  • Exit on First Match is turned On (checked)

The Decision Table

Note: By naming the Action columns as ClientSide the Decision Table understands that we want to execute a ClientSide formula here against the form rather than against a specific field. When we name a column as ServerSidethe Decision Table will execute that Action on the server instead of ClientSide. You can set the column name by right-clicking within the column to bring out the contextual menu, then select Set Action Column Options > Set ClientSide Action or Set ServerSide Action - see an example here.  

This Decision Table uses a Calculation to check if the user has the Sales Manager security role:

IsSalesManager

If(IsUserInSecurityRoles(WhoAmI(), 'Sales Manager'),
  true,
  false
  )




There is also a ServerSide Action to create the instance of the Audit Access Log record.

CreateAuditRecord

CreateRecord('new_auditaccesslog', 
             SetAttribute('new_name', 'Invoice Access - ' + UtcDateTime()),
             SetAttributeLookup('new_user', 'systemuser' , WhoAmI())

 )




Below is what a user without the Sales Manager Security Role will see:



The Audit Access Log record that was created when the user opened the Invoice


The Invoice when a user that has the Sales Manager security role opens the the Invoice 

Did you know?

North52 helps with Task Management in Dynamics 365

Whatever your process North52 can help with Task management and assignment. Some of the common areas we help streamline processes with business rules are:

  • Purchase Order Requests and Approvals
  • Double Blind Data Entry
  • Data/File Gathering
  • Customer On-boarding
  • Call Center Automation
  • Coordination of Front Office and Service People
  • Inbound Lead Management
  • Application Processing
  • Inventory Management
  • Supplier Vendor Portal
  • Purchasing
  • Invoice Tracking and Approvals

Learn more about the North52 Business Rules Engine