Zeiteinträge (Time-Entries-Widget)
Das Widget „Zeiteinträge“ zeigt die erfassten Zeiten eines Datenschemas für einen wählbaren Zeitraum – nach Tagen gruppiert, mit Tagessummen und Balken. Meist ist das das Datenschema, in das ein Timer oder eine Stoppuhr schreibt. So sind erfasste Zeiten direkt neben der Erfassung sichtbar und lassen sich ohne Umweg über die Datenbank prüfen und exportieren.
Typische Einsatzbereiche
| Einsatz | Beschreibung |
|---|---|
| Eigene Arbeitszeiten | Jede Person sieht ihre Zeiten von heute, dieser Woche oder diesem Monat mit Summe. |
| Projektzeiten prüfen | Einträge mit dem Namen des Projekts als Titel und der Tätigkeit als Zusatzinfo. |
| Stundenzettel exportieren | Zeiten eines Monats als Excel- oder CSV-Datei für Lohnbuchhaltung oder Abrechnung. |
| Überblick für Vorgesetzte | Über die Mitarbeiter-Auswahl die Zeiten einer Person oder aller Personen ansehen. |
Funktionen
- Nach Tagen gruppiert: Einträge erscheinen unter „Heute“, „Gestern“ und den weiteren Tagen, jeweils mit Tagessumme.
- Zeitraum: Über die Zeitraum-Auswahl neben der Suche wechseln Betrachter zwischen den angebotenen Zeiträumen (Heute, Gestern, Diese Woche, Dieser Monat, Dieses Quartal, Dieses Jahr, Alle); je nach Einstellung auch Monat, Jahr mit Ganzes Jahr … oder Benutzerdefiniert im Kalender. Die Wahl merkt sich der Browser je Betrachter.
- Suche: „Einträge durchsuchen…“ filtert die angezeigten Einträge, auch nach den zusätzlichen Spalten.
- Summe: Unten stehen die summierte Dauer und die Anzahl der angezeigten Einträge.
- Export: Exportieren als Excel, CSV oder JSON mit den Spalten Datum, Start, Ende, Dauer, Stunden (dezimal), Bezug (bei Bezugsfeld), Mitarbeiter (bei Mitarbeiter-Auswahl), den zusätzlichen Spalten und Dokument; exportiert werden die gerade angezeigten Einträge.
- Löschen: Optional ein Knopf Löschen je Eintrag (am Computer beim Überfahren sichtbar), der zur Bestätigung einen Haken „Wirklich löschen?“ und Abbrechen einblendet.
- Mitarbeiter-Auswahl: Optional eine Auswahl „Mitarbeiter“ mit „Alle Mitarbeiter“ für Vorgesetzte.
- Aktualisieren: Das Widget lädt neu, wenn ein Timer oder eine Stoppuhr auf dem Dashboard einen Eintrag speichert, und über Aktualisieren.
Einrichten
Im Eigenschaftenpanel Zeiteinträge konfigurieren wählen. Im Dialog Zeiteinträge konfigurieren werden diese Einstellungen vorgenommen:
| Einstellung | Bedeutung |
|---|---|
| Datenschema der Einträge | Das Datenschema mit den Zeiteinträgen. Pflicht. |
| Startzeit-Feld | Feld mit dem Beginn (Datum mit Uhrzeit); angezeigt werden Start und Ende als „HH:MM – HH:MM“. Angeboten werden nur Datums- und Datum-Zeit-Felder. |
| Endzeit-Feld | Feld mit dem Ende (Datum mit Uhrzeit). Muss ein anderes Feld als die Startzeit sein. |
| Datumsfeld für Zeitfilter | Nach welchem Datum Zeitraum und Reihenfolge gebildet werden. Ohne Angabe gilt die Endzeit. Die Tagesgruppen folgen der Startzeit, wenn dieses Feld die Startzeit ist, sonst der Endzeit. |
| Dauer-Feld (berechnet) | Optional, nur berechnete Felder. Feld mit der Dauer für Balken und Summen. Ist es leer, wird die Dauer aus Start und Ende berechnet, Pausen zählen dann mit. Empfohlen: die Nettodauer, zum Beispiel „Dauer netto (ms)“. |
| Bezug / Projekt-Feld | Optional. Ein Referenzfeld, etwa auf Projekte; der Name des verknüpften Datensatzes wird als Titel des Eintrags gezeigt, sonst der Dokumentname oder „Ohne Bezug“. Hat das Schema keine Referenzfelder, steht das im Dialog. Betrachter brauchen Leserecht auf das verknüpfte Datenschema. |
| Feld mit Benutzer-Kennung | Wird für „Nur meine Einträge“ benötigt. |
| Feld mit E-Mail-Adresse | Alternative zur Benutzer-Kennung für „Nur meine Einträge“; Voraussetzung für die Mitarbeiter-Auswahl. |
| Zusätzliche Spalten | Weitere Felder, die als Zusatzinfo in einer Zeile erscheinen, durchsuchbar und im Export enthalten. |
| Maximale Anzahl Einträge | Obergrenze je Zeitraum-Abfrage, Standard 500. |
| Zusätzlicher Filter (SQL) | Optional. Eine Bedingung, die mit AND an die Abfrage angehängt wird (siehe unten). |
| Angebotene Zeiträume, Monatsauswahl erlauben, Jahresauswahl erlauben, Freie Kalenderauswahl erlauben, Standard-Zeitraum | Welche Zeiträume Betrachter wählen können und welcher beim Öffnen gilt. Standard: Heute, Gestern, Diese Woche, Dieser Monat; Kalender an, Monat und Jahr aus; Standard-Zeitraum Heute. |
| Nur meine Einträge | Zeigt ausschließlich Einträge der angemeldeten Person. Standard an. |
| Summe anzeigen | Summe und Anzahl am unteren Rand. Standard an. |
| Löschen erlauben | Löschen-Knopf je Eintrag. Standard aus. |
| Mitarbeiter-Auswahl (Manager) | Auswahl einer Person oder aller Personen; jeder Eintrag zeigt dann die E-Mail-Adresse. Braucht das E-Mail-Feld und die Berechtigung, das Benutzerverzeichnis zu lesen; sonst bleibt die Auswahl unsichtbar. Nicht zusammen mit „Nur meine Einträge“. |
Zusätzlicher Filter (SQL)
Der zusätzliche Filter ist eine SQL-Bedingung auf die Spalten des Datenschemas der Einträge, ohne WHERE, zum Beispiel:
taetigkeit <> 'intern'
@currentUserEmailund@currentUserSubwerden in Anführungszeichen geschrieben:user_email = '@currentUserEmail'.@periodStartund@periodEndbeziehen sich hier derzeit immer auf den aktuellen Monat, nicht auf den im Widget gewählten Zeitraum. Den Zeitraum regelt bereits das Widget selbst.$(…)-Platzhalter eines Filter-Containers werden hier nicht ersetzt und lassen die Abfrage scheitern.
Schreibweisen für Datum, Zeitstempel und Platzhalter: SQL in Widgets.
Anwendungsbeispiel: Meine Arbeitszeiten diesen Monat
Ausgangspunkt ist eine Stoppuhr, die Arbeitszeiten in das Datenschema „Arbeitszeit“ (Tabelle work_time) schreibt, mit den Feldern start_time, end_time, net_duration, user_sub und user_email.
- Widget Zeiteinträge neben die Stoppuhr legen, Zeiteinträge konfigurieren wählen.
- Datenschema der Einträge: Arbeitszeit.
- Startzeit-Feld
start_time, Endzeit-Feldend_time, Datumsfeld für Zeitfilterstart_time. - Dauer-Feld (berechnet):
net_duration– so zählen Pausen nicht mit. - Feld mit Benutzer-Kennung
user_sub, Feld mit E-Mail-Adresseuser_email. - Nur meine Einträge an, Summe anzeigen an, Löschen erlauben aus.
- Angebotene Zeiträume: Heute, Diese Woche, Dieser Monat; Freie Kalenderauswahl erlauben und Monatsauswahl erlauben an; Standard-Zeitraum: Dieser Monat.
- Speichern und das Dashboard veröffentlichen.
Ergebnis: Jede Person sieht ihre eigenen Zeiten des laufenden Monats nach Tagen gruppiert; die Summe unten zeigt die Nettoarbeitszeit des Monats. Nach jedem Stopp der Stoppuhr erscheint der neue Eintrag automatisch.
Hinweise und Grenzen
- „Nur meine Einträge“ braucht ein Benutzerfeld. Ist weder „Feld mit Benutzer-Kennung“ noch „Feld mit E-Mail-Adresse“ gesetzt, zeigt das Widget alle Einträge, die die Person lesen darf.
- Zukünftige Einträge: Heute, Diese Woche, Dieser Monat, Dieses Quartal und Dieses Jahr haben nur eine Untergrenze. Einträge mit einem Datum in der Zukunft erscheinen dort ebenfalls; Gestern, Monat, Jahr und Kalenderauswahl haben beide Grenzen.
- Pausen: Ohne Dauer-Feld oder mit der Bruttodauer zählen Pausen als Arbeitszeit. Für die echte Arbeitszeit das Feld mit der Nettodauer wählen.
- Obergrenze: Mehr als die „Maximale Anzahl Einträge“ werden ohne Hinweis abgeschnitten; die Summe ist dann zu niedrig. Bei langen Zeiträumen die Grenze erhöhen.
- Kein Filter-Container: Das Widget folgt keinem Filter-Container.
- Zustände: „Kein Datenschema konfiguriert“, „Keine Einträge im gewählten Zeitraum“ und „Einträge konnten nicht geladen werden“ mit Aktualisieren; unten zählt „n Einträge“.