In der Microsoft Tech Community wurde folgende Frage –
„Erinnerung wöchentlich fälliger Aufgaben“ – gestellt:
https://techcommunity.microsoft.com/t5/power-apps-and-power-automate-in/weekly-tasks-due-messages-sent-via-teams-to-specific-assignees/m-p/4188067
Mein Lösungsansatz
Die Aufgabenstellung „Erinnerung wöchentlich fälliger Aufgaben“ ist zwar nicht ungewöhnlich, enthält jedoch einige interessante Details, die besondere Aufmerksamkeit erfordern. Dies betrifft hauptsächlich die Filterung der benötigten Datensätze. Insbesondere die Abfrage von Zeitintervallen durch die Nutzung bestehender Funktionen innerhalb von Ausdrücken ist hier relevant.
Man könnte einfach die Aufgabenliste verwenden und die Mitarbeiter bzw. die “Zugewiesenen” vorab in einer Array-Variable speichern. Der Einfachheit halber nutze ich jedoch eine separate Liste namens “MA” als Vergleichsliste.
SharePoint – Listen
- Es besteht eine SharePoint – Liste mit den definierten Aufgaben
2. Es besteht eine SharePoint – Liste mit den Mitarbeitern der Abteilung „Marketing“ als Vergleichsliste
Power Automate – Flow
Schritt: 1
Als Trigger verwenden wir den „Geplanter Cloud-Flow“ und stellen entsprechend die gewünschten Parameter:
Schritt: 2
Da wir möchten, dass die Ausgabe der gefundenen Elemente in einer Email in einer übersichtlich formatierten Tabelle im HTML-Format erfolgt, bedienen wir uns eines HTML-Table-Designers für das entsprechende Aussehen. Ein Beispiel für einen solchen Table-Designer findest du hier: Table-Designer.
Wir nehmen hierfür den Connector „Verfassen“ und geben nachfolgenden HTML-Code ein.
<style>
table {
border: 1px solid #1C6EA4;
background-color: #EEEEEE;
width: 100%;
text-align: left;
border-collapse: collapse;
}
table td, table th {
border: 1px solid #AAAAAA;
padding: 3px 2px;
}
table tbody td {
font-size: 18px;
}
table thead {
background: #1C6EA4;
border-bottom: 2px solid #444444;
}
table thead th {
font-size: 15px;
font-weight: bold;
color: #FFFFFF;
border-left: 2px solid #D0E4F5;
}
table thead th:first-child {
border-left: none;
}
</style>
Schritt: 3
Für die spätere Filter-Abfrage erstellen wir uns zwei Variablen “Status” und “Abteilung”. Da wir nur die offenen Aufgaben filtern möchten, setzen wir bei der Variable “varStatus” den Wert auf “Offen” und bei der Variable “varAbteilung” den Wert auf “Marketing”.
Schritt: 4
Aus der SharePoint-Liste “MA” werden mithilfe einer Abfrage alle Mitarbeiter der Abteilung “Marketing” gefiltert und ausgelesen. Diese gefilterten Daten dienen als Grundlage für den Abgleich mit der SharePoint-Liste “Aufgaben”. Bei der Filterung verwenden wir die Variable “varAbteilung” als Vergleichswert. Bitte prüfe, ob der Spaltenname der SharePoint-Liste dem internen Namen entspricht. In diesem Beispsiel entspricht “Zugewiesen” dem internen Namen “field_2”.
Schritt: 5
In einer Schleife basierend auf der vormals gefilterten SharePoint-Liste „MA“, werden jetzt alle Mitarbeiter die als „Zugewiesene“ für Aufgaben in der SharePoint-Liste „TestAufgaben“ gelistet sind, verglichen und ausgelesen.
Abfrage:
– field_2 eq ‚Mitarbeiter‘ (items(‚Auf_alle_anwenden‘),?[‚field_1‘])
– field_4 eq ‚varStatus‘ (variables(‚varStatus‘))
– Title eq ‚varAbteilung‘ (variables(‚varAbteilung))
– field_3 ge ‚formatDateTime(addDays(utcnow(),-1), ‚yyyy-MM-ddTHH:mm:ssZ‘)‘
– field_3 le ‚formatDateTime(addDays(utcnow(),5), ‚yyyy-MM-ddTHH:mm:ssZ‘)‘
„eq“ entspricht „gleich“ / „ge“ entspricht „grösser“ / „le“ entspricht „kleiner“
Beim durchlaufen der Schleife werden Aufgaben entsprechend der Filterung der zugewiesenen Personen abgerufen und nachfolgend in einer „HTML-Tabelle“ als Array eingebunden.
Als „value“ dienen die abgerufenen Daten aus „Elemente abrufen 2“ . Sollte die Aufgaben-Liste über 1000 Einträge bitte entsprechend in den Einstellungen des Connectors die Paginierung (1000) einstellen.
outputs(‚Elemente_abrufen_2‘)?[‚body/value‘]
Zum Ende versenden wir die zugewiesenen Aufgaben per Outlook Email direkt an die verantwortlichen Mitarbeiter.
Anmerkung: Man könnte natürlich auch hier Teams-Empfänger entsprechend einbinden, der Einfacheit halber hier aber mit Outlook 365:
Hierbei bedienen wir uns der formatierten HTML-Tabelle und wählen als Empfänger den für die Aufgaben zugewiesen Mitarbeiter.
* An: items(‚Auf_alle_anwenden‘)?[‚field_2‘]
Resultat
Das Resultat ist eine Email mit einer formatierten Tabelle, die vom Design nach persönlichen Wünschen angepasst werden kann.
Ich hoffe, dass Sie die Inhalte dieses Blogs rund um Office 365, Power Automate, Power Apps und SharePoint-Listen informativ und hilfreich finden.
Kommentieren Sie unter den Beiträgen: Haben Sie zusätzliche Tipps, persönliche Erfahrungen oder Fragen zu den besprochenen Themen? Nutzen Sie bitte die Kommentarfunktion unter den Blogartikeln, um Ihre Perspektiven zu teilen.
Kontaktieren Sie uns direkt: Für spezifische Anfragen oder wenn Sie eine direktere Kommunikation bevorzugen, zögern Sie nicht, das Kontaktformular zu verwenden.
Entdecke mehr von Viage Blog
Subscribe to get the latest posts sent to your email.