[英]Dynamics CRM 2011 form jscript to retrieve lookup data
我的錯誤是什么,為什么會出現“預期對象”錯誤,以及最終如何調試 jScript?
我是 Dynamics CRM 的新手,我想做一個小的定制,這似乎需要 jScript。 該實例(2011 版)主要用於管理客戶端支持。
有 2 個具有關系的自定義實體: FundLegalEntity --> SubFund
案例(事件)表格鏈接到 FundLegalEntity 和 SubFund。
當用戶輸入 SubFund 時,我希望 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');
}
});
}
我沒有更多錯誤,前 2 個警報(注釋掉)給了我正確的結果。 第三個警報顯示“對象對象”,我希望更新的控件沒有更新。
請問有什么提示嗎? 我想最后一個問題是在var parentFundLookup =
行...
我對所有這些不同的名字有點困惑。
謝謝 !
現在幾乎可以工作了:當我在事件中修改子基金時,法人實體被更新為正確的法人實體名稱,但文本框有一個奇怪的方面,文本框左側的圖標很奇怪出色地。 這是最新的代碼:
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"
,但我不知道該放什么。 對此有任何線索嗎? 那代表什么?
這是子基金更新和腳本運行后法人實體的屏幕截圖。
您可以使用腳本中的 Rest 端點從組織服務中檢索數據。 這是一個讓您入門的示例。 您還可以查看 SDK 文檔,那里有很多有用的信息。
var subfundid; // get the id from the lookup
var request =
Xrm.Page.context.getServerUrl() +
"/XRMServices/2011/OrganizationData.svc/new_subfundSet?" +
"$select=ParentId&" +
"$top=1&" +
"$filter=new_subfundId eq guid'"+ subfundid + "'";
$.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];
var parentFundLookup = [{ entityType : "new_fund", id : result.ParentId, name : result.FundName}];
// Set the value of the parent fund lookup
},
error:
function (XmlHttpRequest, textStatus, errorThrown)
{
alert('Failed');
}
});
由於此代碼使用 JQuery,因此您需要將 JQuery 庫添加為 web 資源並將其包含在您的表單中。 請參閱CRM 2011“$ 未定義”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.