簡體   English   中英

Dynamics CRM 2011 表單 jscript 以檢索查找數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM