Ereignisse mit Scripten

Bei den ausgeführten Scripten steht ein Objekt "Event" zur Verfügung, welches Informationen über das aktuelle Ereignis zur Verfügung stellt. Es hat folgende Eigenschaften:

▪    Project: enthält das Projekt-Objekt um das es im Event geht.

▪    View: enthält das Ansichtenobjekt, um das es im Event geht (sofern beim Event verfügbar).

▪    Data: enthält ggf. eine Zusatzinformation zum Event.

Beispiel: client-seitiges Ereignis "Datensatz wird gespeichert" der Ansicht Firma, um dem Anwender eine Hinweismeldung anzuzeigen, dass er für den aktuellen Datensatz nur Leserechte besitzt.

Dim oEvent

Set oEvent = WScript.Event

Dim DoCancel

DoCancel = false

Dim Value

Value = oEvent.Record1.GetContentsByName("ABC”)

if(Value = "A”) then

DoCancel = true

MsgBox "Sie haben nur Leserechte auf diesen Datensatz !", vbInformation, "combit CRM"

end if

oEvent.Cancel = DoCancel

 

Einschränkungen für diese Ereignis-Scripte:

▪    Das Recht "Darf Scripte ausführen" wird bei diesen Scripten nicht abgefragt (ist also nicht wirksam), damit eine über Ereignis-Scripte konfigurierte Anwendungslogik in jedem Fall durchlaufen wird.

▪    Es erfolgt keine Statusanzeige (Animation) in der Statusleiste

▪    Alle Events für Ansichten, die es nicht mehr gibt, werden beim Speichern der Projektdatei verworfen.

Weitere Informationen finden Sie in der Programmierreferenz Objekt Modell (COM) und im Kapitel Scripte und Programmierreferenz.

Hinweis: Bei aufwändigen Scripten (lange Laufzeit) empfiehlt es sich, asynchrone Scripte für die Ereignisse zu verwenden, da ansonsten combit CRM zu lange blockiert wird. Ausgenommen hiervon sind jedoch die beiden Ereignisse "Projekt wird geschlossen" und "Ansicht wird geschlossen", hier muss ein synchrones Script verwendet werden. Generell müssen Sie bei asynchronen Scripten unbedingt berücksichtigen, dass der Anwender in der Zwischenzeit weiter arbeiten (und zum Beispiel den aktuellen Datensatz wechseln) kann. Dies kann je nach Script unvorhersehbare Effekte haben! Serverseitige Scripte müssen asynchrone Scripte sein.