Seit Dynamics CRM 2013 gibt es in der GUI die Compound-Fields. Dies sind zusammengefasste Felder wie z.B. der vollständige Name oder die Adresse für einen Kontakt.
Ein solches Compound-Field besteht aus zwei oder mehr Attributen der entsprechenden Entität.
Möchte man nun eine Javascript Funktion an den OnChange-Event eines Attributs binden kommt man bei dem OnChange-Event des Compounds nicht weiter. Wie es geht ist in dem folgenden Beispiel kurz erklärt.
In dem Beispiel möchte ich die Anrede auf Basis des Vor- und Nachnamens sowie des Geschlechts eines Kontaktes bestimmen. Dazu habe ich ein einfaches kleines Javascript erstellt:
function updateSalutation() { var firstName = Xrm.Page.getAttribute("firstname").getValue(); var lastName = Xrm.Page.getAttribute("lastname").getValue(); var genderCode = Xrm.Page.getAttribute("gendercode").getValue(); var name =""; if(genderCode != null){ name += genderCode == 1 ? "Mr. ": "Mrs. "; } name += firstName != null ? firstName+" " : ""; name += lastName != null ? lastName : ""; Xrm.Page.getAttribute("salutation").setValue(name); }
Die Javascript Funktion „updateSalutation“ muss nun an den OnChange-Event der Attribute „gendercode“, „firstname“ und „lastname“ gebunden werden. Für den Gendercode ist dies einfach. Wie gehabt trägt man die Javascript Funktion im Events-Tab der Field-Properties ein.
Für „firstname“ und „lastname“ funktioniert das jedoch ein wenig anders, weil das Events-Tab der Field-Properties für das Compound-Field bezieht sich auf das Attribut „fullname“.
Um den OnChange-Event für diese Attribute zu setzen öffnet man das Events-Tab der Form Properties.
Unter dem Abschnitt „Event Handlers“ kann man nun das entprechende Web-Control aussuchen. Als Standard ist dort das Form mit den OnLoad- und OnSave-Events eingetragen.
Wählt man nun über den Drop-Down das Feld „First Name“ bzw. „Last Name“ aus, kann man nun die Javascript Funktion an den OnChange-Event des Attributs binden.
Kategorien: Dynamics CRM, Kurz notiert, Technical
Schlagwörter: CRM, Customization, Dynamics CRM, Dynamics CRM 2013, GUI, JavaScript
Haben Sie Fragen zu diesem Artikel oder brauchen Sie Unterstützung?
Nehmen Sie mit uns Kontakt auf!
Wir unterstützen Sie gerne bei Ihren CRM-Vorhaben!