![](/img/trans.png)
[英]Dynamics CRM2016: cannot read property 'SetParameter' of undefined
[英]Cannot read property 'SetParameter' of undefined in Dynamics CRM while setting up fetchXML of a subgrid
我按照以下代码片段在发票表单上设置了子网格的fetchxml,但它引发了异常: 无法读取undefined的属性'SetParameter' 。
任何想法如何解决。
代码段:
function filterUsers() {
try {
debugger;
var orderId = Xrm.Page.getAttribute("salesorderid").getValue()[0].id;
var spGrid = getSubgrid("new_salesperson");
//var spGrid = Xrm.Page.getControl("new_salesperson");
if (spGrid == null || spGrid == 'undefined') {
setTimeout(filterUsers, 500);
return;
}
else {
var fetchXml = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='true'>" +
" <entity name='systemuser'>" +
" <attribute name='fullname' />" +
" <attribute name='title' />" +
" <attribute name='address1_telephone1' />" +
" <attribute name='systemuserid' />" +
" <order attribute='fullname' descending='false' />" +
" <link-entity name='new_salesorder_systemuser' from='systemuserid' to='systemuserid' visible='false' intersect='true'>" +
" <link-entity name='salesorder' from='salesorderid' to='salesorderid' alias='ab'>" +
" <filter type='and'>" +
" <condition attribute='salesorder' operator='eq' value='" + orderId + "' />" +
" </filter>" +
" </link-entity>" +
" </link-entity>" +
" </entity>" +
"</fetch>";
spGrid.control.SetParameter("fetchXml", fetchXml);
spGrid.control.SetParameter("effectiveFetchXml", fetchXml);
spGrid.control.SetParameter("fetchXmlForFilters", fetchXml);
spGrid.control.refresh();
}
}
catch (e) {
if (e.message == "Cannot read property '0' of null" || e.message == "orders[0] is undefined" || e.message == "Unable to get property '0' of undefined or null reference")
return;
alert("Error: " + e.message);
}
}
function getSubgrid(elementName) {
debugger;
if (document.getElementById(elementName) == null || document.getElementById(elementName) == 'undefined') {
return window.parent.document.getElementById(elementName);
}
else {
return document.getElementById(elementName);
}
}
不支持在CRM中直接操作DOM。 寻找另一种方式。
在我看来,您正在尝试将用户的子网格添加到发票表单。 用户已通过您的自定义关系new_salesorder_systemuser
与销售订单相关联。
我建议您简单地使用用户的子网格在销售订单上创建快速查看表单,然后选择“ 仅相关记录” 。 然后,您可以将此快速查看表单添加到发票表单。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.