none
Workflow Datensatz anlegen und später aktualisieren RRS feed

  • Frage

  • Hallo.

    Ich habe für die Entität "Aufträge" einen Workflow erstellt, der angestoßen wird, wenn zwei Merkmale gesetzt sind. Darauf hin wird für einen Sachbearbeiter eine Aufgabe erstellt. Gewisse Werte aus Feldern aus dem Auftrag werden in die Aufgabe überführt. Klappt alles wunderbar.

    Meine Frage: Wenn im Nachinein beim entsprechenden Auftrags-Datensatz etwas verändert wird (beispielsweise das Memofeld mit einem kommentar), wäre es wünschenswert, wenn die vorher erstellte Aufgabe auch aktualisiert wird. Wie lässt sich das realisieren?

    Beste Grüße

    Jan

    Montag, 9. Januar 2012 21:21

Antworten

  • Hallo Jan,

    Leider ist das Verhalten eines Workflows nicht so, wie du es dir vorstellst: Die Option die du auswählst im "else-Zweig" ist nur innerhalb eines Workflow-Laufs verfügbar. Wenn während eines Workflow-Durchlaufes ein Datensatz erstellt wird, kann dieser mit Hilfe dieser Auswahl in einem späteren Schritt nochmals aktualisiert werden. Dies ist aber bei dir nicht der Fall, da der Workflow bei dir ein weiteres Mal läuft, wenn dein Auftrag aktualisiert wird.

    Deine Anforderung kannst du auf 2 Arten lösen:

    1. Erstelle einen programmierten Workflow-Step, der dir die jeweilige Aufgabe lädt
    2. Erstelle auf dem Auftrag ein Lookup mit Bezug auf die jeweilige Aufgabe - dann hast du in der von dir oben gezeigten Auswahlliste unter "Verknüpfte Entitäten" diese Aufgabe zur Auswahl und kannst diese dann so aktualisieren.

    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010
    • Als Antwort markiert JCS1981 Montag, 23. Januar 2012 15:07
    Montag, 23. Januar 2012 13:27
  • Hallo Jan,

    dazu benötigst du in der Aufgabe ein Feld in dem ein eindeutiges Kennzeichen steht, damit du erkennen kannst, das diese Aufgabe durch den Workflow für diesen Auftrag erstellt wurde.

    Ich würde mir ein Hilfsfeld in der Entität Aufgabe schaffen, in dem ich z.B. die Auftragsnummer schreiben würde. Wenn das Feld nur durch den Workflow gefüllt wird (es muss dazu nicht auf dem Formular sein), kannst du daran immer die passenede Aufgabe erkennen und diese aktualisieren.


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website
    • Als Antwort markiert JuergenBeckModerator Samstag, 14. Januar 2012 17:45
    • Tag als Antwort aufgehoben JCS1981 Sonntag, 22. Januar 2012 19:48
    • Als Antwort markiert Michael Sulz Montag, 30. November 2015 10:22
    Dienstag, 10. Januar 2012 06:59
  • Aber bitte etwas vorsicht mit wartenden Workflows. Eine große Menge an wartenden Workflows zwingt jeden Server in die Knie.
    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website
    • Als Antwort markiert JuergenBeckModerator Samstag, 14. Januar 2012 17:45
    • Tag als Antwort aufgehoben JCS1981 Sonntag, 22. Januar 2012 19:48
    • Als Antwort markiert Michael Sulz Montag, 30. November 2015 10:22
    Dienstag, 10. Januar 2012 08:39
  • Hallo Andreas,

    das funktioniert aber nur, wenn es pro Auftrag nur eine Aufgabe gibt.


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website
    • Als Antwort markiert Michael Sulz Montag, 30. November 2015 10:22
    Dienstag, 10. Januar 2012 09:29

