Guten Tag zusammen! Heute möchte ich ein kleines Beispiel für die Automatisierung des Prozesses zur Erstellung von Austrittsanträgen für neue Mitarbeiter mithilfe von Microsoft SharePoint, PowerApps, Power Automate und Teams teilen. Bei der Umsetzung dieses Prozesses ist der Kauf separater Benutzerpläne für PowerApps und Power Automate nicht erforderlich; ein Office365 E1/E3/E5-Abonnement reicht aus. Auf der SharePoint-Website erstellen wir Listen und Spalten, PowerApps wird uns helfen, ein Formular zu erstellen, und Power Automate bietet die Möglichkeit, die Logik der Geschäftsprozesse anzupassen. Den finalen Prozess binden wir an das MS Teams-Team an. Lass uns keine Zeit verlieren und sehen, was daraus wird.

Im ersten Schritt erstellen wir Listen und Felder. Wir benötigen die Listen:
- Austrittsanträge für Mitarbeiter
- Abteilungen
- HR nach Abteilungen
- Administratoren
Jede Liste wird später eine Rolle spielen, und wir werden sehen, welche genau. Wir erstellen die Felder und konfigurieren das Navigationsmenü:

PowerApps
Jetzt erstellen wir ein Formular für die Liste „Austrittsantrag für Mitarbeiter“ mit PowerApps. In der Endversion wird es so aussehen:

Im Feld „Mitarbeiter“ wählen Sie aus der Liste der Benutzer von Office 365, das „Ausgabedatum“ geben Sie aus dem Kalender an, das „Abteilung“ wählen Sie aus dem Abteilungsverzeichnis, und „HR“ wird aus dem HR-Verzeichnis nach Abteilungen ausgewählt:

Es ist jedoch erforderlich, die Liste der verfügbaren HRs nach der im Formular angegebenen Abteilung zu filtern. Nutzen wir die Formel zur Datenfilterung in PowerApps. Für die Eigenschaft „Items“ des Feldes „HR“ schreiben wir:

Zusätzlich können auf dem Formular kleine Anpassungen für den Standardwert des Feldes Status vorgenommen werden. Für die Eigenschaft „Default“ des Feldes „Status“ schreiben wir:

Wenn das Formular zur Erstellung eines Elements geöffnet wird, wird im Feld „Status“ der Wert „Neu“ eingetragen, andernfalls wird im Statusfeld des Formulars der Wert aus der SharePoint-Spalte für das aktuelle Element übernommen.
Ein Problem von PowerApps ist, dass es schwierig ist, Daten aus SharePoint-Gruppen zu erhalten. Dadurch wird es auch schwierig, die Sichtbarkeit/Zugänglichkeit von Feldern oder Objekten im Formular einzustellen, wenn Sie auf den Eintritt eines Benutzers in die SharePoint-Gruppe reagieren möchten. Aber es gibt einen Workaround. Dafür haben wir im Voraus eine Liste der Administratoren erstellt:

In dieser Liste gibt es das Feld „Mitarbeiter“ vom Typ „Benutzer oder Gruppe“, das nur im Formular angezeigt wird, sowie das Feld „Name“, in das der Name des ausgewählten Mitarbeiters geschrieben wird und das nur in der Listenansicht angezeigt wird. Lassen Sie uns nun in PowerApps einen kleinen Trick anwenden. Zum Beispiel kann die Verfügbarkeit eines jeden Feldes so eingestellt werden, dass sie vom Vorhandensein des aktuellen Benutzers in der Liste der Administratoren abhängt. Wir finden die Eigenschaft „Display Mode“ des Feldes „Austrittsdatum“ und schreiben:

Gemäß dieser Formel wird das Feld zum Bearbeiten zugänglich sein, wenn in der Liste der Administratoren mindestens ein Mitarbeiter vorhanden ist, dessen Login mit dem Login des aktuellen Benutzers übereinstimmt; andernfalls wird es im Nur-Lesen-Modus angezeigt. Zur erhöhten Zuverlässigkeit bringen wir den Login in Kleinbuchstaben, denn es gibt alle möglichen Fälle.
Sie haben vielleicht bemerkt, dass im Titel des Formulars eine Schaltfläche "Aktionen zur Anfrage" vorhanden ist:

Diese Schaltfläche führt zu einem anderen Bildschirm, auf dem alle möglichen Aktionen zur Anfrage für mehr Komfort gesammelt sind:

Nach dem Klicken auf jede Schaltfläche öffnet sich ein zusätzliches Aktionsfenster. Wenn die Aktion "Anfrage stornieren" ausgewählt wird, öffnet sich zum Beispiel ein zusätzliches Fenster für die Eingabe eines Kommentars:

Nach dem Klicken auf die Schaltfläche "Bestätigen" ändert sich der Status der Anfrage, und dies kann sogar ohne das Starten eines Power Automate Flusses erfolgen. Nutzen wir die Funktion „Patch“ für die Eigenschaft „OnSelect“ der Schaltfläche:

Mit der Funktion Patch aktualisieren wir das Listenelement der Anfragen, indem wir es nach der ID des aktuellen Elements filtern. Wir ändern den Wert des Feldes „Status“ und wechseln zum Hauptbildschirm. Die Logik für die anderen Aktionsschaltflächen ist ähnlich.
Es bleibt, den Genehmigungsfluss zu konfigurieren. Wir erstellen ihn in der einfachsten Form.
Power Automate
Unser Genehmigungs-Workflow wird automatisch beim Erstellen eines Antrags gestartet. Während des Ablaufs wird der Status des Antrags geändert, der Abteilungsleiter benachrichtigt und eine E-Mail-Benachrichtigung über den neuen Antrag an den Vorgesetzten gesendet. Zur Bestimmung des Leiters haben wir ein Verzeichnis "Abteilungen":

Wir erstellen einen Power Automate-Workflow:

Während dieses Ablaufs erhält der Abteilungsleiter eine E-Mail-Benachrichtigung über die Erstellung eines neuen Antrags und kann über einen Link darauf zugreifen, um eine Entscheidung zu treffen, indem er auf die Schaltfläche klickt:

Ein Klick auf die Schaltfläche „Genehmigen“ oder „Ablehnen“ startet ebenfalls den Power Automate-Workflow, der den Status des Antrags ändert und eine E-Mail-Benachrichtigung an den HR-Spezialisten sendet:

Der Prozess ist bereit.
Teams
Und der letzte Schliff – die Organisation der gemeinsamen Nutzung dieses Prozesses. Dazu verbinden wir den Prozess mit dem MS Teams-Team:

Nun haben alle Teilnehmer des MS Teams-Teams Zugriff auf den Prozess des Onboardings neuer Mitarbeiter auf einem separaten Tab.
Selbstverständlich kann in der Ablauflogik eine mehrstufige Genehmigung vorgesehen werden. Zudem besteht die Möglichkeit, die Komponente Approvals zur Zuweisung von Aufgaben in Power Automate zu verwenden. Auch Berichte können eingerichtet und Benachrichtigungen erstellt werden, die an den Microsoft Teams-Chatbot gesendet werden. Aber mehr dazu in den nächsten Artikeln. Vielen Dank für Ihre Aufmerksamkeit und einen schönen Tag noch!
Quelle: habr.com
