Frage zum Scripting in CRM

Hallo,


ich möchte eine simple Sache in CRM einbauen und zwar soll in einem Feld in der Entität Kontakt die Anrede mit "Herr", oder "Frau" ausgefüllt werden. Abhängig davon soll dann der Anredetext in einem anderen Feld entweder "sehr geehrter Herr", oder "sehr geehrte Frau" eingefüllt werden.


Dazu muss ich in den Eigenschaften des Feldes Anredetext einen Scripttext hinterlegen. Irgendwas im Stil von:


wenn anrede = Herr, dann anredetext = sehr geehrter Herr


Leider habe ich keine Ahnung wie genau das geschrieben werden muss, da ich die Programmiersprache nicht kenne.


Kann mir da jemand ein Beispiel zeigen? Ich kann dann den Rest selber anpassen, brauche nur eine Beispielzeile Code.



AW: Frage zum Scripting in CRM

Bei uns ist das ein OnSave-Event auf dem Kontakt-Formular.

var anrede = new String(crmForm.salutation.value);
var lastname = new String(crmForm.lastname.value);
//alert("'" + anrede + "' " + lastname);
if (anrede.indexOf("Herr") >= 0) {
    crmForm.new_briefanrede.value = "Sehr geehrter Herr " + lastname + ",";
    crmForm.new_briefanrede.returnValue = "Sehr geehrter Herr " + lastname +
",";
}
if (anrede.indexOf("Frau") >= 0) {
    crmForm.new_briefanrede.value = "Sehr geehrte Frau " + lastname + ",";
    crmForm.new_briefanrede.returnValue = "Sehr geehrte Frau " + lastname +
",";
}
if (anrede.indexOf("Firma") >= 0) {
    crmForm.new_briefanrede.value = "Sehr geehrte Damen und Herren,";
    crmForm.new_briefanrede.returnValue = "Sehr geehrte Damen und Herren,";
}

Falls Jürgen sich in dem Code wiedererkennt, ist es kein Zufall :)


Re: Frage zum Scripting in CRM

In der Tat kommt mir der Code bekannt vor, allerdings kommt die Syntax eher aus der CRM 1.2-Welt. In CRM 3.0 würde das so aussehen:


var anrede = new String(crmForm.all.salutation.DataValue);
var lastname = new String(crmForm.all.lastname.DataValue);
if (anrede.indexOf("Herr") >= 0) {
    crmForm.all.new_briefanrede.DataValue = "Sehr geehrter Herr " + lastname + ",";
}
if (anrede.indexOf("Frau") >= 0) {
    crmForm.all.new_briefanrede.DataValue = "Sehr geehrte Frau " + lastname + ",";
}
if (anrede.indexOf("Firma") >= 0) {
    crmForm.all.new_briefanrede.DataValue = "Sehr geehrte Damen und Herren,";
}
crmForm.all.ForceSubmit();


Der returnValue war nur bei schreibgeschützten Feldern notwendig. Mittlerweile reicht der Aufruf der ForceSubmit-Methode aus.


Getestet habe ich den Code jetzt übrigens nicht, aber im Großen und Ganzen sollte er funktionieren.



AW: Re: Frage zum Scripting in CRM

Super, danke!


Werde ich so ausprobieren.


Gruss


am187



AW: Re: Frage zum Scripting in CRM

Hi Jürgen,

er funktioniert.


AW: Re: Frage zum Scripting in CRM

crmForm.all.ForceSubmit();


--> es muss crmForm.all.ForceSubmit = true; heißen... ohne ()



Re: Frage zum Scripting in CRM

Danke für die Info. Das ist natürlich richtig, da ForceSubmit ein Boolean-Feld ist.


Hier ist das übrigens dokumentiert:


Microsoft CRM 3.0 SDK - Client Side Scripting:
http://msdn.microsoft.com/library/en-us/CrmSdk3_0/htm/v3d0fieldtypegeneral.asp



AW: Frage zum Scripting in CRM

Hallo,
habe auch das Problem mit der fehlenden Anredefunktion (sehr geehrte / sehr geehrter...).

Habt Ihr ein Tipp für mich wo ich dieses Script eingebe?

Vielen Dank.
Uwe