首先,我们的crm 2011是在前提下.然后换乘IFD(https://myservername.mycompany.com/ORGName/XRMServices/2011/Organization.svc)。当更改为IFD时,所有的OData和javascript都无法工作。
在on-中,我们使用服务器url.
var lvSz_CRMServerURL =lvSz_CRMServerURL--它在OData和JS中工作得很好。
在IFD中,我们使用服务器url。
var lvSz_CRMODataSvcURLEndpoint = Xrm.Page.context.prependOrgName("/XRMServices/2011/OrganizationData.svc");Odata和JS函数不能工作,也不能访问。
当使用prependOrgName和lvObj_XMLDocHnd2.open("GET“、lvSz_ODataQueryURL、true)时,lvObj_XMLDocHnd2.open是1(应该是4)
当使用lvObj_XMLDocHnd2.readyState和lvObj_XMLDocHnd2.open("GET“、lvSz_ODataQueryURL、false)时,prependOrgName是4,而lvObj_XMLDocHnd2.open是404(应该是200)。因此,OData和JS被停止,没有经过检查。
请给我任何建议。错误的地方可能是配置或JS函数。
请看一下我的OData和JS函数
.
function JS_GenerateQuotation() {
//debugger;
var opportunityId = Xrm.Page.data.entity.getId(); //Xrm.Page.getAttribute("new_opportunityid").getValue()[0].id;
var prepareQuotation;
//var lvSz_CRMServerURL = rootURL + "/GBGroupUAT";
//var lvSz_CRMODataSvcURLEndpoint = lvSz_CRMServerURL + "/XRMServices/2011/OrganizationData.svc";
var lvSz_CRMODataSvcURLEndpoint = Xrm.Page.context.prependOrgName("/XRMServices/2011/OrganizationData.svc");
var lvObj_XMLDocHnd2 = null;
lvObj_XMLDocHnd2 = new XMLHttpRequest();
var relatedEntity = "opportunity";
var lvSz_ODataQueryURL = lvSz_CRMODataSvcURLEndpoint + ((relatedEntity == "opportunity") ? "/OpportunitySet?$select=new_PrepareQuotation&$filter=OpportunityId eq guid'" + opportunityId + "'" : "");
lvObj_XMLDocHnd2.open("GET", lvSz_ODataQueryURL, false);
lvObj_XMLDocHnd2.setRequestHeader("Accept", "application/json");
lvObj_XMLDocHnd2.setRequestHeader("Content-Type", "application/json; charset=utf-8");
var lvArr_CRMRecordsMatchingSpecifiedGUID;
lvObj_XMLDocHnd2.onreadystatechange = function () {
if (lvObj_XMLDocHnd2.readyState == 4) {
if (lvObj_XMLDocHnd2.status == 200) {
lvArr_CRMRecordsMatchingSpecifiedGUID = eval('(' + lvObj_XMLDocHnd2.responseText + ')');
if (lvArr_CRMRecordsMatchingSpecifiedGUID == null || lvArr_CRMRecordsMatchingSpecifiedGUID == "" || lvArr_CRMRecordsMatchingSpecifiedGUID.d.results[0] == null) {
}
else {
prepareQuotation = lvArr_CRMRecordsMatchingSpecifiedGUID.d.results[0].new_PrepareQuotation;
}
}
}
}
lvObj_XMLDocHnd2.send();
if (prepareQuotation != false) {
var GUIDvalue = Xrm.Page.data.entity.getId();
var serverUrl = urlGenerateQuotation + GUIDvalue;
var features = "location=no,menubar=no,status=no,toolbar=no,resizable=1";
window.open(serverUrl, "_blank", features);
}
else {
alert("Please prepare quotation.");
}}
发布于 2014-04-02 13:25:08
IFD OData端点应该如下所示:https://orgname.domain/XRMServices/2011/OrganizationData.svc
您可以在Customizations 设置 -> -> Developer Resources下读取正确的URL
从UR12开始,您应该使用超级种子Xrm.Page.context.getClientUrl() Xrm.Page.context.getServerUrl()来获取组织的基url。
https://stackoverflow.com/questions/22807815
复制相似问题