none
Workflowlogik RRS feed

  • Frage

  • Hallo alle,

    ich habe fragen zu Workflow-Logik:

    1)      Bei Attributsänderungen aufzeichnen habe ich das Datumsfeld Ablauf und das Bitfeld Eigenvertrag

    2)      Erste Prüfung:
    Nur etwas machen, wenn Eigenvertrag = NEIN und Ablauf enthält Daten ... sonst Workflow beenden mit dem Status: abgebrochen.

    3)      dann: warten bis 6 Monate vor Ablauf (Timeout bis Monate: 6 vor Vertrag:Ablauf, dann)

    4)      Aufgabe erstellen

    Wenn die Bedingung in 2) nicht zutrifft, bricht der WF ja ab ... er muss ja nicht warten, obwohl nicht alle Bedingungen erfüllt sein --> dachte ich mir. Und die Logik, dass ich alle eventualitäten erschlage müsste doch dann dadurch gegeben sein, dass ich den WF immer dann starte, wenn es Änderungen in den Feldern lt. 1) habe, oder?

    Was passiert, wenn der WF in der Wartephase ist (Punkt 3: warten bis 6 Monate vor Datum: Ablauf) und ich ändere in der Wartezeit, das Feld Eigenvertrag = ja oder sonstwas … also was ist, wenn sich in der Wartezeit etwas ändert, was eine Ebene darüber geprüft wurde?

    Sollte ich die Reihenfolge drehen, also die Wartebedingung als oberste Ebene, also zuerst die Wartebedingung (6 Monate bis Ablauf) prüfen, und erst danach prüfen, ob die Felder befüllt sind etc. Aber ich will ja den WF überhaupt erst bzw. nur ausführen wenn Eigenvertrag = Nein und Ablauf enthält Daten.

    Habe ich irgend eine Logik vergessen?

    Danke für eure Hilfe

    Gruss Pit

    Donnerstag, 21. Oktober 2010 11:17

Antworten

  • Hallo Pit,

    zu 1) Ja

    zu 2) Ich würde ein Programm erstellen und dieses Zeitgesteuert z.B. über den Taskmanager von Windows ausführen lassen.


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    www.msdynamics.de
    • Als Antwort markiert Michael Sulz Sonntag, 29. Dezember 2013 09:06
    Freitag, 22. Oktober 2010 06:37
  • Hallo Pit,

    welche Programmiersprache du verwendest, bleibt dir überlassen, ich verwende c#.

    Welche Funktionen das Programm haben soll, musst du schon festlegen. Es soll halt deine Anforderungen abdecken.

    Das Programm sollte natürlich auf dem Server ausgeführt werden.

    Bei deinen Fragen würde ich dir vorschlagen, du suchst dir einen erfahrenen Programmierer, der sich mit dem SDK und dem CRM auskennt und läßt ihn diese Aufgabe erledigen. Hier im Forum wirst du kein fertiges Programm erhalten.


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    www.msdynamics.de
    • Als Antwort markiert Michael Sulz Mittwoch, 3. November 2010 16:17
    Freitag, 22. Oktober 2010 06:58
  • Hallo Pit,

    <snip>
    Wenn die Bedingung in 2) nicht zutrifft, bricht der WF ja ab ... er muss ja nicht warten, obwohl nicht alle Bedingungen erfüllt sein --> dachte ich mir. Und die Logik, dass ich alle eventualitäten erschlage müsste doch dann dadurch gegeben sein, dass ich den WF immer dann starte, wenn es Änderungen in den Feldern lt. 1) habe, oder?
    </snip>

    Stimmt, das sehe ich genauso.

    <snip>
    Was passiert, wenn der WF in der Wartephase ist (Punkt 3: warten bis 6 Monate vor Datum: Ablauf) und ich ändere in der Wartezeit, das Feld Eigenvertrag = ja oder sonstwas … also was ist, wenn sich in der Wartezeit etwas ändert, was eine Ebene darüber geprüft wurde?
    </snip>

    Ein wartender Workflow wartet jetzt nicht einfach 6 Monate, sondern der Workflow wird periodisch gestartet und die Wartebedingung erneut überprüft. Aus diesem Grund sollte man sehr vorsichtig mit wartenden Workflows sein, da diese jeden Server in die Knie zwingen können, wenn genügend gestartet sind.


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    www.msdynamics.de
    • Als Antwort markiert Michael Sulz Mittwoch, 3. November 2010 16:17
    Donnerstag, 21. Oktober 2010 12:19

