Я пытаюсь отфильтровать поле поиска products
с другим полем поиска editorial
(моя компания продает учебники).Как передать значения объекта поиска в запрос 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 продолжает говорить мне, что моя функция не определена, и я не вижу каких-либо ошибок синтаксиса.
Может кто-нибудь, пожалуйста, сообщите мне правильный способ передать имя и идентификатор объекта в оператор fetchXml?
Если вы получаете функцию undefined error, это, вероятно, не проблема с выборкой, а скорее проблема с тем, как вы вызываете 'preFilterLookup'. Поместите инструкцию 'console.log (« running »);' в начале вашей функции, чтобы убедиться, что она фактически выполняется. Если это не приведет вас к горбу, предоставьте сообщение об ошибке, которое вы получаете, а также сообщите нам, как вы подключаете событие. – Polshgiant
Первоначально это было «onLoad», но я установил его в onChange для «редакционной», и он не дает мне ошибку, но он не делает того, что я хочу. 'console.log ("running")' показывает ** работает **, поэтому функция выполняется. Правильно ли мой fetchXml? Правильно ли передаю данные? –
Я больше не получаю ошибку 'onLoad', но не фильтрует. Я поставил оператор журнала внутри оператора «if», и он ничего не отображает. Кажется, что выражение «if» возвращает «null», хотя поле имеет значение. Я делаю что-то неправильно? –