Hi Community Team,
I have the custom dateofbirth field in Lead form which I need to used to filter leads in CRM Onlinewhich are having the same dateofbirth when creating the new leads.
https://community.dynamics.com/crm/f/117/t/216135
As per referring the above link, I built my javascript code as below get the Date as per OData filter.
function getODataUTCDateFilter(date) {
var monthString;
var rawMonth = (date.getUTCMonth() + 1).toString();
if (rawMonth.length == 1) {
monthString = "0" + rawMonth;
}
else { monthString = rawMonth; }
var dateString;
var rawDate = date.getUTCDate().toString();
if (rawDate.length == 1) {
dateString = "0" + rawDate;
}
else { dateString = rawDate; }
var hourString = date.getUTCHours().toString();
if (hourString.length == 1)
hourString = "0" + hourString;
var minuteString = date.getUTCMinutes().toString();
if (minuteString.length == 1)
minuteString = "0" + minuteString;
var secondString = date.getUTCSeconds().toString();
if (secondString.length == 1)
secondString = "0" + secondString;
var DateFilter = new String();
DateFilter += date.getUTCFullYear() + "-";
DateFilter += monthString + "-";
DateFilter += dateString;
DateFilter += "T" + hourString + ":";
DateFilter += minuteString + ":";
DateFilter += secondString;
return DateFilter;
}
var dateofbirth = Xrm.Page.getAttribute("dateofbirth");
var odataDateFormat =getODataUTCDateFilter(dateofbirth.getValue());
alert(odataDateFormat);
When I was alerting the odataDateFormat, I do not get the same value which is entered on the form. see the screenshot below.
The API call is as below
var context = Xrm.Page.context;
var serverUrl = context.getClientUrl();
var ODataPath = serverUrl + "/XRMServices/2011/OrganizationData.svc";
var retrieveResult = new XMLHttpRequest();
retrieveResult.open("GET", ODataPath +"/LeadSet?$select=FullName,LeadId&$filter=(tht_DateOfBirth eq datetime'" + odataDateFormat +"')",false);
I do not what I'm doing wrong here. Could anybody help me with data odata data filter issue ?