Das OnChange-Ereignis für ein Feld in meinem Opportunity-Formular wird zweimal aufgerufen, und ich versuche, die Quelle des zweiten Aufrufs zu finden. Ich habe den Ausführungskontext bereits in die onChange-Funktion übergeben, kenne aber keine Möglichkeit, die Quelle des Aufrufs von dort aus zu sehen. Jetzt frage ich mich, ob es eine Möglichkeit gibt, die ausstehenden Ereignisse für eine XRM-Seite zu sehen, weiß jemand, wo diese Informationen sind?Quellfunktion für onChange-Feldereignis in Dynamics CRM anzeigen
Mein Code ist im Grunde das, gebunden an onLoad
des Gelegenheitsformulars. Es könnte ein Plugin oder eine 3rd-Party-Bibliothek geben oder etwas, das das Feld aktualisiert, aber nichts springt heraus.
function onLoad() {
Xrm.Page.data.process.addOnStageChange(handleStageChange);
}
function handleStageChange() {
var dateFieldName = "new_enteredstage1"
var dateFieldAttr = Xrm.Page.getAttribute(dateFieldName);
if (dateFieldAttr) {
dateFieldAttr.setValue(new Date());
}
}
Wenn new_enteredstage1 null ist, wenn die Stufenwechsel erfolgt dann 2 Anrufe auf, und der Wert gesetzt wird und sofort auf null zurückgesetzt. Wenn new_enteredstage1 einen Wert hat, wird der Wert wie erwartet aktualisiert. Wieder könnte es einen Code von Dritten geben, den ich vermisse, aber ich habe keine Ahnung, wie ich ihn aufspüren soll.
UPDATE:
Dies geschieht nur auf Datumsfelder, und es geschieht auf allen Datumsfeldern. Wenn ich den Code durch ein Zahlenfeld ersetze, wird der Wert nicht auf Null zurückgesetzt.
dies nie erfahren, welche Version von CRM ist es und können Sie die Event-Handler in der Frage enthalten? – Alex
Die Frage wurde aktualisiert, um meinen Code hinzuzufügen. Microsoft Dynamics 365 Version 1612 (8.2.1.207) (DB 8.2.1.207) online – CamJohnson26
Ich würde damit anfangen, die Funktion zu duplizieren (zB make handleStageChange, handleStageSelected), so dass Sie zwei verschiedene Handler hinzufügen, die beim Aufspüren helfen könnten. – Alex