[gelöst] JavaScript aus Prozess/anderer Entität heraus start

26. April 2013 14:52

Hallo zusammen,

Ich bin auf der Suche nach einer Möglichkeit, Skripte aus einem Prozess heraus oder per OnChange-Event einer anderen Entität zu starten. Alternativ könnte das Skript auch in regelmäßigen Abständen automatisiert durchlaufen (was für uns zwar keine saubere Lösung, aber immerhin ein Zwischenerfolg wäre).

In einer selbsterstellten Entität A wird onLoad eine Funktion ausgeführt, welche verschiedene Daten zusammensucht, sodass die Entität sich sozusagen selbst aktualisiert. Hierbei werden die Daten aus einer anderen Entität B bezogen, welche per N:1-Beziehung (N B : 1 A) mit A verknüpft ist. Soweit funktioniert alles. Der Knackpunkt ist der, dass ich gerne die Daten der Entität A nicht erst onLoad aktualisiert haben möchte, sondern beim Erstellen, Ändern und Löschen eines neuen Elementes der Entität B. Ansonsten wäre die Datenkonsistenz von A nicht dauerhaft sichergestellt.

Kennt jemand eine Möglichkeit, dies über JavaScript zu realisieren? Soweit ich weiß, kann per Prozess kein onLoad-Event getriggert und auch keine JavaScript-Funktion aufgerufen werden.

Natürlich könnte ich die gesamte onLoad-Funktion der Entität A nochmals für Entität B schreiben, entsprechende Anpassungen vornehmen und von B aus triggern. Da es sich aber um eine größere Funktion handelt und ich Code-Redundanzen umgehen möchte (für beide Entitäten werden in den nächsten Jahren immer wieder neue Attribute hinzukommen), suche ich aber eine andere Lösung.

Wir verwenden MS Dynamics CRM 2011, UR 11 (5.0.9690.2839), on-Premise.

Vielen Dank für eure Hilfe!
Zuletzt geändert von MrQStein am 26. April 2013 16:14, insgesamt 1-mal geändert.

Re: JavaScript aus Prozess/anderer Entität heraus starten

26. April 2013 15:18

Hallo,

und erst einmal herzlich willkommen in unserem Forum :-)

Die von dir gewünschte Funktionalität kannst du nicht mir JavaScript erhalten, dafür gibt es im CRM die PlugIns.

Mit diesen ist es ohne Probleme möglich, verknüpfte Datensätze zu aktualisieren, wenn sich der übergeordnete Datensatz ändert.
Eventuell ist dies auch mit einem Workflow möglich, das müsste in Einzelfall geprüft werden.

By the way, ich werde das Gefühl nicht los das ich genau diese Frage (und auch deine andere Frage) schon mal beantwortet habe.

Re: JavaScript aus Prozess/anderer Entität heraus starten

26. April 2013 15:36

Danke für die schnelle Antwort.

Gibt es keine Möglichkeit, einen onLoad oder onChange-Event einer anderen Entität per Skript auszulösen?

Mit Plugins für CRM habe ich noch keine Erfahrung. Wie wäre da die Vorgehensweise? Rufe ich die Skript-Funktion per Plugin auf oder benötige ich dann in dieser Hinsicht gar kein Skript mehr?

Re: JavaScript aus Prozess/anderer Entität heraus starten

26. April 2013 15:53

Hallo,

nein, es gibt keine Möglichkeit, das JavaScript einer anderen Entität auszulösen. Wie soll das auch funktionieren? Die Entität ist nicht geladen, also auch das JavaScript nicht.

Bei einem PlugIn verwendest du kein JavaScript mehr sondern hast die Logik in deinem PlugIn, das in einer .net Sprache erstellt wird.

Im SDK gibt es sehr schöne Tutoriels und Schritt für Schritt Anleitungen, wie du ein PlugIn erstellen kannst.

Re: JavaScript aus Prozess/anderer Entität heraus starten

26. April 2013 16:13

Super, dann schau ich mich dort mal um. Danke!