Zeiterfassung

Dec 17, 2024
Zeiterfassung mit Power Apps

Eigene Zeiterfassungs App in 30 Minuten erstellen

 

In vielen Unternehmen gibt es die Herausforderung, Arbeitszeiten effizient zu erfassen und zu verwalten. Heute möchte ich dir eine praktische Lösung vorstellen: die Erstellung einer Zeiterfassungs App mit Power Apps. Mit dieser App kannst du vom PC oder Smartphone aus Arbeitszeiten dokumentieren, Projekten zuordnen und einen Timer direkt in der App nutzen. Ich zeige dir Schritt für Schritt, wie du deine Zeiterfassungs App selbst erstellen kannst – von der SharePoint-Datenquelle bis hin zur benutzerfreundlichen Oberfläche.

Schritt 1: SharePoint Liste anlegen

Zunächst benötigst du eine SharePoint Liste als Datenquelle, um Informationen abzuspeichern und auch per App abrufen zu können.

Liste „Zeiterfassung“:

  • Startzeit (Datum & Uhrzeit, erforderlich)
  • Endzeit (Datum & Uhrzeit, optional)
  • Projekt (Auswahlspalte, erforderlich, z. B. „YouTube Video“ oder „Projektakquise“)
  • Aktiv (Ja/Nein, erforderlich)
  • Kommentar (Text, optional)

Schritt 2: App erstellen und designen

Erstelle jetzt deine App mithilfe der zur Verfügung stehenden Steuerelemente. In diesem Beispiel habe ich die modernen Steuerelemente aktiviert, um ein ansprechendes und benutzerfreundliches Design zu schaffen. Hauptelemente der App sind:

  • Ein Bearbeitungsformular (1) zum Auswählen des Projekts sowie zur Eingabe eines Kommentars
  • Buttons (2) zum Starten und Stoppen der Zeiterfassung 
  • Ein Datepicker (3), um die Galerie der erfassten Zeiten zu filtern
  • Eine Galerie (4), um bereits erfasste Zeiten anzuzeigen


 

Schritt 3: Zeiterfassung

Um über die App Zeiten erfassen zu können, musst du den Buttons verschiedene Funktionalitäten zuweisen. Bei Klick auf den Startbutton soll ein neuer Datensatz in der SharePoint Liste mit der aktuellen Uhrzeit (Startzeit) angelegt werden. Bei Klick auf den Stop Button soll der zuvor angelegte Datensatz mit der aktuellen Uhrzeit (Endzeit) überarbeitet werden.

Button Start
OnSelect =
Set(
    varDatensatz;
    Patch(
        Zeiterfassung;
        Defaults(Zeiterfassung);
        {
            'Aktiv?': true;
            Startzeit: Now();
            Kommentar: DataCardValue4.Value;
            Projekt: DataCardValue2.Selected
        }
    )
)

Button Stop
OnSelect =
Set(
    varDatensatz;
    Patch(
        Zeiterfassung;
        varDatensatz;
        {
            'Aktiv?': false;
            Endzeit: Now();
            Kommentar: DataCardValue4.Value
        }
    )
);;
ResetForm(Form1);;

 

 

Schritt 4: Timer zur Ansicht der aktuell gearbeiteten Zeit

Um die Benutzerfreundlichkeit deiner App zu erhöhen, kannst du einen Timer integrieren, der gestartet werden soll, sobald der Start Button geklickt wird. Über ein Textfeld kannst du so die bereits gearbeitete Zeit darstellen. Der Stop Button beendet den Timer. Die Visible Eigenschaft des Timer Steuerelements kannst du auf false setzen, sodass dieses nicht mehr sichtbar ist.

Button Start - Timer Zusatz
OnSelect =
 Set(varStartTimer; true)

Button Stop - Timer Zusatz
OnSelect =
 Set(varStartTimer; false );;
Reset(Timer1)

 

Schritt 5: Benutzerfreundlichkeit erhöhen

Abschließend kannst du deine App noch verbessern, indem du verschiedene Elemente je nach Situation deaktivierst oder aktivierst. So soll z.B. der Start-Button sowie die Projektauswahl nur möglich sein, wenn aktuell keine Zeit erfasst wird. Der Stop Button soll demnach nur zur Verfügung stehen, wenn gerade eine Zeit erfasst wird.

Button Start & Projekt_DataCard1
DisplayMode =
 If(varDatensatz.'Aktiv?'=false Or IsBlank(varDatensatz);DisplayMode.Edit;DisplayMode.Disabled)

Button Stop
DisplayMode =
 If(varDatensatz.'Aktiv?'=true;DisplayMode.Edit;DisplayMode.Disabled)

 

Ich hoffe dieses Tutorial hilft dir dabei, eine nutzerfreundliche Zeiterfassung zu erstellen und in deinem Unternehmen zu etablieren.

Melde dich gerne für meinen Newsletter an, in dem ich dir Tipps und Tricks rund um Power Apps & Power Automate zusende.

 Hier gehts zum Detailvideo: