我得到一個保存查詢Id = 00000000-0000-0000-0000-000000000000不存在當我將自定義視圖設置爲CRM 2013團隊查找時, CRM 2011CRM 2013查找中的addCustomView
// Set the Owning Team View based on the account selected
function setOwningTeamView(entityFieldName, lookupFieldName, resetSelection) {
// Get the selected entity
var account = Xrm.Page.getAttribute(entityFieldName).getValue();
if (account != null) {
var accid = account[0].id;
var accname = account[0].name;
if (resetSelection == true) {
// reset old selection for Contact
Xrm.Page.getAttribute(lookupFieldName).setValue(null);
}
// use randomly generated GUID Id for the view
var viewId = "{0CBC820C-7033-4AFF-9CE8-FB610464DBD3}";
var entityName = "team";
// give the custom view a name
var viewDisplayName = "Teams applicable to " + accname + "";
var accountBU = SDK.REST.retrieveRecordSync(Xrm.Page.getAttribute("a_account").getValue()[0].id, "Account", "OwningBusinessUnit", "");
var relatedBusinessUnits = SDK.REST.retrieveMultipleRecordsSync("BusinessUnit", "?$select=BusinessUnitId,Name&$filter=a_Type/Value eq 1");
var FetchXMLBU = "";
for (var i = 0; i < relatedBusinessUnits.results.length; i++) {
FetchXMLBU += "<value>" + relatedBusinessUnits.results[i].BusinessUnitId + "</value>"
}
debugger;
// find all contacts where parent customer is the account selected and where the Contact record is active
var fetchXml = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>"
+ "<entity name='team'>"
+ "<attribute name='teamid' />"
+ "<attribute name='name' />"
+ "<attribute name='description' />"
+ "<attribute name='businessunitid' />"
+ "<filter>"
+ "<condition attribute='businessunitid' operator='in'>"
+ "<value>" + accountBU.OwningBusinessUnit.Id + "</value>"
+ FetchXMLBU
+ "</condition>"
+ "</filter>"
+ "</entity>"
+ "</fetch>";
// build Grid Layout
var layoutXml = "<grid name='resultset' " +
"object='1' " +
"jump='teamid' " +
"select='1' " +
"icon='0' " +
"preview='0'>" +
"<row name='result' id='teamid'>" +
"<cell name='name' width='200' />" +
"<cell name='businessunitid' width='200' />" +
"<cell name='description' width='400' />" +
"</row>" +
"</grid>";
// add the Custom View to the indicated [lookupFieldName] Control
Xrm.Page.getControl(lookupFieldName).addCustomView(viewId, entityName, viewDisplayName, fetchXml, layoutXml, true);
//The following line is the an unsupported way of disabling the View Picker, currently there is no supported way.
document.getElementById(lookupFieldName + "_i").setAttribute("disableViewPicker", "1");
//document.getElementById(lookupFieldName).setAttribute("disableViewPicker", "1");
}
}
我懷疑問題是與調用SDK.REST作爲解釋in this thread,但結果accountBU和relatedBusinessUnits是正確的。
我一直在使用另一種SDK調用aith正確的行爲:
var systemUserTeam = SDK.REST.retrieveMultipleRecordsSync("TeamMembership",
"$select=TeamId&$filter=TeamId eq guid'"
+ Xrm.Page.getAttribute("aux_owningteamid").getValue()[0].id
+ "' and SystemUserId eq guid'"
+ Xrm.Page.getAttribute("ownerid").getValue()[0].id
+ "'");
if (systemUserTeam.results.length != 1) {
我設置了自定義fetchXML和laoyoutXML用同樣的方法一個客戶查找視圖除了對SDK的調用。
我可以對SDK調用進行哪些更改以使其正常工作?
謝謝,我已經檢查了博客,但對我來說,因爲我需要一個自定義視圖我將不得不使用addCustomView – Jorge 2014-09-03 15:30:05