我的基础实体中有一个查找字段。目标实体中有一个数字字段。
当我打开查找对话框时,会显示所有目标记录,但我只想显示数字字段为123的记录。
该值已修复,但如何过滤查找字段。最好的是,如果我可以在javascript中编辑fetchxml,但我不知道如何......
答案 0 :(得分:0)
只有两个选项:very unsupported modification和plugin(我从未使用插件,所以我无法判断它是否受支持。)
答案 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);
}
}