Ich versuche, ein Nachschlagefeld products
mit einem anderen Nachschlagefeld zu filtern editorial
(meine Firma verkauft Lehrbücher).Wie übergebe ich Lookup-Objektwerte an eine FetchXml-Abfrage?
Ich weiß, wie Sie Werte aus dem Lookup-Objekt abrufen, aber ich weiß nicht, wie Sie sie in meine fetchXml-Abfrageanweisung übergeben.
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);
}
});
}
Ich weiß, ich bin etwas falsch zu machen, weil CRM sagt mir, meine Funktion nicht definiert ist, und ich kann keinen Syntaxfehler sehen.
Kann mir bitte jemand den richtigen Weg sagen, den Objektnamen und die ID in die fetchXml-Anweisung zu übergeben?
Wenn Sie eine Funktion erhalten, ist ein undefinierter Fehler, es ist wahrscheinlich kein Problem mit dem Abruf, sondern eher ein Problem mit, wie Sie 'preFilterLookup' nennen. Setzen Sie eine 'console.log (" running ");' Anweisung am Anfang Ihrer Funktion, um sicherzustellen, dass sie tatsächlich ausgeführt wird. Wenn Sie damit nicht überfordert sind, geben Sie bitte die Fehlermeldung an, die Sie erhalten, und teilen Sie uns mit, wie Sie die Veranstaltung verkabeln. – Polshgiant
Ursprünglich war es 'onLoad', aber ich setzte es auf 'onChange' für 'Editorial' und es gibt mir keinen Fehler, aber es tut auch nicht, was ich will. 'console.log ("running")' zeigt ** running ** an, damit die Funktion ausgeführt wird. Ist meine 'fetchXml' korrekt? Übertrage ich die Daten korrekt? –
Ich bekomme nicht mehr den Fehler 'onLoad', aber es wird nicht gefiltert. Ich habe eine Log-Anweisung in die 'if' Anweisung geschrieben und es wird nichts angezeigt. Die 'if' Anweisung scheint 'Null' zu liefern, obwohl das Feld einen Wert hat. Mache ich etwas falsch? –