0
我想用另一个查找字段editorial
(我的公司出售教科书)来筛选查找字段products
。如何将查找对象值传递给FetchXml查询?
我知道如何从查找对象中检索值,但我不知道如何将它们传递到我的fetchXml查询语句中。
function preFilterLookup()
{
Xrm.Page.getControl("new_editorialsearch").addPreSearch(function() {
var ediObject = Xrm.Page.getAttribute("new_editorialsearch").getValue();
// Get the lookup Object, and extract the Value (ID and Text)
if(ediObject != null)
{
var ediTextValue = ediObject[0].name;
var ediID = ediObject[0].id;
// Filter products by editorial
fetchXml = "<filter type='and'><condition attribute='name' operator='eq' value='" + ediTextValue + "' /></filter>";
// Apply the filter to the field
Xrm.Page.getControl("new_engpro").addCustomFilter(fetchXml);
}
});
}
我知道我做错了什么,因为CRM不断告诉我,我的作用是不确定的,我看不到任何语法错误。
有人可以告诉我正确的方法将对象名称和ID传递到fetchXml语句吗?
如果你得到的函数是未定义的错误,这可能不是一个问题,而是你如何调用'preFilterLookup'。在函数的开头放入一个'console.log(“running”);'语句来确保它实际上正在执行。如果这样做不能让你超越驼峰,请提供你收到的错误信息,并让我们知道你如何布置该事件。 – Polshgiant
最初它是'onLoad',但我把它设置为'onChange'作'编辑',它不会给我一个错误,但它不会做我想要的。 'console.log(“running”)'显示**正在运行**,所以函数正在发生。我的'fetchXml'是否正确?我是否正确传递数据? –
我不再收到错误'onLoad',但它不是过滤。我在'if'语句中放置了一条日志语句,它不显示任何内容。即使该字段有值,'if'语句似乎也会返回'null'。难道我做错了什么? –