-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gesetzliche Pausenzeiten automatisch abziehen #14
Comments
@albig @hbrunn Ich fange zunächst einmal an mit einer Möglichkeit überhaupt "smooth" Pausenzeiten zu erfassen. Hier wäre die erste Spezifikation dafür. Im ersten Entwicklungsschritt kann vlt. die automatische Korrektur der Pausenzeiten (noch) außen vor bleiben. Ich denke allerdings, dass wir hierfür auch bereits einen Weg vorzeichnen können: https://cloud.verdigado.com/index.php/s/FNqxN2oLyZo6sFH?dir=undefined&path=%2F&openfile=454092 |
Hier wäre das kurze Recording des POC von Holger, der es ermöglicht Pausenzeiten vorschlagen zu lassen (Einstellungen am Mitarbeiter) , Pausenzeiten manuell einzutragen (auch mehrere Intervalle), Pausenzeiten abzuändern (wenn ein Standard unterschritten wird): https://drive.google.com/file/d/188nMr3l6pNfwggsbBcziTL1NgEPD4GZB/view Technisch wird der Arbeitstag in zwei Zeilen aufgesplittet, wobei dann z.B. zum Ende eines Zeitintervalls aus dem Working Calendars (40 Stunden, Montag Vormittag 08:00 bis 12:00) in der ersten Zeile das Log-Out Date automatisch gesetzt wird. In der zweiten Zeile wird dann das Login-Date berechnet aus Log-Out Date vorheriger Eintrag in hr.attendance + erfasste oder ermittelte Pausenzeit. Hierdurch ergibt sich dann die Arbeitszeit wie im odoo Standard: Momentan ist im POC die Standard Pausenzeit beim Mitarbeiter hinterlegt. Es werden auch Aktivitäten erstellt: |
Ich hatte den Stand der Implementierung von OCA/hr-attendance#142 ausprobiert und bin mit dem Ansatz des Aufsplittens der Buchungen gar nicht glücklich. Klar, versteh ich das, dass das jetzt der billigste Weg ist. Aber es ist nicht mehr nachvollziehbar, was der MA tatsächlich gebucht hat. Und das ist vermutlich in Zukunft auch notwendig, das nachweisen zu können. Der MA hat von 05:00 bis 07:30 Uhr gebucht und von 08:00 bis 14:52 Uhr. Die Pause von 11:00 Uhr bis 11:30 Uhr ist durch Ich denke wir müssen die Pausen separat buchen und auch unterscheiden, ob die Pausenzeiten vom MA eingetragen wurden oder technisch hinzugefügt wurden. |
Ich habe jetzt in dem branch das Datenmodell für die Pausen gepushed, und in der Listview von attendances funktioniert das auch. Da könnt Ihr dann die Woche über mit spielen ob das unerwünschte Nebenwirkungen hat bei Überstundenberechnung etc, sollte eigentlich nicht. Achtung: Im aktuellen Stand koexistiert das nicht gut mit Nächste Woche mache ich dann die UI fertig, und füge die Pausen noch in die Attendance Analysis ein? |
Danke Dir @hbrunn. Drei Dinge:
|
|
Es gibt in der Ansicht kein Element mit Wenn man über den Kiosk-Mode geht, dann funktioniert der Check-In. Den Kiosk-Mode nutzen wir aber nicht. |
mit dem fixup-commit sollte es gehen. Aber wie geschrieben, das macht noch die alte in-der-Mitte-splitten-Logik, dieser UI-Teil kommt erst nachste Woche mit dem Pausen-Modell. |
Ja, mit dem fixup-commit funktioniert der Check-In ohne Fehler. Dann warte ich mal das neue Pausen-Modell nächste Woche ab und teste dann weiter. |
was machen wir jetzt eigentlich mit dem Konzept der Standard-Pause in dem neuen Setup? Wann fängt sie an, wann hört sie auf? |
Wir brauchen die Standard-Pause nach aktuellem deutschen Recht. D.h. 30 Minuten nach 6 Stunden und 15 Minuten nach 9 Stunden. Das sollte durch den Cronjob geprüft und ggf. Pausen hinzugefügt werden. Die Pausen-Records sind ja dann einem Attendance-Record zugeordnet, richtig? Dann wäre die Pause eben nach 6 bzw. 9 Stunden. Beispiel: Der User kann eine Standard-Pausenlänge vorgeben - das meinst Du vermutlich auch, oder? Da bin ich mir auch unschlüssig, was das für einen Nutzen hat. Beispiel: |
ja genau, der zweite Teil. Lasse ich dann erstmal weg |
ich pushe mal den Zwischenstand mit funktionierender UI fur Pause via Checkin/out widget - bin nicht wirklich glücklich mit dem Handling, vielleicht könnt Ihr da vor dem Meeting noch draufschauen? Mir scheint die Chance sehr hoch dass Menschen statt der Kaffeetasse den Checkout-Button erwischen. Und die Zahnräder als wieder-an-die-Arbeit-Knopf finde ich auch nicht ideal. Meinungen/Vorschläge? Ich arbeite jetzt am Pausen-Warn-Cronjob + Konfiguration dafür, danach das glue-Modul dass das mit _autoclose funktioniert. |
Ich hab den Stand in der Demo-Instanz installiert. Spontanes Feedback: Wenn ich in der Pause bin, sollte nur der Button für "Pause beenden" erscheinen. Dann wird es verständlicher. Wenn man aus der Pause tatsächlich einen Check-Out machen möchte, müsste man zwei Mal klicken. |
@albig @hbrunn |
ich habe jetzt dann den neuen Code für hr_attendance_break gepushed. Es sollte dann automatisch auch Wenn das so für Euch gut ist, würde ich den PR im hr-attendance repo auf ready to review setzen. |
Ich bin dabei das Feature auszuprobieren. Die Warnung über fehlende Pausen durch den Cron-Job scheint zu funktionieren. Seh ich das richtig, dass das aber nur eine Warnung ist und die fehlende Pause nicht automatisch eingetragen wird? Haben wir uns da missverstanden, fehlt da noch was oder funktioniert nur mein Use-Case nicht (bevor ich jetzt lange suche...). |
Missverständnis, ich dachte Ihr wollt es erstmal bei der Warnung belassen. Gib einfach an was genau passieren soll, dann implementiere ich das als Standardverhalten. |
Wenn der Cron feststellt, dass die Pausen nicht ausreichen, soll
|
|
|
|
|
soeben die besprochenen Punkte gepushed. Achtung: Bei bestehenden DBs braucht das auch ein |
@hbrunn Ich habe den Stand von #18 und OCA/hr-attendance#142 installiert.
Die Überstunden-Berechnung ist aber falsch: 1. Pause wird in Überstunden nicht berücksichtigt.Im Beispiel hat der MA von 10:00 bis 18:54 Uhr gearbeitet. Seine Soll-Arbeitszeit sind 8:00 Stunden. In den Überstunden findet das aber keine Berücksichtigung. Es werden 0:54 errechnet und zum Stundensaldo hinzugefügt. 2. Im Bericht verdoppelt sich die PausenzeitIm Bericht ist die Pausenzeit verdoppelt. Hier sind es plötzlich 3h Pause. 3. Bericht braucht noch die Soll-ArbeitszeitDer Bericht ist so schwierig auszuwerten. Ohne Soll-Arbeitszeit kann man mit den Werten in der Spalte nicht auf Plausibilität prüfen. Wünschenswert wäre Soll-Arbeitszeit - Worked Hours = Überstunden, dabei wären die Pause zur Information oder Soll-Arbeitszeit - Ist-Arbeitszeit - Pausen = Überstunden |
1+2 das sind Bugs sie ich heute gelöst bekommen sollte |
1+2 wäre super. Könntest Du dann noch in |
@albig wie gehen wir mit Pausen < 15min (bzw company.hr_attendance_break_min_break) um, werden die auch von den Überstunden abgezogen? |
Tja, gute Frage @hbrunn. Nach dem aktuellen Konzept, werden die kürzeren Pausen nicht bei worked hours abgezogen, weil nur Pausen mit der Mindest-Länge in die Gesamt-Pausen-Berechnung einfließen. Mmh. Das ist formal korrekt. Wenn man das nicht will, kann man den Schwellwert auf 00:00 setzen, richtig? Dann sollten wir weiterhin so verfahren. Bei den Überstunden müsste dann folgendes berechnet werden: Soll-Arbeitszeit - Ist-Arbeitszeit - (Pausen >= Schwellwert) = Überstunden |
Was das email-Template angeht: Das ist ein noupdate-Record, deshalb kannst Du das mit einem normalen Update nicht überschreiben. Bei bestehenden Installationen führt kein Weg um ein Migrationsscript, das das Template überschreibt und die Übersetzungen (achja, Übersetzungen bekommst Du gar nicht überschrieben, auch nicht mit -i. Dafür gibt es Zum Entwickeln/Testen kannst Du am Besten in Deiner dev-Datenbank im Debug-Modus das noupdate-Flag wegnehmen, und die Übersetzung aus ir_translation löschen (letzteres geht auch halbwegs komfortabel in Einstellungen/Übersetzungen/Übersetzte Begriffe). |
In Deutschland ist nach Arbeitszeitgesetz eine Pause von 30 Minuten nach 6 Stunden einzuhalten. Nach 9 Stunden müssen es sogar 45 Minuten sein.
Es soll eine Option geben, dass diese Pause automatisch abgezogen werden, wenn ein MA keine oder zu wenig Pausen bucht.
Beispiel:
Bucht der MA sich zwischendurch aus, werden die Pause berücksichtigt, wenn sie mindestens 15 Minuten betragen.
Beispiel:
The text was updated successfully, but these errors were encountered: