В чем мои ошибки, почему я получаю ошибку "ожидаемый объект" и, в конце концов, как отладить jScript?
Я новичок в Dynamics CRM, и я хотел бы сделать небольшую настройку, которая, кажется, требует jScript. Экземпляр (версия 2011) в основном используется для управления поддержкой клиентов.
Есть 2 пользовательских объекта со связями: FundLegalEntity -> SubFund
Форма «Дело (Инцидент)» связана с FundLegalEntity и Подфондом.
Когда пользователь вводит подфонд, я хотел бы, чтобы FundLegalEntity заполнялся автоматически (если он пуст).
Мой вопрос был: как мне кодировать ?
С помощью этого замечательного учебника и очень полезного инструмента oData и отличной помощи (ниже) от пользователя @dub, вот мой последний код:
function recalcParent()
{
var lookupValue = Xrm.Page.getAttribute("new_subfundid").getValue();
var subFundId= lookupValue[0].id;
// alert(subFundId);
var request = Xrm.Page.context.getServerUrl() +
"/xrmServices/2011/OrganizationData.svc/new_subfundSet?" +
"$select=new_LegalEntityId&" +
"$filter=new_subfundId eq guid'"+ subFundId+ "'";
// alert(request);
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: request,
async: false,
beforeSend:
function (XMLHttpRequest)
{
XMLHttpRequest.setRequestHeader("Accept", "application/json");
},
success:
function (data, textStatus, XmlHttpRequest)
{
var result = data.d.results[0];
alert(result);
var parentFundLookup = [{ entityType : "new_fund", id : result.LegalEntityId, name : result.FundLegalEntity}];
// Set the value of the parent fund lookup
},
error:
function (XmlHttpRequest, textStatus, errorThrown)
{
alert('Failed');
}
});
}
У меня больше нет ошибок, первые два оповещения (начинаются) дают мне правильные результаты.
Третье предупреждение отображает «объект-объект», а элемент управления, который я ожидаю обновить, не обновляется.
Любой намек, пожалуйста? Я полагаю, что последняя проблема в строке var parentFundLookup =
...
Меня немного смущают все эти разные имена.
Спасибо !
Edit:
Это почти работает сейчас: когда я изменяю субфонд в Инциденте, Юридическое лицо обновляется с правильным именем юридического лица, но текстовое поле имеет странный аспект, а значок слева от текстового поля тоже странно. Вот последний бит кода:
success:
function (data, textStatus, XmlHttpRequest)
{
var result = data.d.results[0];
//alert(result.new_LegalEntityId.Name);
var parentFundLookup = [{ entityType : "new_LegalEntity", id : result.new_LegalEntityId.Id, name : result.new_LegalEntityId.Name}];
Xrm.Page.getAttribute("new_fundlegalentityid").setValue(parentFundLookup);
},
Я подозреваю, что проблема заключается в entityType : "new_LegalEntity"
, но я не знаю, что туда вставить. Есть какие-нибудь подсказки по этому поводу? Что это представляет?
Вот скриншот Юридического лица после обновления Подфонда и запуска сценария.