crm 4.0过滤查找

时间:2013-09-19 14:31:20

标签: javascript dynamics-crm lookup dynamics-crm-4

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

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

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

2 个答案:

答案 0 :(得分:0)

只有两个选项:very unsupported modificationplugin(我从未使用插件,所以我无法判断它是否受支持。)

答案 1 :(得分: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);
    }
}