Eintrittsdauer für die Rundungszeit von Dynamics 365 Project-Services

Eintrittsdauer für die Rundungszeit von Dynamics 365 Project-Services


Ein Kunde fragte kürzlich, ob es möglich sei, die Zeiteingaben seines Benutzers auf die nächste Viertelstunde zu runden. Nach einigem Testen stellte ich fest, dass die Antwort Ja ist – es ist möglich, Zeiteingaben mit einem einfachen Flow zu runden.

Auf einer hohen Stufe durchläuft der Flow 5 Schritte.

  1. Bestimmen Sie den Rest der Zeiteintragsdauer geteilt durch 15. Dies wird in den folgenden Schritten verwendet.
  2. Bestimmen Sie, ob die Zeiteintrag sollte auf 0 gerundet und daher gelöscht werden.
  3. Überprüfen Sie, ob die Zeiteintrag befindet sich bereits in Schritten von 15 Minuten und muss daher überhaupt nicht gerundet werden.
  4. Falls erforderlich, ermitteln Sie, ob die Zeiteintrag sollte auf- oder abgerundet sein.
  5. Aktualisieren Sie die Zeiteintragsdauer bis zur nächsten 15 Minuten ..

Navigieren Sie zu Beginn zum Abschnitt Power Automation von Office 365 und gehen Sie zu + Erstellen und erstellen Sie eine Automatisierter Ablauf. Benennen Sie Ihren Flow und wählen Sie den Common Data Service Trigger Wenn ein Datensatz erstellt wird. Y.Sie benötigen außerdem eine Kopie, die beim Aktualisieren ausgelöst wird, und beachten Sie, dass der Dynamics-Trigger ebenfalls funktioniert.

Das Zeiteintrag Entität verwendet die Dauer Feld zum Speichern der Länge des Eintrags. Das Dauer Das Feld wird auf einzigartige Weise angezeigt, aber hinter den Kulissen werden die Daten einfach als Anzahl von Minuten gespeichert.

In diesem Sinne sollte der Flow mit einem beginnen Variable initialisieren Schritt, um den Rest der zu bestimmen Dauer geteilt durch das Intervall, auf das gerundet werden soll; in diesem Fall 15 Minuten. Initialisieren Sie dazu den Wert der Variablen, die sein soll Mod (Dauer, 15) die den Rest der zurückgibt Dauer wenn durch 15 geteilt.

Jetzt, da wir den Rest der Laufzeit haben, können wir ihn in verwenden Bedingung Schritte. Die erste Bedingung sollte sein, wenn die Zeiteintrag sollte auf 0 abgerundet werden, was gelöscht werden muss. In diesem Fall:

Wenn ja, fügen Sie ein Einen Datensatz löschen Schritt mit dem Zeiteintrag Feld aus dem Trigger-Körper, um die zu löschen Zeiteintrag Aufzeichnung. Dann fügen Sie ein Kündigen Schritt, um den Flow mit dem Status zu beenden Erfolgreich. Das wenn nein Seite kann leer gelassen werden.

Die nächste Bedingung prüft, ob die Dauer muss überhaupt gerundet werden, indem geprüft wird, ob das Dauer Rest Variable ist gleich 0. Wenn ja, brechen Sie den Flow mit dem Status ab Abgesagt als die Dauer ist bereits in 15 Minuten Schritten.

Wenn diese Fälle abgedeckt sind, wird der letzte Teil des Prozesses bestimmen, ob die Dauer muss auf- oder abgerundet werden. Da ein Rest von der Hälfte oder mehr aufgerundet wird, lautet die Formel if Dauer ist größer als oder gleich 7,5.

Beide Falls ja und wenn nein Zweige haben eine Aktualisieren Sie einen Datensatz Treten Sie auf den Abzug Zeiteintrag, aber sie haben unterschiedliche Formeln zum Auffüllen der Dauer Feld.

Zum Abrunden müssen wir das aktualisieren Dauer Feld ist der ursprüngliche Wert minus dem Rest. Die Formel sieht folgendermaßen aus:

sub (triggerBody ()? ("msdyn_duration"), Variablen ("Duration Remainder")

Die Formel zum Aufrunden ist etwas komplizierter. In diesem Fall müssen wir die Differenz zwischen 15 und unserem Rest ermitteln und diesen Wert zum Original addieren Dauer Feld. Die Formel sieht folgendermaßen aus:

add (sub (15, variables (‘Duration Remainder’)), triggerBody ()? (‘msdyn_duration’))

Und der Flow ist abgeschlossen! Stellen Sie sicher, dass Sie Ihren Flow kopieren und die zweite Version ändern, um den zu verwenden Wenn ein Datensatz aktualisiert wird auslösen. Insgesamt sollte Ihr Flow bei minimierten Bedingungsverzweigungen wie folgt aussehen:

Sie können diesen Flow einfach aktualisieren, um ihn auf eine andere Zahl zu runden, indem Sie 15 Sekunden durch das neue Inkrement und 7,5 Sekunden durch die Hälfte des neuen Inkrements ersetzen. Wenn Sie sich häufig ändern, können Sie diese Werte im Flow sogar durch Variablen ersetzen.



Source by [author_name]

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.