Logo in der Statuszeile, Bau an einer Stelle, Startprobe fuer die EXE

Logo
  Das Programmlogo steht jetzt klein neben "powered by ravokk" - dort sitzt
  die Kennung des Werkzeugs, nicht die des Kunden. Eine eigene Kopfzeile hat
  dieses Programm nicht; oben sind die Reiter.

bauen.py
  Der Weg von der Quelle zur Setup-Datei war eine Folge von Befehlen, die
  jemand von Hand eintippen musste. Wer einen Schritt vergisst, liefert eine
  Setup-Datei mit einer alten EXE aus - und sieht es ihr nicht an. Genau das
  ist heute passiert. Jetzt ist es ein Befehl, die Nummer kommt aus
  version.py, und am Ende stehen die SHA256-Summen fuer den Release-Text.

pruef_start_exe.py
  Prueft, was kein anderer Pruefstand prueft: ob die GEBAUTE EXE ein
  sichtbares Fenster zeigt. Alle uebrigen fahren das Programm aus der Quelle,
  dort trat der Fehler nie auf. "Der Prozess laeuft" beweist dabei nichts -
  er lief ja, waehrend nichts zu sehen war.

Aufgeraeumt
  "Rechnung Campinghof.exe" ist weg; gebaute Dateien gehoeren ins Release,
  nicht ins Repo. Die .spec-Dateien dagegen schon: ohne sie kann niemand die
  EXE nachbauen, die der Updater ausliefert.

Fassung 1.7.0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V4t48uxDok5rJXhC9bX1Ax
This commit is contained in:
TheMockTv 2026-09-06 20:34:38 +02:00
parent fec0e8449c
commit 73042b771c
20 changed files with 1445 additions and 14 deletions

View file

@ -0,0 +1,95 @@
# Außendienst: Arbeitsprotokoll auf dem Tablet, Rechnung fällt heraus
Seine Idee vom 06.09.2026, wörtlich:
> „mach es an der kundenanzahl fest, und die bekommen eine vorab-nummer, die reserviert ist von der
> disponentin. die kunden haben eh eine kundennummer — heißt, es ist nur die rechnungsnummer, die
> zugeteilt wird. und hans hat nur die kundennummer mit adresse und wohnort im log, wo er
> protokolliert: anfahrt drücken, angekommen drücken … dann arbeit start und stop, dann noch: was
> hat er eigentlich gemacht — also gleich arbeitsprotokoll — und abfahrt. plus die rechnung für den
> kunden anhand des arbeitsblocks, den wir schon haben."
**Status: Idee. Nichts davon ist gebaut.**
---
## Was sich dadurch ändert
Die Rechnung wird **nicht mehr getippt, sondern fällt aus dem Arbeitsprotokoll heraus.** Wer ohnehin
Anfahrt, Ankunft, Beginn und Ende drückt, hat am Abend die Rechnung fast fertig, ohne sie
geschrieben zu haben.
Damit ist das **ein anderes Produkt** als das heutige Rechnungstool: eine Auftrags- und
Zeiterfassung, bei der die Rechnung das Ergebnis ist. Der Arbeitsdatensatz wird primär, die Rechnung
abgeleitet.
## Die Nummernlogik wird dadurch einfacher
- **Die Kundennummer hat der Kunde schon.** Reserviert wird nur die **Rechnungsnummer**.
- Die Blockgröße ergibt sich aus den **zugeteilten Aufträgen** — siehe
`AUFGABE_ONLINE_API_MYSQL.md`, Abschnitt „Woher die Blockgröße kommt".
- Hans hat auf dem Gerät nur, was er braucht: Kundennummer, Anschrift, Ort.
---
## ⭐⭐ ENTSCHEIDUNG (Andreas, 06.09.2026): Daten auf dem Server, Rechnung im BÜRO
> „das liegt auf dem server, und im büro wird die rechnung geschrieben. denke, das ist sauber —
> aber so weit sind wir noch nicht."
**Das räumt ein Problem ab, und zwar das größte.**
Wird die Rechnung im Büro geschrieben, **entfällt die Offline-Nummernvergabe komplett**. Das Tablet
erfasst nur Arbeit — und ein Arbeitsprotokoll braucht **keine Rechnungsnummer**. Die entsteht im
Büro, wo Netz da ist.
→ **Nummernkontingente, Puffer und Blockverlängerung werden damit von einer Voraussetzung zu einer
OPTION** — nötig erst, falls später doch beim Kunden live abgerechnet werden soll. Die Überlegungen
dazu bleiben in `AUFGABE_ONLINE_API_MYSQL.md` stehen, sind aber nicht mehr auf dem kritischen Weg.
**Das Tablet muss dann nur zweierlei können:**
1. den **Kundenstamm zum Nachschlagen** vorhalten (Zwischenspeicher mit sichtbarem Alter)
2. die **Protokolle zwischenspeichern**, bis wieder Netz da ist
Beides **ohne Nummernvergabe** — also ohne die Gefahr, dass zwei Geräte sich in die Quere kommen.
## ⚠️ Drei Punkte, die vorher geklärt sein müssen
### 1. ⭐ Erfasste Zeit ist NICHT berechnete Zeit
Anfahrt ist mal berechenbar, mal nicht. Pausen laufen mit, gehören aber nicht auf die Rechnung.
**Wird das Protokoll eins zu eins zur Rechnungszeile, streitet der Betrieb irgendwann mit dem Kunden
über eine Minute, die das Programm erfunden hat.**
> **Regel: Aus dem Protokoll wird ein VORSCHLAG, aus dem Vorschlag die Rechnung.** Das Protokoll
> bleibt unverändert stehen, auch wenn anders abgerechnet wird.
Dann ist beides sauber und man kann später erklären, warum abgewichen wurde.
### 2. Start/Stopp drücken heißt: das ist ARBEITSZEIT
Damit hängt Arbeitsrecht daran, nicht nur Steuerrecht:
- Aufzeichnungs- und Aufbewahrungspflicht (**§ 16 ArbZG**)
- Die Aufzeichnungen gehören dem **Arbeitsverhältnis**, nicht dem Kunden
- → **getrennt von den Kundendaten behandeln**, und sie dürfen nicht einfach in der Rechnung landen
### 3. ⚠️ „Anfahrt/Angekommen" ist Standortverfolgung von Mitarbeitern
Sobald Zeiten und Orte zusammenkommen, ist es Mitarbeiterüberwachung. In Deutschland heikel:
- braucht eine **Rechtsgrundlage** und klare **Zweckbindung** (Art. 88 DSGVO, § 26 BDSG)
- gibt es je einen **Betriebsrat**: mitbestimmungspflichtig (§ 87 Abs. 1 Nr. 6 BetrVG)
**Beherrschbar, solange der Mitarbeiter selbst drückt** und nichts im Hintergrund mitläuft. Ein
Programm, das ohne Zutun aufzeichnet, wo jemand ist, wäre etwas völlig anderes — und dann wird es
ernst.
---
## Was schon da ist und wiederverwendet wird
- der **Arbeits-/Leistungsblock** (Katalog) aus dem Rechnungstool
- der **Kundenstamm** (offen, siehe `AUFGABE_KUNDENSTAMM_UND_WEB.md`)
- die **Nummernkontingente** (siehe `AUFGABE_ONLINE_API_MYSQL.md`)