首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在建立子网格的SetParameter时,无法读取Dynamics中未定义的属性“fetchXML”

问在建立子网格的SetParameter时,无法读取Dynamics中未定义的属性“fetchXML”
EN

Stack Overflow用户
提问于 2016-11-09 12:58:06
回答 1查看 741关注 0票数 0

我已经按照代码片段在发票表单上设置子网格的set,但它引发了异常:无法读取未定义的的属性'SetParameter‘。

知道怎么解决这个问题吗。

代码片段:

代码语言:javascript
复制
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);
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-09 13:16:29

不支持在CRM中直接操作DOM。另找一条路。

在我看来,您试图将用户的子网格添加到发票表单中。用户已经将销售订单与您的自定义关系new_salesorder_systemuser相关联。

我建议使用用户子网创建一个销售订单快速查看表单,并只选择相关记录。然后,您可以将此快速查看表单添加到发票表单中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40507594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档