none
Workflow execute RRS feed

  • Frage

  • Hallo NG,

    gibt es in CRM eine Möglichkeit auf das Ereigbnis zu reagieren, dass ein Workflow ausgeführt wird?
    Konkret ist meine Anforderung zu verhindern, dass gewisse Felder in einem Workflow verwendet werden. Diese dürfen auf keinen Fall dort verwendet werden.

    Es wäre egal ob ich das bereits beim erstellen des Workflows verhindere, oder erst beim ausführen. Es muss nur sichergetellt sein das ein normaler User, der die Rechte hat workflows zu erstellen nicht auf bestimmte Felder per Workflow zugreift.

    Viele Grüße
    Benni

    Montag, 24. Januar 2011 15:11

Antworten

  • Hallo Benni,

    du kannst in einem PlugIn abfragen, wer die Anfrage ausgelöst hat, siehe

    http://www.langalaxy.de/2009/09/who-triggered-my-plugin/


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website
    • Als Antwort markiert Michael Sulz Montag, 7. Februar 2011 08:19
    Montag, 24. Januar 2011 16:17
  • Hallo Benni,

    du hast ja im Pre und im Post Image des Plugins die Daten vor und nach der Aktualisierung durch den Workflow. Du musst jetzt nur noch prüfen, ob eines deiner Felder geändert wurde und einfach wieder den Wert aus dem Pre Image in diese Feld speichern


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website
    • Als Antwort markiert Michael Sulz Montag, 7. Februar 2011 08:19
    Dienstag, 25. Januar 2011 16:01
  • Hallo Benni,

    dann wüsste ich nicht, wie du das verhindern willst. Wenn der Benutzer das Recht hat, den Datensatz zu lesen und zusätzlich das Recht, eigene Workflows zu erstellen, kann er auch das Feld auslesen und verschicken. Durch das Auslesen wird meines Wissens nach kein Event getriggert, das du abfragen kannst.

     


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website
    • Als Antwort markiert Benni_1983 Freitag, 28. Januar 2011 07:20
    Donnerstag, 27. Januar 2011 10:05

Alle Antworten

  • Hallo Benni,

    wenn ein Benutzer in einer Entität Felder lesen und Workflows definieren kann, dann gibt es bei CRM 4.0 (nach meiner Meinung) keine weitere Einschränkungsmöglichkeit auf Feldebene. 

    Du kannst aber die Standardfunktionen für die Zugriffssteuerung (Lesen, Schreiben etc) nutzen, wenn du z.B. für die sensiblen Felder eine neue Entität erstellst. Dann kann man die neue Entität für die anderen Benutzer sperren. Wenn man über IFRAME diese neue Entität in den bisherigen Dialog einbindet, dann sind die Daten (für berechtigte Benutzer) auch ohne Klickerei zumindest sichtbar. 

    Oder auf CRM 2011 warten. Da gibt es Verbesserungen auf Feldsicherheit.


    Herzliche Grüße / Kind regards Markus Müller
    Montag, 24. Januar 2011 15:30
  • Hallo Markus,

    nein genau das möchte ich eben nicht --> meine Frage lautet:

    kann ich per Plugin event. das Ereignis CreateWorkflow, ExecuteWorkflow oder irgendsowas abfangen...
    Eventuell hängt das ja auch an einem Event vom incident mit dran? (hier geht es um Felder aus dem incident)
    Hat jemand sowas schon mal gemacht, oder hier Erfahrung?

    Gruß
    Benni

    Montag, 24. Januar 2011 15:34
  • Hallo Benni,

    du kannst in einem PlugIn abfragen, wer die Anfrage ausgelöst hat, siehe

    http://www.langalaxy.de/2009/09/who-triggered-my-plugin/


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website
    • Als Antwort markiert Michael Sulz Montag, 7. Februar 2011 08:19
    Montag, 24. Januar 2011 16:17
  • Hi Michael,

    vielen Dank - das hilft mir schon sehr weiter.
    Vielleicht kannst du mir auch noch zu meinem eigentlichen Problem auf die Sprünge helfen:

    Ich will verhindern, dass per Workflow-EMail auf z.B. das Feld subject vom incident zugegriffen wird.

    Wenn ich nun auf Create email, oder retrieve incident reagieren und callerorigin is AsyncServiceOrigin abfrage erhalte ich schon mal den Punkte wo die Aktion ausgeführt wird.

    Wie finde ich nun aber raus, welche Felder der Workflow alle ausließt? ich habe alle steps mal durchdebuggt, bin aber nirgends auf die von mir im email-workflow definierten Felder gestoßen.

    Viele Grüße
    Benni

    Dienstag, 25. Januar 2011 07:31
  • Hallo Benni,

    du hast ja im Pre und im Post Image des Plugins die Daten vor und nach der Aktualisierung durch den Workflow. Du musst jetzt nur noch prüfen, ob eines deiner Felder geändert wurde und einfach wieder den Wert aus dem Pre Image in diese Feld speichern


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website
    • Als Antwort markiert Michael Sulz Montag, 7. Februar 2011 08:19
    Dienstag, 25. Januar 2011 16:01
  • Hi Michael,

    der Inhalt wird ja nicht verändert - er wird nur gelesen... und das darf er eben nicht, da "ich" nicht will das gewisse Dinge automatisiert per Workflow versendet werden... Ich hoffe das Problem ist verständlich.

    Gruß Benni

    Mittwoch, 26. Januar 2011 06:25
  • Hallo Benni,

    dann wüsste ich nicht, wie du das verhindern willst. Wenn der Benutzer das Recht hat, den Datensatz zu lesen und zusätzlich das Recht, eigene Workflows zu erstellen, kann er auch das Feld auslesen und verschicken. Durch das Auslesen wird meines Wissens nach kein Event getriggert, das du abfragen kannst.

     


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website
    • Als Antwort markiert Benni_1983 Freitag, 28. Januar 2011 07:20
    Donnerstag, 27. Januar 2011 10:05