Back

Wrong Date in Dynamics CRM/D365 for Customer Engagement Data Source

Published: Feb 13, 2019
Post Author Written by Ethan Sorenson

If you have ever needed to pull a time field from Dynamics CRM, the chances are the time shown in SmartConnect does not match the value seen in the CRM web client. There is a reason for this discrepancy, and in this article we will discuss how to use a calculated column to convert the time to the correct value.

Cause

SmartConnect uses the D365 web services to pull your data source. The web services return datetime fields exactly as they are stored in the D365 SQL tables. There are four ways datetime fields are stored.

  • User Local: Date is stored in table as UTC and when a client pulls the date it is converted to the user’s local time zone.
  • Time-Zone Independent: The value is stored in the local format, and will be retrieved by all clients in the same format.
  • Date Only: Only the date is set, but the field will contain a time value of 12:00AM.
  • Time Only: Only the time value is set, but the field will use the current date.

The format that will be used to set the date are specified when creating the field in CRM.

Resolution

User Local

A Calculated Column can be used to convert the field to the correct value.

If _MSDYN_TIMEWINDOWSTART = "" then
return ""
else
Dim UTCdate as date = _MSDYN_TIMEWINDOWSTART
return UTCdate.ToLocalTime()
end if

 

Date Only

A Calculated Column can be used to return only the date.

If _MSDYN_TIMEWINDOWSTART = "" then
return ""
else
return Convert.ToDateTime(_MSDYN_TIMEWINDOWSTART).ToString("yyyy-MM-dd")
end if

 

Time Only

A Calculated Column can be used to return only Time value

'Time-Zone Independent
If _MSDYN_TIMEWINDOWSTART = "" then
return ""
else
return Convert.ToDateTime(_MSDYN_TIMEWINDOWSTART).ToString("hh:mm tt")
end if

'Time-Zone Dependant
If _MSDYN_TIMEWINDOWSTART = "" then
return ""
else
Dim UTCdate as date = _MSDYN_TIMEWINDOWSTART
return UTCdate.ToLocalTime().ToString("hh:mm tt")
end if

Resource

Microsoft article about date and time fields.

Feeling stuck? Get the support and guidance you need to help you power through any data challenge

We're on your integration team. Connect with our people and let us know how we can help you.