Alle Antworten

  • Hallo Pit,

    <snip>
    Wenn die Bedingung in 2) nicht zutrifft, bricht der WF ja ab ... er muss ja nicht warten, obwohl nicht alle Bedingungen erfüllt sein --> dachte ich mir. Und die Logik, dass ich alle eventualitäten erschlage müsste doch dann dadurch gegeben sein, dass ich den WF immer dann starte, wenn es Änderungen in den Feldern lt. 1) habe, oder?
    </snip>

    Stimmt, das sehe ich genauso.

    <snip>
    Was passiert, wenn der WF in der Wartephase ist (Punkt 3: warten bis 6 Monate vor Datum: Ablauf) und ich ändere in der Wartezeit, das Feld Eigenvertrag = ja oder sonstwas … also was ist, wenn sich in der Wartezeit etwas ändert, was eine Ebene darüber geprüft wurde?
    </snip>

    Ein wartender Workflow wartet jetzt nicht einfach 6 Monate, sondern der Workflow wird periodisch gestartet und die Wartebedingung erneut überprüft. Aus diesem Grund sollte man sehr vorsichtig mit wartenden Workflows sein, da diese jeden Server in die Knie zwingen können, wenn genügend gestartet sind.


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    www.msdynamics.de
    • Als Antwort markiert Michael Sulz Mittwoch, 3. November 2010 16:17
    Donnerstag, 21. Oktober 2010 12:19
  • Hallo Michael,

    vielen Dank für deine Rückmeldung.

    1)
    Aber ansonsten ist die Workflowlogik etc. korrekt und richtig?

    2)
    Wenn ich dann den Server gerne entlasten würde / bzw. das einfach besser oder richtiger machen wollte, wie würde ich dann vorgehen?

    Wenn ich ein Feld ändere und ich möchte aus der Änderung eine Aktion starten, dann muss ich das ja als Wartebedingung machen, denn wie wollte ich sonst "automatisch" wieder das ursprüngliche Ereignis (den Auslöser für die in der Zukunft zu erledigende Sache) finden.

    Ich kann mich ja nicht drauf verlassen, dass zufällig irgendjemand später nochmal ne Änderunge am Datensatz macht, oder?

    Vielen Dank.
    Gruss Pit

    Donnerstag, 21. Oktober 2010 13:09
  • Hallo Pit,

    zu 1) Ja

    zu 2) Ich würde ein Programm erstellen und dieses Zeitgesteuert z.B. über den Taskmanager von Windows ausführen lassen.


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    www.msdynamics.de
    • Als Antwort markiert Michael Sulz Sonntag, 29. Dezember 2013 09:06
    Freitag, 22. Oktober 2010 06:37
  • Hallo Michael,

    auch hierzu danke.

    Auch hierzu noch ne Frage:

    1. Wie kann ein solches Programm aussehen?
    2. Welche Programmiersprache?
    3. Was soll solch ein Programm genau / ungefähr tun?
    4. Wie kann ich CRM mit dem Windowstasmanager in Verbindung bringen?
    5. Ist der Taskmanager eines normalen Rechners (Client) gemeint und ist es sinnvoll, denn wenn der Rechner mal aus ist (Urlaub oder so) dann passiert ja nix.

    Soll das Programm diese Warte-Worfklows aufnehmen und dann durch irgendeine Zeitsteuerung den Workflow wieder starten?
    Wie kommen die "Warte-Workflows" in dieses Programm? Es müsste ja irgendwie ein Bedingung im Workflow stehen, so a la wenn gewartet werden soll, dann die Wartebedingung an das Programm senden und den aktuellen WF abbrechen, oder?

    Gruss aus Karlsruhe
    Pit

    Freitag, 22. Oktober 2010 06:48
  • Hallo Pit,

    welche Programmiersprache du verwendest, bleibt dir überlassen, ich verwende c#.

    Welche Funktionen das Programm haben soll, musst du schon festlegen. Es soll halt deine Anforderungen abdecken.

    Das Programm sollte natürlich auf dem Server ausgeführt werden.

    Bei deinen Fragen würde ich dir vorschlagen, du suchst dir einen erfahrenen Programmierer, der sich mit dem SDK und dem CRM auskennt und läßt ihn diese Aufgabe erledigen. Hier im Forum wirst du kein fertiges Programm erhalten.


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    www.msdynamics.de
    • Als Antwort markiert Michael Sulz Mittwoch, 3. November 2010 16:17
    Freitag, 22. Oktober 2010 06:58
  • <snip>
    Was passiert, wenn der WF in der Wartephase ist (Punkt 3: warten bis 6 Monate vor Datum: Ablauf) und ich ändere in der Wartezeit, das Feld Eigenvertrag = ja oder sonstwas … also was ist, wenn sich in der Wartezeit etwas ändert, was eine Ebene darüber geprüft wurde?
    </snip>

    Ein wartender Workflow wartet jetzt nicht einfach 6 Monate, sondern der Workflow wird periodisch gestartet und die Wartebedingung erneut überprüft. Aus diesem Grund sollte man sehr vorsichtig mit wartenden Workflows sein, da diese jeden Server in die Knie zwingen können, wenn genügend gestartet sind.

     

    Hallo Michael,

    mir iss immer noch eine Frage übrig geblieben.

    deine Antwort "sonder der Workflow wird periodisch gestartet" ...

    wie oft ist periodisch ??? Kannst du das etwas präzisieren ??

    Nochwas, was damit zusammenhängt:

    Nehmen wir an, ich habe eine WF wie folgt begonnen: "Warte bis 6 Monate vor Datum"

    Wenn das nicht zutrifft, habe ich ein rotes X "Es ist ein Fehler aufgetreten. Wiederholen Sie diese Aktion. FAlls das Problem weiterhin besteht ... " neben der Zeile mit dem Timeout.
    Wenn ich danndas Datum auf einen Zeitraum innerhalb der 6 Monate ändere, startet sich der WF dann neu oder bleibt dieser hängen im Status "warten".

    Wenn ich den grünen sich drehenden Kreis habe dann wird gewartet, oder? Bei dem "warte bis 6 Monate vor Datum" kommt, wenn das Datum nicht innerhalb der 6 Monate ist, eben kein grüner sich drehender Kreis.

    Gruss Peter

    Dienstag, 26. Oktober 2010 11:50