Dynamic CRM 2015學習筆記(3)oData 查詢方法及GUID值比較


本文將比較二種查詢字符串在同一個oData查詢方法中的不同,另外,還將介紹如何比較不同方法返回的GUID的值。

用同一個oData查詢方法,如果傳入查詢的字符串不一樣,返回結果的格式竟然完全不一樣。

 

1. oData查詢方法:

//OData查詢
ODataRetrieve: function (oDataString) { var retrieveReq = new XMLHttpRequest(); retrieveReq.open("GET", encodeURI(Xrm.Page.context.getClientUrl() + "/XRMServices/2011/OrganizationData.svc/" + oDataString), false); retrieveReq.setRequestHeader("Accept", "application/json"); retrieveReq.setRequestHeader("Content-Type", "application/json;charset=utf-8"); retrieveReq.send(); return JSON.parse(retrieveReq.responseText).d; }

 

2. 第一種查詢方法

查詢參數如下:

var buValue = Xrm.Page.getAttribute('tm_businessunit').getValue() [0].id; var oDataString = 'BusinessUnitSet?$select=tm_systemuser_businessunit_nltautosales/ParentSystemUserId&$expand=tm_systemuser_businessunit_nltautosales&$filter=BusinessUnitId eq guid\'' + buValue + '\'';

這里用到了filter

可以看到返回的結果格式如下:

image

我們必須用 retrievedOpp.results[0].tm_systemuser_businessunit_nltautosales.ParentSystemUserId  來獲取結果

 

3. 第二種查詢方法

查詢參數如下:

var buValue = Xrm.Page.getAttribute('tm_businessunit').getValue() [0].id; var oDataString = 'BusinessUnitSet(guid\'' + buValue + '\')?$select=tm_systemuser_businessunit_nltautosales/ParentSystemUserId&$expand=tm_systemuser_businessunit_nltautosales';

這里沒有用到filter,直接用的guid。

返回的結果如下:

image我們可以用retrievedOpp.tm_systemuser_businessunit_nltautosales.ParentSystemUserId 來獲取結果

 

4. GUID比較

如果guid都是從界面上用同一方法比如getValue()取的guid,我們可以直接用[0].id來比較它們的值,如果用oData返回的guid和界面上getValue()取的guid來比較,會發現用上面oData查詢方法返回的guid值沒有{},而且是小寫的;而界面上用getValue()取的guid不僅用{},而且是大寫。這時如果直接用==來比較,肯定是不行的。下面介紹了一種通用的比較方法。

//判斷兩個GUID是相同
    GuidsisEqual: function (guid1, guid2) {
        var isEqual = false;
        if (guid1 != null && guid2 != null) {
            isEqual = guid1.replace(/[{}]/g, "").toLowerCase() == guid2.replace(/[{}]/g, "").toLowerCase();
        }
        return isEqual;
    }

 

可以參考以前的一篇博客 Dynamic CRM 2013學習筆記(二十三)CRM JS智能提示(CRM 相關的方法、屬性以及頁面字段),及發布前調試

 

 

 

Dynamic CRM 2015學習筆記 系列匯總

Dynamic CRM 2013學習筆記 系列匯總


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM