Tôi đang làm việc trên một số tùy chỉnh trực tuyến CRM 2011 và tôi cần có một thực thể bằng cách sử dụng javascript.CRM 2011: Bắt thực thể với Javascript
Pháp nhân tôi cần sẽ dựa trên giá trị ID của một trường khác (thực thể Liên hệ) - ID liên hệ này tôi có thể bị phạt.
Pháp nhân tôi muốn là một thực thể tùy chỉnh. Có thể có nhiều trận đấu dựa trên liên hệ ID vì vậy tôi chỉ muốn được là người đầu tiên trong danh sách (theo thứ tự không quan trọng)
Cho đến nay tôi đã nhìn vào một số cách để làm điều này ...
OData - tôi không thể tìm thấy đủ các ví dụ về vấn đề này như những gì biểu thức truy vấn tôi có thể tạo ra, tôi cũng không biết nếu/làm thế nào để thực hiện tác phẩm này với thực thể tùy chỉnh
FetchXML - tôi có thể tạo ra một truy vấn FetchXML tốt đẹp bằng cách sử dụng "tìm kiếm nâng cao" được tích hợp sẵn và sẽ rất vui khi gọi điều này từ javascript nếu có ai có thể trợ giúp? Tôi đã tìm thấy một câu trả lời đầy hứa hẹn here nhưng tôi không thể thấy dữ liệu trả về "kết quả" đã được đặt như thế nào (chức năng Service.Fetch)
Yêu cầu SOAP - Điều đầu tiên tôi đã thử là một phương pháp tương tự như tôi có thể thực hiện trong CRM 4 nhưng điều này dường như không hoạt động. Mặc dù yêu cầu thực thi, dữ liệu kết quả của tôi dường như trống. Đây là tất cả tôi có mã cho vì vậy nếu có ai có thể phát hiện một vấn đề với mã dưới đây thì đó sẽ là tuyệt vời.
EDIT: Tôi đã phát hiện một số dữ liệu truy vấn dư thừa (Tôi đã loại bỏ liên kết mở thẻ nhưng lại thẻ đóng) - kể từ khi loại bỏ này bây giờ tôi có được dữ liệu kết quả XML ... Tuy nhiên, mệnh đề where không dường như áp dụng (chỉ nhận được danh sách tất cả các đối tượng)
var xml = "<?xml version='1.0' encoding='utf-8'?>" +
"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" +
GenerateAuthenticationHeader() +
"<soap:Body>" +
"<RetrieveMultiple xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" +
"<query xmlns:q1=\"http://schemas.microsoft.com/crm/2006/Query\" xsi:type=\"q1:QueryExpression\">" +
"<q1:EntityName>new_vehicle</q1:EntityName>" +
"<q1:ColumnSet xsi:type='q1:ColumnSet'>" +
"<q1:Attributes>" +
"<q1:Attribute>new_vehicleid</q1:Attribute>" +
"<q1:Attribute>new_primarydriver</q1:Attribute>" +
"<q1:Attribute>statuscode</q1:Attribute>" +
"<q1:Attribute>new_registration</q1:Attribute>" +
"</q1:Attributes>" +
"</q1:ColumnSet>" +
"<q1:Distinct>false</q1:Distinct>" +
"<q1:Conditions>" +
"<q1:Condition>" +
"<q1:AttributeName>new_primarydriver</q1:AttributeName>" +
"<q1:Operator>Equal</q1:Operator>" +
"<q1:Values>" +
"<q1:Value xmlns:q2='http://microsoft.com/wsdl/types/' xsi:type='q2:guid'>" +
customerID +
"</q1:Value></q1:Values></q1:Condition>" +
"</q1:Conditions>" +
"</query></RetrieveMultiple>" +
"</soap:Body></soap:Envelope>";
var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
xmlHttpRequest.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
xmlHttpRequest.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/crm/2007/WebServices/RetrieveMultiple");
xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlHttpRequest.setRequestHeader("Content-Length", xml.length);
xmlHttpRequest.send(xml);
var result = xmlHttpRequest.responseXML.xml;
var doc = new ActiveXObject("MSXML2.DOMDocument");
doc.async = false;
doc.loadXML(result);
var id = doc.selectSingleNode("//new_vehicleid");
var registration = doc.selectSingleNode("//new_registration");
if(id == null)
return null;
var vehicle = new Array();
value[0] = new Object();
value[0].id = id;
value[0].name = registration;
value[0].entityType = "new_vehicle";
return vehicle;
xin lỗi về mã bưu điện lớn nhưng hy vọng ai đó có một sự hiểu biết tốt hơn có thể giúp
CRM Dynamics ?, không mua nó nếu bạn cần tùy chỉnh: D Yêu cầu đơn giản, triển khai phức tạp ... – Legends