1

我的基础实体中有一个查找字段。目标实体中有一个数字字段。

当我打开查找对话框时,会显示所有目标记录,但我只想显示数字字段为 123 的记录,例如。

该值是固定的,但是如何过滤查找字段。最好是,如果我可以在 javascript 中编辑 fetchxml,但我不知道如何......

4

2 回答 2

0

只有两个选项:非常不支持的修改插件(我从未使用过插件,所以我不知道它是否支持)。

于 2013-09-27T18:10:54.580 回答
0

不幸的是,我不相信有一个完美的方法来做到这一点。是否可以选择升级到 CRM 2011?在 2011 年,过滤查找非常容易。以下示例显示了如何根据另一个查找筛选一个查找。

function filterSecondLookup()
{
    try {
        var lookupObject = Xrm.Page.getAttribute("lookup_one").getValue();

        if (lookupObject != null)
        {

            lookup_one_name = $('<span>').text(lookupObject[0].name).html();  // text of lookup
            lookup_one_id = lookupObject[0].id; // Guid of lookup

            var viewId = '{1ACB2B35-B07C-44D1-868D-258DEEAB88E2}'; //Random GUID
            var entityName = 'account';
            var viewDisplayName = 'Filtered Lookup Name';

            var fetchXml = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='true'>" +
                              "<entity name='account'>" +
                                "<attribute name='name' />" +
                                "<attribute name='address2_stateorprovince' />" +
                                "<attribute name='address2_line1' />" +
                                "<attribute name='address2_city' />" +
                                "<attribute name='accountid' />" +
                                "<order attribute='name' descending='false' />" +
                                "<link-entity name='lookup_one' from='lookup_one_id' to='lookup_one_id' alias='aa'>" +
                                  "<filter type='and'>" +
                                    "<condition attribute='lookup_one_id' operator='eq' uiname='" + lookup_one_name + "' uitype='lookup_one_id' value='" + lookup_one_id + "' />" +
                                  "</filter>" +
                                "</link-entity>" +
                              "</entity>" +
                            "</fetch>";

            var layoutXml = "<grid name='resultset' object='1' jump='name' select='1' icon='1' preview='1'>" +
                          "<row name='result' id='accountid'>" +
                            "<cell name='name' width='200' />" +
                            "<cell name='address2_line1' width='150' />" +
                            "<cell name='address2_city' width='150' />" +
                            "<cell name='address2_stateorprovince' width='150' />" +
                          "</row>" +
                        "</grid>";

            Xrm.Page.getControl('lookup_two').addCustomView(viewId, entityName, viewDisplayName, fetchXml, layoutXml, true);
        }
        else
        {
            Xrm.Page.getControl("lookup_two").setDefaultView(window.defaultSiteViewId );
        }
    }
    catch (ex)
    {
        alert("Error in filterSecondLookup: " + ex);
    }
}
于 2013-10-03T02:04:35.523 回答