Hi guys!
I´m trying to set a custom-lookup field in my entity with the retrieved lookup-data I got via odata query.
Obviously I can´t because nothing happens, no exception is thrown and the lookup-field is not set at all.
the code:
var oDataSvcPath = "/" + Xrm.Page.context.getOrgUniqueName() + "/XrmServices/2011/OrganizationData.svc";
function retrieveRecordByGuid(id, entityName, guid, successCallback, errorCallback)
{
//-- cut unnecessery characters
guid = guid.replace("{", "").replace("}","");
//id is required
if (!id) {
alert("record id is required.");
return;
}
//entityName is required, i.e. "AccountSet"
if (!entityName) {
alert("entityName is required.");
return;
}
//Asynchronous AJAX function to Retrieve a CRM record using OData
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: oDataSvcPath + "/"+entityName+"Set?$select=*&$filter=FirstName eq 'test",
beforeSend: function (XMLHttpRequest) {
//Specifying this header ensures that the results will be returned as JSON.
XMLHttpRequest.setRequestHeader("Accept", "application/json");
},
success: function (data, textStatus, XmlHttpRequest) {
if (successCallback) {
successCallback(data.d.results[0], textStatus, XmlHttpRequest);
}
},
error: function (XmlHttpRequest, textStatus, errorThrown) {
if (errorCallback)
errorCallback(XmlHttpRequest, textStatus, errorThrown);
else
errorHandler(XmlHttpRequest, textStatus, errorThrown);
}
});
}
function setDefaultBU(entity, textStatus, XmlHttpRequest)
{
try
{
//--- this field is existing and has the type of a bu-lookup, but setting the value with the businessunitid does not work, why ??????????
Xrm.Page.getAttribute("test_branch").setValue(entity.BusinessUnitId);
}
catch (ex)
{
alert("error: "+ex.description);
}
}
function setBUtoOwnersBU()
{
//-- get Owner-guid
var ownerId = Xrm.Page.getAttribute("ownerid").getValue()[0].id;
//-- try to get filtered user
retrieveRecordByGuid(ownerId, "SystemUser", ownerId, setDefaultBU, null);
}
function errorHandler(xmlHttpRequest, textStatus, errorThrow) {
alert("Error occured: " + textStatus + " --> " + xmlHttpRequest.statusText);
}