In meinem letzten Blogbeitrag haben wir die Grundlagen für diesen Blog-Artikel gelegt. Wir haben die benötigten Plan-Datums-Felder in der Tabelle Projektaufgaben angelegt und das Model-Driven-App mit einem Ja/Nein Feld ergänzt. Dieses soll uns als Trigger für den Cloud-Flow dienen. In diesem Blog-Artikel möchte ich dir jetzt zeigen, wie Du den dazugehörigen Cloud-Flow erstellst, um die benötigten Plan-Daten in die entsprechenden Felder zu schreiben. Ziel soll es sein, sobald der Projektleiter das Feld Freeze auf „Ja“ setzt, soll der Cloud-Flow entsprechend das Start- und das Enddatum der Aufgaben und Meilensteine in die Felder Plan-Anfang & Plan-Ende schreiben.
Legen wir also los. Melde dich an deinem Microsoft Tenant an. Klicke auf das App-Startfeld und wähle im Menü die Option „Power Automate“. Klicke dann auf der linken Seite die Option „Meine Flows“ und im oberen Bereich die Option „Neuer Flow“ aus. In dem sich öffnenden Kontext-Menü klickst Du dann auf „Automatisierten Cloud-Flow“ erstellen.
Gebe jetzt einen Namen für den Cloud-Flow ein. In meinem Beispiel nenne ich ihn „Basisplan“. Gebe in dem Feld Flowtrigger „Common Data“ ein. Markiere den Trigger „Wenn eine Zeile hinzugefügt, geändert oder gelöscht wird“ und klicke anschließend auf „Erstellen“.
Gebe bei Änderungstyp die Option „Update“ ein, schließlich wollen wir ja die Änderung von unserem Feld „Freeze“ sobald der Wert von „Nein“ auf „Ja“ geändert wird abfangen. Wähle dann unter Tabellennamen die Tabelle Projekte aus. Unter „Bereich“ wählst Du die Option „Organization“ aus. Klicke jetzt auf den Link „Erweiterte Optionen einblenden“. Jetzt musst Du dem Trigger mitteilen, auf welches Feld er reagieren soll. Hierzu benötigst Du den Spaltennamen. In meinem Beispiel „cr802_freeze“.
Wenn Du den Spaltennamen nicht weißt, dann prüfe diesen zuerst nach. Öffne hierzu die Power- Apps in Deinem Tenant. Klicke auf der linken Seite die Option „Dataverse“ und klicke auf Tabellen. Ändere die Granularität der Suche auf „Alle“ und gebe dann im Suchfeld „Projekt“ ein. Öffne die Tabelle „Projekte“ und suche dann das Feld „Freeze“ aus dem ersten Teil dieser Blog Reihe. In meiner Umgebung heißt das Feld “cr802_freeze”.
Bei Dir wird ein anderer Namen stehen. Kopiere dir den Namen in die Zwischenablage und kehre dann zu Power-Automate zurück. Trage den Namen dann unter Spalten „Auswahl“ ein.
Jetzt wird der Datensatz bei Ändern des Projektes abgerufen. Allerdings kommen die Werte aus der Projekt Datenbank. Unsere Aufgaben stehen aber in der Datenbank Projektaufgaben. Die direkte Referenz zwischen beiden Tabellen bittet die Project-ID. Diese wird zu jedem Projekt eindeutig erstellt. Also müssen wir diese abfragen. Klicke auf das (+) Zeichen und wähle „Aktion hinzufügen“. Klicke dann erneut auf Dataverse und wähle dort die Option „Listenzeile“ aus.
Wähle hier unter Tabellennamen die Tabelle Projektaufgaben aus. Da ich in meiner Abfrage nicht alle Spalten aus der Tabelle abrufen möchte. Wähle ich hier nur die Spalten „msdyn_projekttaskid, msdyn_start“ und das Ende “msydyn_finish” aus. Trage nun als Filter die „_msdyn_project_value eq Projekt“ ein.
Hinweis: Auch wenn der Spaltennamen in der „Projektaufgaben-Tabelle msdyn_ ProjectID“ in den Dataverse und in Power BI heißt, handelt es sich doch um eine versteckte Spalte und muss mit „_msdyn_project_value“ abgerufen werden.
Nun musst Du die gefilterten Aufgaben einmal alle durchlaufen, um dort das entsprechende End- und Anfangsdatum einzutragen. Hierzu musst Du das Steuerelement „Auf alle anwenden“ hinzufügen. Klicke auf das (+) Zeichen und wähle erneut „Aktion hinzufügen“ aus. Wähle „Steuern“ und dann „Auf alle anwenden“.
Klicke in das Feld „Ausgabe von vorherigen Schritt“ und wähle dort „Value“ auf der rechten Seite aus.
Jetzt können wir die Werte in unsere Tabelle schreiben. Füge erneut eine Dataverse-Abfrage hinzu. Klicke wieder auf das (+) Zeichen und wähle dann Microsoft Dataverse aus. Wähle als Option „Zeile aktualisieren“ aus.
Wähle als Tabellen „Projektaufgaben“ aus. Unter Zeilen-ID trägst du nun die Projektaufgabenkennung ein.
Hinweis: Leider sind die Bezeichnungen nicht so wirklich selbsterklärend. Hierbei handelt es sich um die Aufgaben-ID (msdyn_ProjectTaskID). Wenn Du mit der Maus über das Feld gehst wird dir der Name entsprechend angezeigt.
Trage jetzt im unteren Bereich in die Felder PlanStart und PlanEnde die Felder aus der Abfrage „Start“ und „Fertig stellen“ ein. Hierbei handelt es ich um die Felder „msdyn_start & msdyn_finish“. Auch hier wird Dir der korrekte Namen angezeigt, wenn Du mit der Maus darüberscrollst.
Testen
Jetzt können wir den Flow Testen. Lege ein Projekt in Project for the Web in der Model-Driven-App an. In meinem Beispiel nenne ich das Projekt Basisplan-Test.
Damit das ganze jetzt ein wenig einfacher ist, lege ich nur eine Aufgabe mit einer Dauer von „3 Tagen“ an.
Wenn Du jetzt in der Tabelle guckst, siehst Du, dass noch keine Werte gespeichert wurden.
Jetzt setzt Du den Freeze-Schalter auf „Ja“.
Kontrolliere als erstes ob der Cloud-Flow ausgeführt wurde. Hierzu öffnest Du diesen wieder unter Power Automate. Wie Du siehst, wurde dieser korrekt ausgeführt.
Letzte Kontrolle ist wieder in den Dataverse selber. Auch hier können wir die Werte in den Spalten finden.
Solltest Du jetzt Arbeitspakete verschieben bleiben Dir die Plan-Werte erhalten.
Hinweis. Natürlich handelt es sich hierbei um eine relativ einfache Form. Aber Du kannst auch eine eigene Tabelle für die Basispläne anlegen. Ebenfalls sind Szenarios möglich in dem Du über den Business Flow bei einem Phasenübergang den Flow entsprechend ausführen kannst.
Schreibe einen Kommentar