Alle Antworten

  • Hallo Jan,

    dazu benötigst du in der Aufgabe ein Feld in dem ein eindeutiges Kennzeichen steht, damit du erkennen kannst, das diese Aufgabe durch den Workflow für diesen Auftrag erstellt wurde.

    Ich würde mir ein Hilfsfeld in der Entität Aufgabe schaffen, in dem ich z.B. die Auftragsnummer schreiben würde. Wenn das Feld nur durch den Workflow gefüllt wird (es muss dazu nicht auf dem Formular sein), kannst du daran immer die passenede Aufgabe erkennen und diese aktualisieren.


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website
    • Als Antwort markiert JuergenBeckModerator Samstag, 14. Januar 2012 17:45
    • Tag als Antwort aufgehoben JCS1981 Sonntag, 22. Januar 2012 19:48
    • Als Antwort markiert Michael Sulz Montag, 30. November 2015 10:22
    Dienstag, 10. Januar 2012 06:59
  • Hallo Jan,

    du kannst auch innerhalb deines existierenden Workflows nach der erstellten Aufgabe eine Wartebedingung einbauen: Warte bis die Aufgabe erledigt ist oder sich der Auftrag ändert (und du dann die Aufgabe anpassen kannst). Im Workflow solltest du ja noch eine Referenz auf die erstelle Aufgabe haben.

    Schöne Grüße,

    Nils

    • Als Antwort markiert JuergenBeckModerator Samstag, 14. Januar 2012 17:45
    • Tag als Antwort aufgehoben JCS1981 Sonntag, 22. Januar 2012 19:48
    Dienstag, 10. Januar 2012 07:19
  • Aber bitte etwas vorsicht mit wartenden Workflows. Eine große Menge an wartenden Workflows zwingt jeden Server in die Knie.
    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website
    • Als Antwort markiert JuergenBeckModerator Samstag, 14. Januar 2012 17:45
    • Tag als Antwort aufgehoben JCS1981 Sonntag, 22. Januar 2012 19:48
    • Als Antwort markiert Michael Sulz Montag, 30. November 2015 10:22
    Dienstag, 10. Januar 2012 08:39
  • Hallo Jan,

    Ich würde beim Erstellen der Aufgabe den Bezug auf den entsprechenden Auftrag setzen. Wenn ein Auftrag dann aktualisiert wird würde ich wiederum einen eigenen Workflow starten, der in einem Custom-Workflow-Step die jeweils aktualisierten Felder des Auftrags übergeben bekommt. Der Custom-Workflow-Step aktualisiert dann die Aufgabe mit den neuen Feldwerten, die Bezug auf den Auftrag hat.

    Wobei hier zu überlegen ist, ob du das Aktualisieren wirklich mit einem Workflow oder mit einem asynchronen Plugin erledigst...

    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010
    • Als Antwort markiert JuergenBeckModerator Samstag, 14. Januar 2012 17:45
    • Tag als Antwort aufgehoben JCS1981 Sonntag, 22. Januar 2012 19:48
    Dienstag, 10. Januar 2012 09:03
  • Hallo Andreas,

    das funktioniert aber nur, wenn es pro Auftrag nur eine Aufgabe gibt.


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website
    • Als Antwort markiert Michael Sulz Montag, 30. November 2015 10:22
    Dienstag, 10. Januar 2012 09:29
  • Hallo Jan,

    ich stimme hier ebenfalls für ein Plugin. Workflows sind mir solchen Themen einfach nicht wirklich geeignet.

    Viele Grüße,
    Jürgen


    Jürgen Beck

    Dipl. Kfm./Wirtschaftsinformatik
    MVP, MCSD.NET, MCITP DBA, MCDBA, MCSE
    Microsoft Certified Business Management Solutions Professional
    Microsoft Certified CRM Developer
    Microsoft Certified Trainer

    ComBeck IT Services & Business Solutions
    Microsoft Gold Certified Partner
    Microsoft Small Business Specialist

    Developing & Supporting Business Applications from small business to big enterprises covering scores of sectors

    http://www.combeck.de
    • Als Antwort markiert JuergenBeckModerator Samstag, 14. Januar 2012 17:45
    • Tag als Antwort aufgehoben JCS1981 Sonntag, 22. Januar 2012 19:48
    Dienstag, 10. Januar 2012 16:24
    Moderator
  • Ich habe es folgendermaßen versucht, aber damit funktioniert es leider nicht (siehe Bild).

    Folgendes passiert. Ein Auftrag wird erstellt. Wird das Häkchen "Auslieferung überführen" gesetzt, dann wird eine Aufgabe erstellt und gewisse Parameter aus dem Auftrag in die Aufgabe übernommen. Gleichzeitig wird im Auftrag ein Haken bei "Aufgabe erstellt" gesetzt. Wird nun an dem besagten Auftrag was geändert, was die Aufgabe betrifft, soll die erstellte Aufgabe aktualisiert werden (siehe Markierung). Doch da hält der Workflow an, weil er anscheinend den entsprechenden Datensatz nicht findet. Und ich weiß nicht wieso?!?!

    Hier noch ein Bild zum Auswahlfenster:


    • Bearbeitet JCS1981 Sonntag, 22. Januar 2012 19:51
    Sonntag, 22. Januar 2012 19:46
  • Hallo Jan,

    Leider ist das Verhalten eines Workflows nicht so, wie du es dir vorstellst: Die Option die du auswählst im "else-Zweig" ist nur innerhalb eines Workflow-Laufs verfügbar. Wenn während eines Workflow-Durchlaufes ein Datensatz erstellt wird, kann dieser mit Hilfe dieser Auswahl in einem späteren Schritt nochmals aktualisiert werden. Dies ist aber bei dir nicht der Fall, da der Workflow bei dir ein weiteres Mal läuft, wenn dein Auftrag aktualisiert wird.

    Deine Anforderung kannst du auf 2 Arten lösen:

    1. Erstelle einen programmierten Workflow-Step, der dir die jeweilige Aufgabe lädt
    2. Erstelle auf dem Auftrag ein Lookup mit Bezug auf die jeweilige Aufgabe - dann hast du in der von dir oben gezeigten Auswahlliste unter "Verknüpfte Entitäten" diese Aufgabe zur Auswahl und kannst diese dann so aktualisieren.

    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010
    • Als Antwort markiert JCS1981 Montag, 23. Januar 2012 15:07
    Montag, 23. Januar 2012 13:27