在我的 restendpoint.js 中,我有这里定义的 retrieveRecord 函数
我有一个功能应该在应用程序实体上的程序(查找字段)更改时运行。它基本上应该检索程序记录的属性。
我对 oDataSetName 应该是什么感到有些困惑?
我的实体的显示名称是 Program 实体的名称是 ntt_programme
我已经尝试过 ProgrammeSet 和 ntt_ProgrammeSet 但没有成功。ajax 调用导致失败回调方法,即在我的情况下我收到警报In ProgrammeErrorCallBack
- 为什么会导致回调方法失败?
- oDataSetName 应该是什么以及它在 CRM 中的确切存储位置 - 是否总是 EntityName 后跟 Set?
我在这里有点迷路,因为我对 JS / AJAX / REST / JSON 完全陌生!
ProgrammeOnChange: function () {
var programmeLookup = Xrm.Page.getAttribute("new_programmeid").getValue();
if (programmeLookup != null && programmeLookup[0] && programmeLookup[0].name != null) {
var programmeId = programmeLookup[0].id;
alert(programmeId);
var oDataSetName = "ProgrammeSet";
CRM2011Common.Functions.retrieveRecord(programmeId, oDataSetName, CRM2011.Application.ProgrammeSuccessCallBack, CRM2011.Application.ProgrammeErrorCallBack);
}
},
ProgrammeSuccessCallBack: function (result) {
alert("In ProgrammeSuccessCallBack");
var programme = result;
alert(programme.new_name);
},
ProgrammeErrorCallBack: function (XmlHttpRequest, textStatus, errorThrown) {
alert("In ProgrammeErrorCallBack");
alert('Error retrieving Programme: ' + textStatus + ' ' + errorThrown);
}