Releasenotes 2026 OS.pos
From OS.bee documentation
Contents
--> zurück zu Releasenotes
Version 5.3.0-V20261006
Neue Funktionen
- NF 525 – Neustart durch den Bediener im Ereignisjournal: Ein über die Dienststeuerungsseite (
/restartService) ausgelöster Neustart wird als signiertes Ereignis in das Ereignisjournal (JET) geschrieben, mit dem auslösenden Bediener. Bisher zeigte das Journal nur „System gestoppt“ und „System gestartet“, nicht aber, wer den Neustart veranlasst hat.
Fehlerbehebungen
- Speicherwachstum je Verkauf: Die DTOs von
net.osbee.app.pos.commonwurden neu generiert und halten nur noch Klasse und ID ihrer Entität statt der Entität selbst. Zusammen mit den Korrekturen im Framework (siehe Releasenotes der Softwarefactory, Version 5.3.0.20261012) hält eine Kasse je Verkauf praktisch keinen Persistenzkontext mehr fest; vorher waren es rund 42 je Verkauf, etwa 1 MB. Nachgemessen in der Entwicklungsumgebung am 9. Oktober und an einer per Jenkins gebauten Installation am 12. Oktober (17 Verkäufe in zwei Messfenstern, Zähler im zweiten Fenster gleichbleibend bis fallend). - Kassenabschluss gibt seine Daten wieder frei: Nach dem Speichern eines Kassenabschlusses werden die dafür im Zustandsautomaten abgelegten Daten (
expectedclose,todos,lastfinished,tobefinished) entfernt. Sie hielten über ihre Mapping-Kontexte alle Bons und Zahlungen der abgeschlossenen Periode bis zum nächsten Abschluss fest. - NF 525 – Ereignisjournal: Beim Anhängen eines Eintrags wird nicht mehr das gesamte Journal gelesen, um dessen letzten Eintrag zu finden. Der Aufwand je Eintrag wuchs bisher mit der Länge des Journals.
- Webservice-Verfügbarkeitsprüfung über Mitternacht: Ein als nicht erreichbar vermerkter Webservice wurde nach Mitternacht zu spät oder gar nicht mehr erneut geprüft, weil der Zeitstempel als Millisekunden des Tages abgelegt war. Ein Ausfall um 20:00 Uhr hielt den Webservice bis 21:00 Uhr des Folgetags abgeschaltet, ein Ausfall ab 23:00 Uhr dauerhaft. Der Zeitstempel ist nun fortlaufend.
Aktualisierungen
- Webservice-Verfügbarkeitsprüfung zusammengeführt: Die Prüfung existierte viermal (zweimal in
net.osbee.app.pos.common, zweimal innet.osbee.sample.pos). Einzige Implementierung ist nunWebService.check(sm, ws)inposbase; die übrigen delegieren dorthin. Der Zustand wird je Webservice inws.accesiblegeführt, der gemeinsame Speicherschlüssel entfällt. - Entitäten werden in der Entwicklungsumgebung auch bei inkrementellen Builds gewebt (
runOnIncrementalinnet.osbee.app.pos.common.entity/pom.xml). Eine ohne Weaving neu übersetzte Entität führt zu einem leeren Dialog und zu Fehlern bei der nächsten Aktualisierung. - Nachweise zu den Speicherkorrekturen: Eigenständig lauffähige Tests unter
tools/–finalizer-proof,detached-entity-ref(Verträglichkeit alter und neuer DTOs mitdto.lib),grid-key-leakundfreemarker-pin. - Dokumentation:
MEMORY_GROWTH_FINDING.mdbeschreibt Herkunft, Messwerte, verworfene Annahmen und Korrekturen des Speicherwachstums.
Version 5.3.0-V20261006
- Ergänzung bei Kundenkartenverarbeitung
- Build mit aktueller Softwarefactory
Änderung siehe OS.Softwarefactory 5.3.20261006 und früher
Version 5.3.0-V20260907
- Schwerpunkt dieses Zeitraums ist die französische Fiskalkonformität NF 525 (WORM-Sicherungseinrichtung, Write-once-Nachweis, Geräte-Lebenszyklus) sowie die Auslagerung des DSFinV-K-Datenmodells.
Änderungen / Neue Funktionen
- Ausgeschlossene Zahlarten: Die Perspektive für ausgeschlossene Zahlungsarten wurde zur Kundenpflege verschoben.
- Benutzerverwaltung: Die automatische Synchronisierung der einzelnen views in der Benutzerverwaltungsperspektive wurde abgeschaltet.
- Authentifizierung: Die Authentifizierungs-Logger wurden zusammengefasst und schreiben wieder in eine Datei.
- remember me Anmeldefunktion: überarbeitet, Cookieverwendung sicherer gemacht.
- Kennwort vergessen?: Zurücksetzen des Kennworts löst eine Benutzersperre nicht mehr automatisch auf. Dies muss aktiv durch den Administrator geschehen.
- showResetPasswordOnScreen: neuer Konfigurationsschlüssel. Default: false. Bei true wird das neue Passwort im Log angezeigt, falls lein Mailserver kongiguriert ist.
- NF 525 – WORM Write-once-Nachweis: Ein zertifiziertes WORM-Gerät darf Fiskalverkäufe erst nach einem signierten
PROTECTED-Verdikt tragen. Ein asynchroner Probe-Lauf weist die Write-once-Eigenschaft nach (das Medium nimmt eine Teständerung zurück); der Verdikt wird signiert und ist „sticky". (cache-defeat probe, verbreiterte Signaturspalte) - NF 525 – Zertifizierungs-Gate: Auf einem zertifizierten Gerät führen Struktur-/Integritätsfehler zu einem harten Verkaufsstopp (STOP_SALES); auf einem nicht-zertifizierten Gerät wird die Anomalie nur als Warnung protokolliert (warn-only) und dem Kassierer als Hinweis am Verkauf angezeigt.
- NF 525 – Reaktivierung der Write-once-Bestätigung: Der zuvor pausierte Bestätigungs-Block wurde wieder aktiviert; der Scheduler führt ein zertifiziertes Gerät nun wieder von
PENDINGnachPROTECTED. - NF 525 – Schutz gegen Zertifizierungs-Downgrade: Eine bereits fiskalisch aktive, zertifizierte Kasse kann nicht mehr auf ein nicht-zertifiziertes oder entferntes Sicherungsgerät umgestellt werden (Geräte-Tausch), und ein zertifiziertes Gerät kann nicht mehr in-place ent-zertifiziert werden. Beide Wege werden abgewiesen (Umgehung der zertifizierten Durchsetzung verhindert).
- NF 525 – Auditierung von Geräte-Konfigurationsänderungen: Eine Änderung an der zertifizierungsrelevanten WORM-Konfiguration wird als signiertes Ereignis in das Ereignisjournal (JET) geschrieben.
- NF 525 – Retention/Archivierung beim Geräte-Tausch: Perioden ohne Fiskaldatensätze werden nicht mehr als leeres ZIP archiviert, sondern als schlanker „abgedeckt"-Marker vermerkt (kein Medium-Scan) – die „Gespeichert"-Rückmeldung nach einem Geräte-Tausch kommt dadurch deutlich schneller. Zum Abschluss wird eine Zusammenfassung protokolliert.
- NF 525 – Write-once-Probe: Die Anwesenheit der Probe-Datei wird nun über eine frische Verzeichnis-Enumeration gelesen (behebt eine Fehlerkennung durch veraltete Verzeichnis-Zwischenstände).
- Internationalisierung: Neue NF-525-WORM-Schlüssel (Write-once, worm_protection, warn-only) in das zentrale Übersetzungsbündel gespiegelt; allgemeine Vokabular-Erweiterungen.
- Rechnungsdruck (Invoice2p): NF-525-Daten in der Rechnungsvorlage berücksichtigt.
- Bondruck: NF-525-Daten ergänzt
- Verwendung der aktuellen Softwarefactory 5.2.0.20260907
Version 5.3.0-V20260707
Diese Ausgabe bringt vor allem die Unterstützung französischer Kassen voran: eine vollständige AZERTY-Tastaturunterstützung (physisch und als Bildschirmtastatur), das französische Zahlungsterminal-Protokoll CAISSE-AP inklusive Simulator sowie virtuelle Peripheriegeräte für Test und Diagnose. Ergänzt wird dies durch NF525-Härtungen, Fehlerbehebungen bei Kartenzahlungen und eine durchgängige Vereinheitlichung der Übersetzungsdateien.
- Die physische französische AZERTY-Tastatur wird nun vollständig unterstützt. Der komplette Zeichensatz wurde auf realer Hardware getestet; die zuvor fehlende ù-Taste wurde ergänzt.
- Die Bildschirmtastatur (On-Screen-Keypad)
- bildet nun eine echte französische AZERTY-Belegung über alle drei Ebenen ab (Grundebene, Umschalt, AltGr) inklusive Akzentkomposition über die Tottasten ^ und ¨.
- folgt jetzt einheitlich der Oberflächensprache: Französisch → AZERTY, Englisch → englische Belegung, alle übrigen Sprachen → deutsches QWERTZ. Die Belegung wird beim Öffnen des Dialogs in der aktiven Sprache neu aufgebaut.
- Neue Konfiguration Hardware/<host>-KeyboardCountry zur Auswahl der physischen Tastaturbelegung je Kasse.
- CAISSE-AP – französisches Zahlungsterminal
- Unterstützung des Tagesabschlusses (télécollecte) für Concert/CAISSE-AP-Terminals; die obligatorischen Felder CB und CE werden nun sowohl in der Abschluss- als auch in der Abbruch-Anfrage übertragen.
- NF525 / Fiskalkonformität
- Die Persistierung des Grand-Totals ist nun zwingende Vorbedingung für die Signatur eines Belegs – verhindert eine Signatur bei unvollständig gespeichertem Umsatzzähler. (net.osbee.app.pos.common d5a4578ec)
- Kartenzahlung
- Eine Kartenzahlung kann nun korrekt storniert werden: das Belegfeld (receipt) wird aus dem CJ-Feld der Concert-Antwort befüllt.
- Das Löschen einer nicht stornierbaren Terminal-Zahlung wird blockiert, um inkonsistente Zustände zu vermeiden.
- setPaymentTerminalReversal stürzt bei einer fehlerhaften Anfrage nicht mehr ab.
- Oberfläche / Internationalisierung ===
- Die Laufzeit-Sprachumschaltung funktioniert nun in der Kassierperspektive
- Zentrale Übersetzungen aktualisiert
- Systemvoraussetzungen ===
- Für den französischen Markt: Zahlungsterminal mit CAISSE-AP-/Concert-Protokoll (CB-Port 8888, konfigurierbae), physische AZERTY-Tastatur optional
- Konfiguration je Kasse über Hardware/<host>-KeyboardCountry und Hardware/<host>-KeyboardLayout
- Verwendung der aktuellen Softwarefactory 5.2.0.20260707
Version 5.3.0-V20260618
- Version von 5.2 auf 5.3
- frz. Fiskalanforderungen: erste Implementierung
- frz. Übersetzungen aktualisiert
- Verwendung frz. Tastatur in Kassiersicht
- Verwendung der aktuellen Softwarefactory 5.3.0.20260618
Version 4.5.7-V20260410 (OS)
- Allgemein:
- Fix Performanceproblem ( eingeführt mit 4.5.7-V20260402 (OS) ), dbcaching Einstellungen
- Verwendung der aktuellen Softwarefactory 5.2.0.20260410
Version 4.5.7-V20260402 (OS)
- Kassiervorgang:
- Automatischer Wechsel zum Status
PAYMENTTERMINAL_REPEATRECEIPTim Modus 'store' (statt 'print') bei leeren Bonzeilen - Neue Funktion
attachRemarkszum Zeichnen von Bonbemerkungen und deren Verknüpfung mit dem Kassenbon - Möglichkeit zur Eingabe von freien Bemerkungen zum Kassenbon
- Bonbemerkungen:
observeFocusvon remark1/2 an Events gebunden
- Automatischer Wechsel zum Status
- Kassenkonfiguration:
- Menüeintrag für Stammdaten der Bonbemerkungen hinzugefügt
- Datenmodell:
- Neue Entitäten für Bonbemerkungen (SlipRemarks)
- Neue Spalten
remark_1undremark_2für CashSlip-Entität - Dialoge, Tabellen und Perspektive für Bonbemerkungen implementiert
Version 4.5.7.20260305 (OS)
- Verwendung der aktuellen Softwarefactory 5.2.0.20260305
- Berichtanzeige
- Fix: Probleme bei der Berichtsanzeige mit schneller Klickfolge in Auswahltabelle behoben.
- Kassenschluss:
- Fix:
determineCloseExpectation- Sortierung von CashPaymentTermData nach traceNumber absteigend, um den letzten Eintrag zu erhalten
- Fix:
- Kassenentsorgung:
- Neues Systemprodukt "fee" aktiviert
- Datenmodell:
- Einige Entitäten auf
cacheable=falsegesetzt - Entitäten mit escaped Spaltennamen aktualisiert
- Generierte Entitäten und DTOs aktualisiert
- Entitäten mit neuem Service Framework aktualisiert
- Einige Entitäten auf
- Kassiervorgang:
- Fix:
canUnparkSelected- Ablehnung eines Slips mit Zahlungen an einer SiS-Kasse - Fix: PRINT_SLIP -
onOKverlässt nicht, wenn Slip änderbar ist - Neue Eingabeaktion für MODIFY_FLD, setzt
cashposiupdateauf ausgewählte Position
- Fix:
- Archivierung:
-
archivDescription xml-osfür XML-Format der Beschreibungsdatei für Archiv hinzugefügt
-