Microsoft Certified Partner : Microsoft Dynamics CRM
You are at Blog
 
QoS-IT Blog - Latest Articles
Jun16

Written by:Kbase QB
6/16/2009 10:26 AM 

Microsoft CRM provides an easy and simple way to customize renewal entity to track domain name registration and other recurring renewal payments managed on your customer’s behalf. Follow these step by step instructions to create renewal entity and workflows:
Step1: Create new entity
Click: Settings>Customization>Customized Entities>New
In section: “Entity definition”
Display name: Renewal
Plural Name: Renewals
Name: ask_renewal
In section: “Relationship” make sure that Notes (including attachments) & Activities are tagged (enabled)
In section: “Areas that display this entity” tag the modules where you wish the renewal entity to be displayed.
Click: Save. Do not close

Step2: Add attributes
Attributes are the fields storing data for each renewal record. Take extra care when creating attributes as changes to the attributes at later stage is limited.

For domain registration renewal we used the following new attributes as an example:
Renewal Date:  Type=datetime / Format=Date Only / Requirement Level=Business required (to ensure the renewal date field must be entered
Top Level Domain: Type=picklist. Using the Add button add the options available for selection from the pick list. You can set the mostly in use pick list option as default value. 
Registry Key: Type=nvarchar / Format=text /Maximum Length= 100
Invoice No: Type=nvarchar / Format=text /Maximum Length= 100
Payment Date: Type=datetime / Format=Date Only

 

Step3: Create relationships between Account & Renewal entities
Each Account has one or more renewal entities. To establish this type of relationships Click: "N:1 Relationships" from the menu item and then click: New N:1 Relationship button to create it.

Primary Entity = select Account
Display Name=Company 
Type of Behavior= Parental
Click: Save & Close

Step 4: Form design
Select Forms & Views from the side menu and open Form. Using Add Fields and Add a Section from  "Common Task" create a form similar to this one:

image
Click: Save & Close

To select the columns to display renewal records in list view

Click: View: Active Renewals - Default Public View. Add and arrange columns similar to this arrangement:

image 


Step 5: Workflows
5.1 Workflow: Email notification to customer
This workflow sends Email to customer to notify on upcoming renewal date.
Click: Settings>Workflows>New
Workflow Name= Renewal – Email Notification
Entity= Renewal
Click: OK
Start when= Record is Created
Add Step: Wait Condition.  Click to configure wait condition as: “Workflow”  “Time Out” “Equal” “Days:30 Before Renewal Date”  (use the Form Assistant to set the date field for time out).
Click: Save & Close
Add Step: Check Condition. Click to configure condition as: “Renewal “ “Status” “Equals” “Active”
Click: Save & Close
Add Step: Send Email. Click: Set Properties to design an Email:

image 
Click: Save & Close
Click: Publish to activate the workflow

5.2 Workflow: Create new renewal record
This workflow is activated when renewal has been paid and it creates new renewal record and set the current record to Inactive status.
Click: Settings>Workflows>New
Workflow Name= Create new renewal record
Entity= Renewal
Click: OK
Start when Record Attribute Change. Click Select: Tag the fields: Payment Date & Invoice No.
Add Step: Wait Condition. "Renewal" "Invoice No" "Contains Data" and "Renewal" "Payment Date" "Contains Data"
Click: Save & close
Add Step: Create Record. Using Form assistant add the following dynamic values:


image

Add Step: Change Status. Change Record Status "Renewal" "Inactive"

Tip:
The renewal workflow is activated when both fields Invoice No & Payment Date are not null. To ensure both fields are used add the following script in the renewal form properties.
Click: Forms & Views>Form>Form Properties>On Save>Edit
Tag Event is enabled to enable the script
Copy &  paste this script:
if((crmForm.all.ask_invoiceno.DataValue != null) && (crmForm.all.ask_paymentdate.DataValue ==null))
{
alert('Please enter payment date');
event.returnValue = false;
   }
if((crmForm.all.ask_invoiceno.DataValue == null) && (crmForm.all.ask_paymentdate.DataValue !=null))
{
alert('Please enter invoice number');
event.returnValue = false;
   }

Tags:
Blogs
Calendar
Search
 

 Call to Learn More: 1300-50-68-48
All trademarks are property of their respective owners.

 
Privacy Statement | Terms Of Use | Login | Copyright 2009 by Ask Software Solutions