Understanding PrimaryEntityImage, PrimaryEntityPreImage and PrimaryEntityPostImage for Custom Workfow Activity in CRM 4.

Suppose we have written a simple workflow activity that references values for the above Images and have registered it on create of lead record.

The attributes included within the images would be following

Record is created Lead
   
PrimaryEntityImage fullname
  leadid
  owningbusinessunit
   
PrimaryEntityPreImage null
   
PrimaryEntityPostImage leadid
  owningbusinessunit
  ownerid
   

 

Now suppose we register it on Record attribute change and select city and description for lead.

Now suppose we specify value for those fields and save the record. Here the values for the images would be

Record attributes change Lead
   
PrimaryEntityImage fullname
  leadid
  owningbusinessunit
   
PrimaryEntityPreImage fullname
  leadid
  owningbusinessunit
  ownerid
   
PrimaryEntityPostImage leadid
  owningbusinessunit
  ownerid
   

 

Except for values in PrimaryEntityPreImage there is hardly any change in the Images.

Now lets modify the workflow and add a check condition step that would check if both the city and description field contains data for lead.

Now after modifying the values for city and description field for a lead ,these are the values we get in the images.

Record attributes change (after check condition) Lead
   
PrimaryEntityImage fullname
  leadid
  owningbusinessunit
  address1_city
description
   
PrimaryEntityPreImage fullname
  leadid
  owningbusinessunit
  ownerid
  address1_city
description
   
PrimaryEntityPostImage leadid
  owningbusinessunit
  ownerid

 

Address1_city and Description field has got added for PrimaryEntityImage and PrimaryEntityPreImage.

Now if we remove check condition for city field for lead,

Record attributes change (after check condition) Lead
   
PrimaryEntityImage fullname
  leadid
  owningbusinessunit
  description
   
PrimaryEntityPreImage fullname
  leadid
  owningbusinessunit
  ownerid
  description
   
PrimaryEntityPostImage leadid
  owningbusinessunit
  ownerid

 

We could see that address1_city is not there in the images.

Now lets further modify our workflow, remove the check condition and add a step to create an account record and set dynamic values for fields in account using the industrycode and emailaddress1 field of the lead record.

Record attributes change (Step for Creating Record) Lead
   
PrimaryEntityImage fullname
  leadid
  owningbusinessunit
  industrycode
emailaddress1
   
PrimaryEntityPreImage fullname
  leadid
  owningbusinessunit
  ownerid
  industrycode
emailaddress1
   
PrimaryEntityPostImage leadid
  owningbusinessunit
  ownerid

 

We can see that both these fields are added to images.

And here PrimaryEntityPreImage would contain the values for the field before they were modified and and PrimaryEntityImages would contain the modified values for those field. The PrimaryEntityPostImage would not have these attributes inside it.

So it proves that an attribute would be included in the entity images if we are referencing that property in our Check Condition or as a dynamic value within the workflow.

Bye.


Author: Nishant Rana

I love working in and sharing everything about Microsoft.NET technology !

Share your thoughts

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s