Views:

Overview

Easily create a Microsoft Dynamics Field Service Work Order from a Quote using the North52 business rules engine.  There is no out-of-the-box capability to create a Work Order from a Quote, but it can easily done using North52. This article outlines the steps required to create this functionality.

The animation below shows a user clicking a custom ribbon but to convert the Quote to a Work Order:

North52 Decision Suite Solution

The North52 Decision Suite solution works like this:

  • A Formula is set up on the Quote  table which:
    • Creates a new Work Order
    • Creates the corresponding Work Order Items
    • Opens the newly create Work Order record
  • A command button is added to the Quote Form to call the North52 Formula via North52 Quick Ribbon functionality

Set up Formula and Command Button

Formula

  • Open the North52 App
  • Navigate to Business Process Activities > Formulas
  • Create a new formula, setting the following values in the Formula Guide:
    • Source Entity set to Quote
    • Set Formula Type to ClientSide - Calculation
    • Select the Decision Table editor
  • Change the Name of the formula to Generate Work Order from Quote - North52 Quick Ribbon
  • Click Save
  • Create the following Decision Table sheets as shown below:

Create Work Order sheet

This sheet creates a new Work Order record using details from the Quote record (Potential Customer and Price List). 

  • Right-click on Sheet then select Set Sheet Options > Use CreateRecord

Create Line Items Sheet

This sheet loops over the Quote Line Items and creates corresponding Work Order Line Items.

  • Right-click on Sheet then select Set Sheet Options > Use CreateRecord
  • To show row 3, right-click on the Decision Table sheet and select Operations > Toggle Advanced Mode (or press F4)
  • In cell A4, the FindRecords() function is used to find all the Quote's line item records: FindRecords('quotedetail','quoteid',[quote.quoteid],'*','50','true')
  • In cell C4, the Work Order lookup value is set using the id of the record created in the first sheet
    • This can be set by selecting the Source tab then expanding Decision Table Calculations > Create Work Order > Create Work Order-Row-0004
  • In cells D4-DF, the CurrentRecord() function is used to set values from the Quote Line items

Open Work Order sheet

The final sheet opens the new Work Order record.

  • Right-click on Sheet then select Set Sheet Options > Use ClientSide
  • In cell B4, the second parameter of the OpenEntityForm() function is set using the id of the record created in the first sheet
    • This can be set by selecting the Source tab then expanding Decision Table Calculations > Create Work Order > Create Work Order-Row-0004

Command Button

Create an new Command Button using the Command Designer:

  • Action - set to Run JavaScript
  • Library - select the north52_quick_ribbon.js library (you need to have installed the North52 Quick Ribbon solution)
  • Set the Function Name to N52QuickRibbon.ExecuteFormulaOnForm
  • Click Add parameter
    • For Parameter 1 select PrimaryControl
  • Click Add parameter
    • For Parameter 2 select String and Enter the Formula Short Code in the text box, in our case this is nDq