24. Januar 2014 · von Andreas Klein

Kurz notiert: Javascript OnChange-Events mit Dynamics CRM 2013 Compound-Fields

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.

compoundfield

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.

fieldproperties

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.

RibbonFormProperties

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.

FormProperties1

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.

FormProperties2

 



Diesen Blogeintrag bewerten:


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!


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Kontakt
Lassen Sie sich von uns beraten
Wir freuen uns über Ihr Interesse an unseren Leistungen. Hinterlassen Sie
uns Ihren Namen, Ihre Telefonnummer und E-Mail Adresse – wir melden
uns schnellstmöglich bei Ihnen.
Kontakt aufnehmen