Wie alles begann

Die Geschichte der Digitalen Bestellhilfe

Digitale Bestellhilfe 3.0
2026

Digitale Bestellhilfe 3.0

Aktuelle Generation

Idee und Umsetzung
  • Christoph R. KaiserHR SEH
  • Matthias KaiserHR SEH
Funktionelle Beratung
  • Josef MühlenbeinHR SEH
Technische Umsetzung

Die Code-Umsetzung erfolgte mit Unterstützung von Claude (Anthropic).

Digitale Bestellhilfe 2.0
2025

Digitale Bestellhilfe 2.0

Optimierung und neue Kennzahlen

Angeregt durch
  • Christoph R. KaiserHR SEH
  • Simon RichterHR GH
  • Halit IriHR GH
Digitale Bestellhilfe 1.0
2023 / 2024

Digitale Bestellhilfe 1.0

Erste Generation

Idee und Entwicklung
  • Christoph R. KaiserHR SEH
Mitwirkende
  • Halit IriHR GH
  • Marco VoelckelHR GH
  • Josef MühlenbeinHR GH
  • Sabine LemlerHR SEH
Scanhilfe
2023

Scanhilfe

Vorstufe – der Beginn der automatisierten Digitalen Bestellhilfe

Eigenentwicklung
  • Christoph R. KaiserHR SEH

Digitale Bestellhilfe 3.0 V1.1.1

V1.1.1 – WOS-Integration: neues Namensschema und echte CSV

Die WOS-Datei kann jetzt auch im neuen Namensschema (WOS_KW{NN}_SEH.csv) und als echte CSV (Semikolon-getrennt, Windows-1252) geladen werden. Spalten-Zuordnung erfolgt jetzt über Header-Namen, sodass kleinere Strukturänderungen die Anzeige nicht brechen.

  • +Neues Namensschema: WOS_KW{NN}_SEH.csv – ein- oder zweistellige KW. Altes Schema NN-YYYY-WOS.xlsx bleibt als Fallback erhalten.
  • +Echte CSV-Unterstützung (Semikolon-getrennt, Windows-1252) zusätzlich zu XLSX. Das Format wird automatisch per Magic-Bytes erkannt – Dateiendung ist egal.
  • +Header-basierte Spalten-Zuordnung: neue Spalten KZ L/S und Druckkz werden direkt verwendet, frühere feste Spalten-Indizes sind weg.
  • L/S-Wert aus KZ L/S im Vt.Sch/Werbe/L/S-Feld eingeblendet (L oder S). Druckkz=1 als kleine „Druck"-Pille (Hinweis: Artikel im gedruckten Werbeflugblatt).

V1.1.0 – WOS-Integration: Aktionsdaten in der Vorschau-Zeile

Die Wochenordersatz-Daten (WOS) zur höchsten Vorschlag-KW werden automatisch geladen und direkt in der gelben Vorschau-Zeile angezeigt – Marketing- und Logistik-Infos stehen damit im selben Blick wie Vorverkaufsvorschlag und Verkaufshistorie.

  • +WOS-Strip in der gelben Vorschau-Zeile: MHD, Abgabemenge/Palette, Einmalkauf, SA-GP/N-GP, SA-VK und VK3 mit Spannen, die Vorteile „Kunde spart" und „EK-Vorteil" sowie der Sondertext.
  • +Automatisches Laden der passenden Datei NN-YYYY-WOS.xlsx aus dem gleichen Verzeichnis (anhand der höchsten Vorschlag-KW). Fehlt sie, läuft das Tool unverändert weiter – dezenter Hinweis in der Bedienzeile.
  • +Kurzes MHD (< 30 Tage) rot hervorgehoben, Tooltip bei „weitere Info Seite N", Mehrfach-Auslieferungen zusammengefasst, Mehr-Gebinde-Artikel mit beiden Gebinde-Preisen.
  • Spaltentreu: Der Strip sitzt in einem einzelnen zusammengefassten Feld der Vorschau-Zeile – die übrigen Tabellenspalten und die blaue Group-Zeile bleiben unverändert.
  • +Schalter „WOS-Information einblenden" in „Angezeigte Felder": blendet alle WOS-Strips und die zusätzlichen Vorschau-Zeilen ein/aus. Standardmäßig aus – das Tool sieht dann aus wie vor der WOS-Integration.
  • +Filter „Sondertext" in der Filterzeile (neben Ø-Absatz/Woche): filtert nach den WOS-Sondertexten (Wochenend-Knaller, Titelseite, Knüller …). Nur aktiv, wenn „WOS-Information einblenden" an ist – sonst in Geisterschrift mit Hinweis-Popup.
  • „Leere Wochentage markieren" entfernt aus „Angezeigte Felder".
  • ×Doppelte Vorschau-Zeile behoben: Steht der Vorverkaufsvorschlag in der Aktionsdatei doppelt für denselben Artikel und dieselbe Ziel-KW (Export-Doppeleintrag, z. B. 24 + 24), entsteht jetzt EINE Vorschau-Zeile mit summiertem Wert (48 ST) statt zwei identischer Zeilen – konsistent mit dem EDEKA-Sammelexport.

V1.0.0 – Klickanleitung integriert

Mit dem Rollout wird die Schritt-für-Schritt-Klickanleitung zum Aktionsdaten-Export aus dem Berichtswesen direkt in die Digitale Bestellhilfe integriert. Sie ist über zwei Pillen aufrufbar: eine im Header neben der Support-Box (immer erreichbar, auch nach dem Laden einer Datei), eine zweite oben links im freien Bildbereich der Startseite, damit Anwender beim ersten Aufruf sofort sehen, dass eine Anleitung verfügbar ist. Beide öffnen dasselbe Modal mit der vollständigen Anleitung (8 Schritte, eingebettete Screenshots).

  • +Klickanleitung-Pill im Header zwischen Support-Box und Status-Indikator. Pastell-Blau (#d6e4f5), Versalien, dezent – passt sich dem DiWa-Header an, ohne dominant zu wirken.
  • +Klickanleitung-Pill oben links im Bildbereich der Dropzone, identisches Erscheinungsbild. Erscheint nur auf dem Startbildschirm und macht den Einstieg für Neuanwender sichtbar.
  • +Modal-Overlay mit der vollständigen Klickanleitung. 8 Schritte vom Öffnen des Berichtswesens bis zur Auswahl der Exportdatei im Downloadverzeichnis, jeweils mit Screenshot. Schließen per X-Button, Klick außerhalb des Modals oder ESC-Taste. Hintergrund-Scroll wird beim Öffnen gesperrt.
  • +Drucken-Button im Modal neben dem Schließen-Kreuz. Druckt die Klickanleitung sauber ohne App-Hintergrund (DiWa-Header, Dropzone etc. werden ausgeblendet); Schritte brechen nach Möglichkeit nicht zwischen Seiten. Folgt dem gleichen Pattern wie die vorhandenen Druck-Funktionen für Historie und Versionshinweise.
  • Versionshistorie nur die 3 jüngsten Einträge sichtbar. Ältere Einträge bleiben vollständig im Quelltext erhalten (Entwickler-Doku, im DOM unter .vp-older-entries) und sind nur über CSS-Override oder die Browser-Entwicklertools zugänglich.

V0.9.35.4 (RC12b) – Spalten-Header Abteilung, Artikel und Bezeichnung sind keine Sortier-Klicks mehr

Die Sortierung läuft jetzt ausschließlich über das Sortier-Pulldown in der Werkzeug-Zeile. Klick-Sortierung direkt am Spalten-Header ist überflüssig (zwei Wege für dieselbe Funktion) und die Sortier-Pfeile (▼/▲) im Header haben optisch gestört, vor allem im Hinblick auf den anstehenden DiWa-Karten-Look.

  • Klick-Sortierung an Abteilung, Artikel und Bezeichnung deaktiviert. Die Spalten-Titel im Header sind reiner Text, keine Pfeile, kein Cursor-Pointer, kein Hover-Highlight. Die zentrale Helper-Funktion sortLbl liefert nur noch den nackten Titel; das Mini-Label-Layout für „Bezeichnung" über „Ø-Aktionspreis" bleibt erhalten (mini-l/mini-r-Klassen).
  • Sortier-Pulldown bleibt der eine Weg. „Sortierung" in der Werkzeug-Zeile setzt SORT_MODE direkt – Funktionsweise unverändert. toggleSort() bleibt im Code, wird aber nicht mehr aufgerufen.

V0.9.35.3 (RC12b) – Werkzeug-Zeile bei „Filter ausblenden", Multi-Load aus Nullbestand-Popover

Zwei kleine UX-Fixes: „Filter ausblenden" hat bisher auch die Werkzeug-Zeile mit ausgeblendet, das Bestand-Tool war damit unerreichbar. Und der „Verstanden, los geht's"-Button im Nullbestand-Erklär-Popover öffnete einen Single-File-Dialog, obwohl die Erklärung explizit auf Multi-Load (beide Dateien gleichzeitig) hinweist.

  • Werkzeug-Zeile bleibt sichtbar bei „Filter ausblenden". Nur die obere Filterleiste wird verborgen, der Toolbar (Bestand-Tool, Drucken, Anzeige-Optionen, Sortierung) bleibt erreichbar. CSS-Regel body.filters-collapsed #toolbar{display:none} entfernt.
  • ×Multi-Load aus dem Nullbestand-Popover. closeNbPopoverAndLoadFile öffnete bisher fcVvkInput (single file). Jetzt wird fileInput mit multiple aufgerufen – konsistent mit dem Drop-Zone-Klick: beide Dateien (Aktionsdatei + Bestandsverlauf) lassen sich mit Strg/Cmd gleichzeitig markieren.

V0.9.35.2 (RC12b) – Bug-Fix Bestand-Markierungen werden nicht angezeigt

Folge-Fix zu V0.9.35: Der Master-Switch des Bestand-Tools schaltet visuell auf AN, aber die Markierungen (Negativer Endbestand, Nullbestand, Geringer Bestand, Überbestand) erschienen trotzdem nicht in der Tabelle. Ursache: Die Helper-Funktionen schrieben auf window.BESTAND_TOOL_ON, die Render-Logik liest aber die script-scope-Variable BESTAND_TOOL_ON – mit let deklarierte Variablen werden in JavaScript nicht als Property auf window exposed, sind also zwei verschiedene Werte. Resultat: Switch ging optisch AN, Render sah immer false.

  • ×Switch und Render-Logik teilen jetzt eine Variable. setBestandToolOn, updateBestandToolUI und onBestandSwitchClick arbeiten alle direkt auf der outer let BESTAND_TOOL_ON (per Closure), nicht mehr auf window.BESTAND_TOOL_ON. Markierungen erscheinen nun erwartungsgemäß sobald Bestandsdatei geladen ist und Switch AN steht.

V0.9.35.1 (RC12b) – Bug-Fixes Bestand-Tool-Trigger und „weitere Filter"

Zwei Bugs im RC12b-Stand: Klick auf den Bestand-Tool-Trigger zeigte ohne Bestandsdatei sofort das „Bestandsdatei fehlt"-Modal statt das Pop. Und der „weitere Filter"-Knopf wechselte zwar die Beschriftung, blendete aber das Jahr-Filter nicht ein.

  • ×Trigger öffnet jetzt immer das Pop – auch wenn keine Bestandsdatei geladen ist. Das Modal „Bestandsdatei fehlt" erscheint nur noch, wenn der Master-Switch aktiv auf AN geklickt wird (sinnvolle Stelle, da das Tool ohne Datei nichts markieren kann).
  • ×Jahr-Filter wird bei „weitere Filter" eingeblendet. Vorher war eine zweite CSS-Regel (.controls:not(.settings-open) .opt-wrap:not(.opt-always){display:none}) unbeachtet aktiv und hielt das Filter-Element trotz body.more-open versteckt. Neue Gegen-Regel body.more-open #opt-jahr.tb-extra-filter{display:inline-flex !important} setzt es korrekt sichtbar.

V0.9.35 (RC12b) – Bestand-Tool als eigener Pulldown in der Werkzeug-Zeile

Die Bestand-Diagnose – bisher ein Pulldown unter „2 weitere Filter" in der oberen Filterleiste – wandert in die Werkzeug-Zeile als eigenes „Bestand-Tool"-Pulldown im DiWa-Stil. Es bekommt einen Master-Switch: AUS = keine Markierungen in der Tabelle, egal was angehakt ist. Beim Laden einer Bestandsdatei schaltet sich der Switch automatisch auf AN. Klick auf den Switch ohne Bestandsdatei öffnet einen klaren Hinweis-Modal mit Verweis auf den Bookmark-Bug im Berichtswesen und „Verstanden" → Datei-Lade-Dialog.

  • +Bestand-Tool-Pulldown im Toolbar ersetzt den Platzhalter (Bestand-Tool kommt in RC12b). Trigger zeigt Sub-Label „Bestand-Tool" und „AN"/„AUS" mit grün-weißem Switch-Knob, Pop enthält die vier Modi (Negativer Endbestand, Nullbestand, Geringer Bestand mit ≤ X ST, Überbestand mit ≥ X × Ø-NP/Wo.) inklusive Beispielzellen und editierbarer Schwellwerte.
  • +Master-Switch als neuer State BESTAND_TOOL_ON. Tabellen-Klassen ls-show-* werden nur gesetzt, wenn Master AN ist – Selektion bleibt aber persistent erhalten, beim erneuten Anschalten ist alles wieder da.
  • Auto-On bei Bestandsdatei-Laden: Sobald ein Bestandsverlauf erfolgreich übernommen ist, schaltet der Master-Switch auf AN. Beim Verwerfen (cancelNullbestandModus, Artikel-Stichprobe-Mismatch) zurück auf AUS.
  • +Modal „Bestandsdatei fehlt" erscheint, wenn der Switch ohne geladenen Bestand auf AN geklickt wird (oder Klick auf den Trigger). Inhalt: kurzer Hinweis plus der bekannte Achtung-Block aus dem Startbildschirm (Bookmark-Bug im Berichtswesen, Lösung: Bookmark zweimal öffnen). Button „Verstanden" → öffnet direkt den vorhandenen Datei-Lade-Dialog (fcModalOverlay); „Abbrechen" schließt nur. ESC/Backdrop-Klick = abbrechen, Enter = Verstanden, Default-Fokus auf „Abbrechen".
  • Verhalten 1:1 wie andere Werkzeug-Zeile-Pulldowns: Klicks im offenen Pop wirken sofort sichtbar, beim Schließen via Außenklick/ESC läuft der blaue Lade-Strich, kein Pending-Marker am Filtern-Knopf.
  • Altes Bestand-Diagnose-Pulldown raus aus der Filterleiste – das DOM-Element opt-lostSale bleibt versteckt im Markup erhalten, damit die State-API (msSetValues('lostSale', ...), Filterset-Speichern/Laden, persistOpts) ohne Anpassung weiter funktioniert. Counter-Pille der „weiteren Filter" zeigt jetzt nur noch „1" (Jahr).

V0.9.34.6 – Hinweis-Modal: Bestand- und Abverkaufsdatum konkret nennen, Button „Verstanden"

Folge-Refinement zur V0.9.34.5: Der Inhalt des „Datei älter als heute"-Modals war vorher abstrakt formuliert („Bestand „Gestern" stammt damit nicht vom aktuellen Vortag." / „Trotzdem laden?"). Jetzt nennt das Modal direkt das tatsächliche Datum (Speicherdatum minus 1 Tag) für den angezeigten Bestand und den Abverkaufs-Stichtag, und der Bestätigungs-Button heißt „Verstanden" statt „Trotzdem laden" – passend zum jetzt informativen Charakter.

  • Konkretes Datum statt abstrakter Hinweis – „Angezeigt wird der Bestand vom dd.mm.jjjj" und „und die Abverkaufszahlen bis zum dd.mm.jjjj" (beide = Speicherdatum minus 1 Tag, dynamisch berechnet aus dem Datei-Änderungsdatum).
  • Button „Verstanden" ersetzt „Trotzdem laden". Das Modal informiert jetzt primär statt zu warnen, deshalb die mildere Bestätigungs-Sprache. „Abbrechen" bleibt unverändert.
  • +Helper-Signatur: showFileAgeWarning(fileName, mtimeTs) bekommt jetzt den Roh-Timestamp und formatiert intern beide Datumsangaben konsistent über fmtDateTime bzw. fmtDate.

V0.9.34.5 – Hinweis „Datei älter als heute" als zentriertes DiWa-Modal

Der Hinweis-Dialog beim Laden einer Aktionsdatei mit veraltetem Änderungsdatum war bisher ein nativer Browser-Confirm – der Browser positioniert ihn typischerweise oben mittig am Fenster, optisch außerhalb der App. Ersetzt durch ein eigenes Modal im DiWa-Stil: zentriert im Fensterinneren, halbtransparenter Backdrop, weiße Box mit Warnsymbol, Datei und Änderungsdatum als beschriftete Felder, zwei klare Buttons „Abbrechen" und „Trotzdem laden".

  • Mittig-mittig im Fenster statt oben mittig vom Browser. Sieht zur App gehörig aus, nicht wie ein System-Popup.
  • Klare Trennung von Datei-Info und Frage – Datei und Änderungsdatum stehen in einer kleinen abgesetzten Info-Box, darunter der Konsequenz-Hinweis und die Frage, am Fuß die Aktions-Buttons.
  • Tastatur-Bedienung: ESC oder Klick auf den Backdrop = Abbrechen, Enter = Trotzdem laden. Default-Fokus liegt auf „Abbrechen", damit Trotzdem-Laden eine bewusste Aktion bleibt.
  • +Inhalt unverändert – derselbe Text wie vorher („Bestand „Gestern" stammt damit nicht vom aktuellen Vortag."), nur in lesbarerer Anordnung.

V0.9.34.4 – Datei-Pill links, Dateiname und Format-Badge oben raus, „weitere Filter" rechts

Folge-Refinement zur V0.9.34.3: Die Datei-Pill rückt an den Anfang der Bedienzeile (links neben „Suche"). Damit fällt der zweite Anzeige-Ort des Dateinamens oben rechts neben dem Herz-Icon weg, und das kleine Format-Badge („Format: MO–SA + NP-Abverkauf") in der Bedienzeile ebenfalls – beide Infos waren ab jetzt durch die Pill redundant. Eine Dateiname-Anzeige in der App, statt zwei. Außerdem wandert der „weitere Filter"-Toggle in die rechte Filter-Action-Bar, direkt links neben das „Filterset laden"-Icon, weil er logisch zu den Filter-Aktionen gehört.

  • Datei-Pill links in der Bedienzeile – frisst dort wenig Platz, ist sofort beim Scannen der Zeile sichtbar, fluchtet mit den restlichen Filter-Bedienelementen.
  • +Dateiname oben rechts entfernt (war: „KW 23 · AKTIONEN_xyz.xlsx" neben dem Herz-Icon). Nicht mehr nötig, weil der Name jetzt prominent in der Pill steht.
  • +Format-Badge entfernt – das kleine farbige Badge mit „Format: MO–SA + NP-Abverkauf" o.ä. wird nicht mehr angezeigt. Information ist im Datei-Auswahl-Modal weiterhin sichtbar.
  • „weitere Filter"-Toggle in die Filter-Action-Bar verschoben – sitzt jetzt direkt links neben dem Ordner-Icon „Filterset laden". Logisch zusammen mit den anderen Filter-Aktions-Knöpfen gruppiert, statt als Solitär in der Mitte der Zeile.

V0.9.34.3 – Datei-Pill in der Bedienzeile

Der bisherige blaue Knopf „↑ Neue Datei laden" in der Bedienzeile wird ersetzt durch eine zweizeilige Pill im DiWa-Stil – kleines Sub-Label oben („Datei geladen"), darunter der Name der aktuell geladenen Datei, rechts ein Chevron. Klick auf die Pill öffnet wie gewohnt das Datei-Auswahl-Modal. Solange noch keine Datei geladen ist, zeigt die Pill „Keine Datei / Datei laden…".

  • Aktueller Dateiname jederzeit sichtbar – früher musste man ins Datei-Auswahl-Modal, um zu sehen, welche Datei gerade aktiv ist. Jetzt steht der Name dauerhaft prominent in der Bedienzeile.
  • Optik konsistent zur Werkzeug-Zeile – die Pill übernimmt das Pulldown-Layout der Werkzeug-Zeile-Pulldowns („Angezeigte Felder", „Sortierung"): weiß mit blauem Rand, Sub-Label/Hauptlabel-Aufbau, blaues Chevron rechts.
  • +Verhalten unverändert – Klick triggert weiterhin direkt den bestehenden Datei-Auswahl-Dialog, kein Pop, keine zusätzliche Zwischenstufe. Lange Dateinamen werden mit Ellipse abgeschnitten und im Tooltip vollständig angezeigt.

V0.9.34.2 – Lade-Strich überall, läuft jetzt von links nach rechts

Folge-Refinement zur V0.9.34.1: Der blaue Lade-Strich unter dem Header wächst jetzt progressiv von links nach rechts (Easing) statt durchzuhuschen, kurz bevor er rechts ankommt ist die Operation fertig. Außerdem ersetzt er den alten „zzz"-Loader an allen Wartestellen – Datei-Laden auf dem Startbildschirm, Drag&Drop in den Filter-Center-Zonen, Reset-Knopf, Sortierwechsel über den Tabellenkopf. Eine einzige sichtbare Wartelogik für die ganze App, einheitlich wie in DiWa.

  • Progressive Lade-Animation: der Strich wächst von 0 % asymptotisch Richtung 95 %, läuft schnell auf ~85 % in den ersten 1,2 s und springt dann beim Fertigsignal auf 100 %. So fühlt sich auch ein kurzer Render an, als gäbe es echten Fortschritt.
  • Lade-Strich ersetzt zzz-Loader überall: Datei-Laden auf dem Startbildschirm (Drop-Zone), Datei-Laden im Filter-Center (VVK-Zone, Bestand-Zone), Reset-Knopf, „Standard"-Indicator-Klick, Sortierung über Tabellenkopf-Pfeile. Vorher gab es an manchen Stellen ein animiertes „zzz"-Symbol, an anderen gar keine Rückmeldung – jetzt einheitlich der blaue Strich.
  • +Sortier-Klick im Tabellenkopf reagiert sofort: der Render läuft jetzt asynchron im nächsten Frame, der Strich ist sichtbar bevor der Browser für den Re-Render blockiert.

V0.9.34.1 – Werkzeug-Zeile reagiert direkt, blauer Lade-Strich

Kleines, aber spürbares Refinement nach Rückmeldung: Die Werkzeug-Zeile-Pulldowns („Angezeigte Felder", „Sortierung") verhalten sich jetzt vollständig wie im DiWa-Vorbild – das Pop schließt sich beim Außenklick sofort, ein neuer dünner blauer Strich unter dem Header zeigt während des Renders die Wartezeit, und der orange Pending-Punkt am „Filtern"-Knopf taucht nicht mehr auf, wenn die Werkzeug-Zeile bedient wird (er ist nur für die obere Filterleiste gedacht).

  • Werkzeug-Zeile-Pulldowns committen ohne Pending-Marker – Klicks im offenen Pop setzen den State direkt, der orange Punkt am „Filtern"-Knopf bleibt aus. Der Punkt ist weiterhin sichtbar, wenn die obere Filterleiste pending Änderungen hat. Logisch: der Filtern-Knopf gehört zur Filterleiste, nicht zur Werkzeug-Zeile.
  • Außenklick schließt das Pop sofort – vorher dauerte es 1-2 Sekunden, weil der Render synchron mit dem Schließen lief und den Browser blockierte. Jetzt: Pop sofort weg, Render läuft im nächsten Frame.
  • +Blauer Lade-Strich unter dem Header (DiWa-Style): dünner Balken, läuft links→rechts, sobald die App rechnet (Filtern-Klick, Werkzeug-Zeile-Außenklick). Verschwindet automatisch wenn fertig. Beim Drucken ist er ausgeblendet.

V0.9.34 – Werkzeug-Zeile mit „Angezeigte Felder" und „Sortierung"

Unter der Filterleiste gibt es jetzt eine eigene Werkzeug-Zeile im DiWa-Stil: links die Zahl der gefilterten Artikel, rechts der Drucker, ein neues Pulldown „Angezeigte Felder" und ein neues Pulldown „Sortierung". Damit wandern die heute einzelnen Anzeige-Pulldowns (Aktionstyp, Artikel-Hervorhebung, Aktion hervorheben, Tag-Tooltip, leere Wochentage) in eine kompakte Multi-Select-Liste mit Sektionen zusammen, und die Sortierung lässt sich erstmals direkt per Pulldown wählen. Die obere Filterleiste bleibt mit ihrem „Filtern"-Knopf-Pattern unverändert; in der Werkzeug-Zeile gilt das Außenklick-Pattern – jeder Klick wirkt sofort beim Schließen, ohne extra Bestätigung.

  • +Pulldown „Angezeigte Felder" in der Werkzeug-Zeile mit „— alle —"-Toggle, sektioniert nach Aktionstyp, Artikel-Hervorhebung, Rot-Block, Blau-Block, Datums-Tooltip und Leere-Wochentage. Trigger zeigt einen Zähler („7 Felder") der aktiven Optik-Optionen.
  • +Pulldown „Sortierung" als Single-Select mit Spalten oben (Standard, Abteilung, Artikel Nummer, Artikel Bezeichnung) und Reihenfolge unten (Aufsteigend, Absteigend). Auswahl wird mit blauem Haken markiert (DiWa-Pattern). Tabellen-Header-Klicks zum Sortieren bleiben zusätzlich aktiv.
  • +Außenklick-Pattern in der Werkzeug-Zeile: Klicks im offenen Pulldown setzen direkt den State. Erst beim Schließen (Außenklick, Klick auf den Trigger oder ESC) wird einmal gerechnet und die Tabelle neu aufgebaut. Anders als die Filterleiste oben, die einen expliziten „Filtern"-Knopf braucht.
  • +„2 weitere Filter"-Knopf in der Filterleiste mit kleinem Zähler-Badge. Ein Klick blendet die selten genutzten Filter „Jahr" und (sofern Bestandsdatei geladen) „Kein Verkauf hervorheben" zusätzlich ein. Der Zähler zeigt 1 oder 2 abhängig davon, ob eine Bestandsdatei geladen ist.
  • „504 Ergebnisse / 229k Zeilen" wird zu „504 Artikel" – die Zeilen-Info war für den Bedien-Alltag wenig aussagekräftig. Die neue Zahl steht prominent links in der Werkzeug-Zeile.
  • Drucker-Knopf zurück – stand seit RC11 nicht mehr im Header und nutzt jetzt seinen finalen DiWa-Platz in der Werkzeug-Zeile zwischen Bestand-Tool-Slot und Pulldowns.
  • „Ø-Abverk./Woche runden" → „Ø-Absatz/Woche/Markt" – Beschriftung des Pulldowns oben in der Filterleiste angepasst.
  • Alter Trichter-Knopf für Anzeige-Optionen entfernt – die Anzeige-Optionen sind jetzt vollständig in „Angezeigte Felder" gebündelt, der Trichter mit «/»-Pfeil hatte keine Funktion mehr.
  • „Filter ausblenden" (Header) blendet jetzt beide Zonen aus – die obere Filterleiste und die Werkzeug-Zeile darunter werden gemeinsam versteckt, gibt der Tabelle spürbar mehr Platz.
  • +Filterset-Speichern bleibt rückwärtskompatibel: Die alten Pulldown-DOM-Elemente sind nur visuell ausgeblendet – ihre State-APIs (msSetValues, PHL_STATE, persistOpts) werden vom neuen Pulldown direkt bedient. Damit speichert/lädt sich ein Filterset wie zuvor, inklusive aller Optik-Einstellungen.

V0.9.33 – Header im DiWa-Stil mit Pfeil-zurück, Filter ausblenden und neuem Status-Indikator-Platz

Die Kopfzeile wurde an die Optik des EDEKA-DiWa-Berichtswesens angepasst – heller Hintergrund, blaue Akzente, Outline-Knöpfe statt durchgehender dunkelblauer Balken. Damit fügt sich die Bestellhilfe optisch nahtlos zwischen die anderen DiWa-Werkzeuge ein, falls sie in DiWa eingebettet aufgerufen wird. Zwei neue Knöpfe links und rechts erweitern den Header um Funktionen, die bisher fehlten: ein „Pfeil-zurück" für den kompletten Reset zum Startbildschirm und ein „Filter ausblenden" für mehr Tabellen-Höhe bei Bedarf. Der Status-Indikator „Standard aktiv/inaktiv" wandert von der Filterleiste hoch in den Header.

  • +Pfeil-zurück-Knopf ganz links im Header. Klick entlädt die geladenen Dateien komplett, blendet Filterleiste und Tabelle aus und zeigt wieder den Startbildschirm mit der Drop-Zone. Sicherheitsabfrage erscheint nur, wenn Daten geladen sind.
  • +„Filter ausblenden"-Knopf mit Trichter-Icon rechts im Header. Versteckt die obere Filterleiste komplett (inklusive Bedien-Zeile mit „Neue Datei laden", Sortierungs-Reset und Filtern-Knopf). Beschriftung wechselt auf „Filter einblenden". Beim Drucken oder bei kleinen Bildschirmen schafft das spürbar mehr Platz für die Tabelle.
  • Status-Indikator „Standard aktiv/inaktiv" sitzt jetzt im Header rechts neben „Filter ausblenden", optisch analog zum DiWa-Vorbild „Automatischer Bestellabschluss aktiv". Funktional unverändert: grüner Haken bei aktivem Werks-Standard, leeres Kästchen bei abweichenden Filtern (klickbar als 1-Klick-Reset auf Werks-Standard).
  • Titel und Versionshistorie bleiben funktional erhalten – Klick auf den Titel öffnet weiterhin die Versionsgeschichte als Popover, der V1.0.0-Tag rechts daneben zeigt beim Hovern dieselbe Versionshistorie verkleinert. Optik an das DiWa-Schriftbild angepasst.
  • +Support-Adressen neben dem Titel als reiner Text mit klickbaren Mailto-Links – kein Pulldown mehr, ein Klick öffnet direkt das Mailprogramm.
  • Drucken-Knopf vorerst entfernt – wandert in RC12 zusammen mit der Werkzeug-Zeile an seinen finalen Platz neben „504 Artikel". Bis dahin: Browser-Druck mit ⌘+P (Mac) bzw. Strg+P (Windows).

V0.9.32 – Standard-Hervorhebung jetzt „Rot fett / Blau fett"

Die Default-Hervorhebung für „Aktion hervorheben" wurde auf eine intensiver lesbare Optik umgestellt: Rot und Blau erscheinen ab Werk jetzt als fette farbige Schrift statt als weiße Schrift auf farbigem Hintergrund. Die alten Stile bleiben über das Pulldown weiterhin auswählbar – wer „Weiß auf Rot" oder „Weiß auf Blau" bevorzugt, klickt sie einfach an. Bestehende, unter eigenem Namen gespeicherte Filtersets bleiben unverändert.

  • Neuer Default „Rot fett" beim Rot-Block – ersetzt die bisherige Vorgabe „Weiß auf Rot". Greift bei jedem frisch geöffneten Browser-Tab und beim Werks-Standard-Reset.
  • Neuer Default „Blau fett" beim Blau-Block – analog zum Rot-Block. Wirkt erst, wenn der Anwender den Blau-Block bewusst einschaltet (höchster Preis / niedrigste Menge).
  • Eigene Filtersets unverändert – die im Browser-Speicher abgelegten benannten Sets (Diskette-Knopf) wurden nicht automatisch migriert. Wer in einem alten Set die neue Optik will, lädt das Set, klickt Reset oder stellt im Pulldown auf „Rot fett / Blau fett" und speichert das Set neu.

V0.9.31 – Filterleiste mit globalem „Filtern"-Knopf, Filterset-Verwaltung und Status-Indikator

Die obere Filterleiste arbeitet jetzt nach dem aus dem DiWa bekannten Stage-Commit-Pattern: Klicks in einem Filter-Pulldown zeigen ihre Wirkung sofort sichtbar als Pill und blauer Haken, rechnen aber die Tabelle noch nicht neu. Erst der globale blaue „Filtern"-Knopf rechts in der Filterleiste wendet alle gestaten Auswahlen in einem Schritt an. Bei großen Datenmengen mit vielen Filter-Klicks hintereinander spart das spürbar Zeit, weil die Tabelle nicht mehr nach jedem einzelnen Häkchen neu aufgebaut wird.

  • +Globaler „Filtern"-Knopf rechts in der Filterleiste – einziger Auslöser, der alle Filter-Änderungen anwendet, die Tabelle neu rechnet und die offenen Pulldowns schließt. Ein kleiner gelber Punkt am Knopf signalisiert, dass es ungespeicherte Änderungen gibt.
  • +Filterset-Verwaltung über drei Icon-Knöpfe links neben dem „Filtern"-Knopf: Ordner öffnet die Liste der gespeicherten Sets (mit Lade-Klick und Müll-Symbol zum Löschen), Diskette speichert die aktuellen Filter unter einem freien Namen, Kreispfeil setzt sofort auf den Werks-Standard zurück. Sets werden lokal im Browser (localStorage) gehalten – pro Rechner getrennt, kein Cloud-Sync.
  • +Werks-Standard-Eintrag ganz unten in der Filterset-Liste – nicht löschbar. Klick lädt die Standard-Filter (Handzettel, Negativer Endbestand + Nullbestand, Sortierung aus, Anzeige-Optionen auf Default), bleibt aber gestaged bis zum „Filtern"-Klick.
  • +Status-Indikator „Standard aktiv / inaktiv" rechts neben dem „Filtern"-Knopf. Grüner Haken wenn die aktuellen Filter dem Werks-Standard entsprechen, leeres Kästchen sobald irgendeine Änderung von Filter, Sortierung, Bestand-Schwellwert oder Anzeige-Option davon abweicht. Klick auf den inaktiven Indikator stellt den Werks-Standard sofort wieder her.
  • Pulldowns bleiben offen während mehrere Häkchen gesetzt werden – Außenklick oder ESC schließt sie ohne etwas zu verwerfen, der gestate Zustand bleibt. Bisher führte jeder Klick zu einem vollen Tabellen-Render, was bei großen Aktionsdateien spürbar langsam war.

V0.9.30 – Datei-Erkennung robuster, Bestand-Diagnose aktiviert sich automatisch

Beim Laden einer einzelnen Datei konnte ein Bestandsverlauf in seltenen Fällen fälschlich als Aktionsdatei akzeptiert werden, wenn die RWWS-Datei Titel- oder Filterzeilen über den eigentlichen Spaltennamen trägt. Außerdem musste die Bestand-Diagnose beim gleichzeitigen Laden zweier Dateien bisher manuell aktiviert werden. Beides wurde behoben.

  • Datei-Erkennung sieht 30 statt 5 Zeilen – wenn der Spaltenkopf einer RWWS-Datei nicht in der ersten Zeile, sondern erst weiter unten steht (z.B. weil RWWS oben Filter- und Titelzeilen einfügt), erkennt die App den Datei-Typ jetzt zuverlässig.
  • +Dateiname als Sicherheitsnetz – auch wenn die Spaltenerkennung versagen sollte, fängt die App eine Bestandsverlauf-Datei jetzt anhand des Namens (Pattern „BESTAND") ab und weist sie mit klarem Hinweis ab, solange noch keine Aktionsdatei geladen ist. Verhindert das stille Fehl-Einlesen einer Bestand-Datei als Aktionsdatei.
  • +Bestand-Diagnose aktiviert sich automatisch, sobald beim Stapel-Upload zwei Dateien geladen werden und eine davon ein Bestandsverlauf ist. Die Checkbox unter der Drop-Zone springt von alleine an – ein Klick weniger im Workflow.
  • Drop-Zonen-Hinweis klarer: weist jetzt explizit auf die Mehrfachauswahl im Datei-Dialog mit ⌘ (Mac) bzw. Strg (Windows) hin.

V0.9.29 – Sofortiges Lade-Feedback im Drop-Bereich

Beim Hineinziehen oder Auswählen einer Datei verging bisher rund eine Sekunde, bis die Verarbeitung optisch sichtbar wurde – in dieser Zeit lasen Browser und Datei-Erkennung im Hintergrund schon, ohne dass der Anwender davon etwas mitbekam. Jetzt erscheint sofort ein kleines, klassisches Schlaf-Symbol direkt im Drop-Feld, das die Wartezeit überbrückt und das Gefühl gibt, dass im Hintergrund schon gearbeitet wird.

  • +Drei-Z Schlaf-Indikator im Drop-Bereich – sobald eine Datei abgelegt oder ausgewählt wurde, ersetzt eine sanfte Z…Z…Z-Animation kurz die Drop-Texte. Funktioniert sowohl in der Haupt-Drop-Zone (Erstaufruf) als auch im „Datei laden"-Popup beim Nachladen einzelner Dateien. Die Animation verschwindet automatisch, sobald die eigentliche Verarbeitung mit dem bekannten Spinner-Overlay übernimmt.

V0.9.28 – Aktion hervorheben rechnet nur über echte, sichtbare Aktionen

Die Min/Max-Berechnung für „Aktion hervorheben" hatte zwei systematische Schwächen: sie zog alle Wochen mit einem Mengen-Wert heran (auch reine NP-Verkaufswochen, in denen die Spalte „Menge Aktion" einen Restwert trug), und sie rechnete einmalig beim Datei-Laden über den Gesamtdatenbestand – unabhängig davon, was später per Filter ausgeblendet wurde. In der Praxis hatte das zur Folge, dass die niedrigste Aktionsmenge oft falsch war: ein Markt-Aktions-Restwert von 1 ST drückte das Minimum, und beim Filtern auf „nur Handzettel" blieb die Hervorhebung trotzdem an dieser nicht-sichtbaren Markt-Woche hängen.

  • Nur echte Aktionswochen werden für Min/Max herangezogen – Zeilen ohne Aktions-Nummer (im RWWS-Export als „#" markiert) zählen nicht mehr mit. Damit fallen NP-Verkaufswochen und Datenrauschen aus der Mengen-Spalte heraus, und das Minimum entspricht wieder dem, was fachlich gemeint ist: der niedrigste in einer echten Aktion erzielte Wert.
  • Min/Max werden bei jedem Filter neu berechnet – Aktionstyp (Handzettel/Markt), Jahr, Abteilung und Suche wirken jetzt mit. Was du in der Tabelle siehst, wird verglichen. Beispiel: filterst du auf „nur Handzettel", werden Min und Max ausschließlich aus Flugblatt-Aktionen ermittelt; eine zwischendurch gelaufene Markt-Aktion mit anderem Preis verzerrt die Hervorhebung nicht mehr.
  • Ältere Dateiformate ohne Aktions-Spalten (kurze WOS-Exports etc.) verhalten sich wie bisher – dort ist keine Aktions-Nummer vorhanden, also greift der neue Filter nicht und die Hervorhebung arbeitet wie vorher über alle Mengen-Werte.

V0.9.27 – Bestand-Diagnose erweitert, Stapel-Upload und Schutzmechanik

Die Bestand-Diagnose bekommt einen vierten Modus, die Schwellwerte für „geringer Bestand" und „Überbestand" lassen sich jetzt frei einstellen, und der Datei-Upload akzeptiert beide Dateien gleichzeitig. Mehrere kleine Schutzmechanismen verhindern Reihenfolge-Fehler beim Laden.

  • +Negativer Endbestand (rot fett, unterstrichen) als neuer Diagnose-Modus, standardmäßig an. Negative Endbestände entstehen durch Rückstellungen oder Inventur-Korrekturen und sind ein klarer Hinweis auf eine Bestands-Inkonsistenz, die in der Praxis oft übersehen wird. Die Markierung ist bewusst plakativ: roter fetter Wert mit rotem Unterstrich, ohne flächigen Hintergrund, damit sie auch in dichten Tabellen sofort ins Auge fällt.
  • +Schwellwerte für „geringer Bestand" und „Überbestand" frei einstellbar direkt im Pulldown der Bestand-Diagnose. „Geringer Bestand" ist als ≤ X ST hinterlegt (Default 3), „Überbestand" als ≥ X × Ø-NP/Wo. (Default 3). Sobald ein Wert vom Standard abweicht, erscheint ein orangefarbener Rahmen am Pulldown-Trigger und ein ⚠-Icon davor – der Filter zeigt also offen, dass er manipuliert wurde, und die aktuell wirkenden Werte stehen direkt als Pill-Beschriftung („Geringer Bestand ≤ 4 ST", „Überbestand ≥ 4× Ø-NP/Wo."). Pro Eingabefeld erscheint bei Abweichung ein ↺-Knopf, der den Standardwert mit einem Klick zurücksetzt.
  • Überbestand wird nur am Samstag bewertet (letzter Werbetag). Bisher konnten auch Mo–Fr blau markiert werden, was bei Aktionsartikeln mit hohem Lieferrhythmus zu vielen Falsch-Treffern in der Wochenmitte führte. Sinnvoll ist die Aussage erst zum Aktionsende: dann zeigt ein hoher Endbestand, dass die Aktion nicht durchverkauft wurde.
  • +Stapel-Upload für beide Dateien gleichzeitig: Aktionsdatei und Bestandsverlauf können zusammen ausgewählt oder gemeinsam auf das Drop-Feld gezogen werden. Die App erkennt selbst, welche Datei welchen Typ hat, und sortiert sie in der richtigen Reihenfolge in die Pipeline. Die Drop-Zone weist mit Plural-Beschriftung und Footer-Hinweis explizit auf diese Möglichkeit hin.
  • Schutz gegen Bestand ohne Aktion: Wird ein Bestandsverlauf alleine geladen, ohne dass vorher eine Aktionsdatei vorliegt, weist die App die Datei mit einer klaren Meldung zurück. Hintergrund: ohne Aktionsdatei gibt es keine Wochen, denen die Bestandsdaten zugeordnet werden könnten – das Ergebnis wäre eine leere Tabelle. Die Meldung verweist auf den Stapel-Upload, falls ohnehin beide Dateien geladen werden sollen.
  • Default-Aktionstyp jetzt „Handzettel" (vorher: alle Typen). Die meisten Auswertungen drehen sich um Handzettel-Aktionen; Markt-Aktionen erscheinen erst, wenn sie bewusst angehakt werden. Spart pro Aufruf einen Klick.

V0.9.26 – Aktion hervorheben mit zwei Blöcken (Rot + Blau)

Die Aktionspreis-/Mengen-Hervorhebung wurde komplett überarbeitet. Statt vier festen Modi (rotfett, weiß auf rot, alle und min, alleundmin) gibt es jetzt zwei symmetrische Blöcke – einen für die niedrigsten Preise und höchsten Mengen (Rot) und einen für die höchsten Preise und niedrigsten Mengen (Blau). Pro Block lässt sich Stil und Was hervorgehoben wird unabhängig wählen. Der Rot-Block bleibt wie in RC04 voll aktiv (weiß auf rot, niedrigster Preis und höchste Menge), der Blau-Block ist standardmäßig aus.

  • +Zwei separate Blöcke im Pulldown „Aktion hervorheben". Jeder Block hat eine Stil-Auswahl (fett oder weiß auf farbig) und zwei Checkboxen für „was hervorheben". Beide Blöcke wirken parallel – Beispiel: nur niedrigster Preis weiß auf rot + höchste Menge fett blau ist möglich.
  • +Höchster Aktionspreis und niedrigste Aktionsmenge stehen ab jetzt als eigene Hervorhebung zur Verfügung (Blau-Block). Damit lässt sich auf einen Blick erkennen, in welcher Aktionswoche der Preis am höchsten und die Stückzahl am niedrigsten war – nützlich bei der Bewertung von Schwächen einer Bewerbung.
  • Sonderfall „nur ein Preis bzw. nur eine Menge": Hat ein Artikel über alle Aktionswochen denselben Preis (oder dieselbe Menge), wird gar nichts hervorgehoben – eine gleichzeitige Markierung als „Min" UND „Max" wäre widersprüchlich.
  • Standardvorgaben wie RC04: Rot-Block ist voll aktiv (niedrigster Preis und höchste Menge, weiß auf rot). Blau-Block ist aus, wird also nur wirksam wenn der Anwender ihn bewusst aktiviert.

V0.9.25 – Bestand Diagnose mit drei Modi

Die bisherige Nullbestand-Markierung war binär (an/aus). Sie wurde zu einer Diagnose mit drei unabhängigen Stufen erweitert: Nullbestand (rot), geringer Bestand (orange) und Überbestand (blau). Jede Stufe ist einzeln einschaltbar; standardmäßig ist nur Nullbestand an – das deckt das RC04-Verhalten ab.

  • +Geringer Bestand (orange): Endbestand größer 0 und kleiner 3 ST. Hilft Aktionstage zu erkennen, an denen die Bestände kritisch knapp waren – ein typisches Frühwarnsignal für Lost Sale bei laufender Aktion.
  • +Überbestand (blau): Endbestand größer als drei mal der durchschnittliche NP-Abverkauf pro Woche des Artikels. Ein Beispielfall: bei einem Artikel mit Ø 7,4 ST/Woche markiert die Diagnose Tage mit Endbestand über 22 ST. Wenn keine NP-Abverkaufsdaten vorliegen, bleibt die Zelle ungemarkt – kein Fehler.
  • Mehrfachauswahl möglich: alle drei Stufen lassen sich gleichzeitig einschalten. Pro Zelle wird in der Reihenfolge Nullbestand → geringer Bestand → Überbestand bewertet, sodass jede Zelle höchstens eine Klasse trägt.

V0.9.24 – Filterleiste auf Multi-Select umgestellt

Sechs Pulldowns in der Filterleiste – Abteilung, Jahr, Aktionstyp, Bestand Diagnose, Datum bei Hover, Art.-Nr/Kez hervorheben – wurden von einfachen Auswahllisten auf Multi-Selects umgestellt. Statt einer einzelnen Option lassen sich jetzt mehrere Werte gleichzeitig kombinieren, zum Beispiel mehrere Abteilungen oder mehrere Jahre auf einmal filtern. Die Komponente ist im DiWa-Stil gestaltet und schließt sich beim Klick außerhalb sowie bei ESC.

  • +Multi-Select-Komponente mit Trigger-Pills, Pulldown-Panel, Außenklick- und ESC-Schließung. Das Panel bleibt beim Scrollen oder Resizen der Seite korrekt positioniert. Maximal ein Panel ist gleichzeitig offen.
  • +Filterleiste profitiert insgesamt: Abteilung und Jahr lassen sich jetzt für beliebige Kombinationen filtern, statt nur eine Auswahl. Das spart Zeit bei Auswertungen, die mehrere Bereiche gleichzeitig betreffen.
  • Filter-Name „Artikel hervorheben" wurde zu „Art.-Nr/Kez hervorheben" umbenannt – verständlicher, weil die zwei tatsächlich hervorhebbaren Felder direkt benannt sind.
  • Pulldowns „Ø-Abverk./Woche runden" und „Kein Verkauf hervorheben" bleiben einfache Single-Select-Auswahllisten – dort ergibt eine Mehrfachauswahl fachlich keinen Sinn.

V0.9.23 – Filterleiste, Hinweis-Popup und kleinere Verbesserungen

Mehrere Verbesserungen rund um die Filterleiste, das Erklär-Popup zur Bestand-Diagnose und die Versionshistorie. Außerdem werden mehrere User-sichtbare Bezeichnungen klarer.

  • Ø-Abverk./Woche runden ist jetzt immer sichtbar – auch bei zugeklapptem Filter-Trichter. Sitzt direkt nach „Abteilung" in der vorderen Filter-Reihe. Im Trichter bleiben nur noch reine Optik-Filter (Jahr, Kein Verkauf hervorheben, Datum bei Hover, Artikel hervorheben, Aktion hervorheben).
  • Umbenennungen für mehr Klarheit: „Nullbestand Diagnose" heißt jetzt „Bestand Diagnose", „Flugblatt" wurde zu „Handzettel", und in allen User-sichtbaren Texten wurde „VVK" durch „Aktionsdatei" ersetzt. Code-Variablen und die Versionshistorie bleiben unverändert.
  • +Hinweis im Erklär-Popup zur Bestand Diagnose: Der bisherige gelbe Tipp wurde durch einen roten Achtung-Block ersetzt, der den bekannten Bookmark-Fehler im Berichtswesen erklärt (beim ersten Aufruf eines Global Bookmarks wird ein anderer Filter geladen als gewünscht). Inkl. Mini-Screenshot des Auswahlfensters und Schritt-für-Schritt-Lösung.
  • +„Verstanden, los geht's" startet direkt – nach Schließen des Erklär-Popups öffnet sich automatisch der Datei-Dialog für die Aktionsdatei. Ein Klick weniger pro Workflow-Start.
  • ×Versionshistorie-Popover (Hover über V1.0.0) jetzt scrollbar. Bei vielen Einträgen wurden die unteren Einträge unten am Bildschirmrand abgeschnitten, weil das Popover keine Maximalhöhe hatte. Jetzt: max. Bildschirmhöhe minus 80px Puffer, Rest scrollbar.

V0.9.22 – Sticky-Group-Row-Höhe vereinheitlicht

Beim Scrollen durch die Tabelle blieb ein „Geist" der Ø-NP-Zeile vom vorherigen Artikel halb sichtbar über dem Header des nächsten Artikels stehen, wenn der Vorgänger zwei NP-Werte (z.B. ST + KOA) hatte und der Folge-Artikel nur einen. Ursache war die unterschiedliche Höhe der Group-Rows in Kombination mit position:sticky – beim Übergang konnte der Browser die alte (höhere) Sticky-Zeile nicht sauber durch die neue (niedrigere) ersetzen. Group-Rows bekommen jetzt eine einheitliche Höhe, sobald mindestens ein sichtbarer Artikel mehrzeilige NP-Werte hat.

  • Einheitliche Group-Row-Höhe über CSS-Variable --group-row-h. Die Höhe wird pro Render-Durchlauf aus den sichtbaren Artikeln berechnet (maxNpLines × line-height + padding + gaps). Wenn alle sichtbaren Artikel nur eine NP-Zeile haben, bleibt die Höhe auto – kein Whitespace.
  • Skaliert automatisch auch bei drei NP-Zeilen pro Artikel (z.B. Stück + Kolli A + Kolli B). Höhenformel: 3px (pt) + lines × 15px + (lines−1) × 2px (gap) + 3px (pb).
  • Reagiert auf Filterung: wird die Tabelle so gefiltert, dass nur noch 1-zeilige Artikel sichtbar sind, fällt die Höhe wieder auf auto zurück.

V0.9.21 – Fallback-Variante WOS-Support einlesbar

Bei Ausfall der Kennzahlen im Berichtswesen kann der gesamte Transport des xx-2026 Exports nicht stattfinden – die Aktionsdatei ist dann unvollständig und blockiert die Wochenordersatz-Bearbeitung. Als Fallback lässt sich jetzt die reguläre xx-2026 WOS (Support)-Datei direkt einlesen. Sie enthält weniger Spalten als der Standard-Export (insbesondere fehlt die Spalte „Vorverkaufsvorschlagsmenge in Best-ME"), reicht aber für die normale Wochenordersatz-Bearbeitung vollständig aus. Erweiterte Auswertungen wie der Vorschlag-BE stehen mit dieser Datei naturgemäß nicht zur Verfügung.

  • +WOS-Support-Datei wird jetzt erkannt und verarbeitet: 16 Spalten (A–P), Format-Badge „vollständig (MO–SA)". Vorverkaufsvorschlagsmengen werden wie gewohnt zur Lieferwoche (Quell-KW + 6) verschoben und in der Spalte „Vorschlag ST" angezeigt. Vorschlag BE bleibt leer, da die zweite Vorschlag-Spalte in dieser Variante nicht vorhanden ist.
  • Vorschlag-Verarbeitung (processVVK) läuft jetzt auch im 'full' Mode, nicht mehr nur im 'nptag' Mode. Dateien ohne Vorschlag-Daten bleiben unverändert (die Funktion ist No-Op wenn keine Vorschlag-Werte vorhanden sind).

V0.9.20 – Multi-Datei-Auswahl, robuste Datei-Erkennung, Artikel-Match-Prüfung

Mehrere Verbesserungen rund um das Datei-Laden in einem Rutsch: beide Dateien können jetzt gleichzeitig per Drag&Drop oder Multi-Auswahl geladen werden, der Datei-Inhalt wird vor der Verarbeitung gesichert erkannt (statt blind als VVK angenommen), und beim Bestand-Nachladen prüft die App ob die Artikel überhaupt zur Aktionsdatei passen. Außerdem: der Tooltip auf den Vorschlag-Werten erscheint jetzt nur noch auf der ST-Zelle.

  • +Beide Dateien gleichzeitig: Im Startfenster können jetzt VVK- und Bestandsdatei zusammen ausgewählt oder per Drag&Drop gemeinsam reingezogen werden. Das Tool sortiert automatisch und verarbeitet erst die VVK, dann die Bestandsdatei. Bei zwei Dateien desselben Typs (z.B. zwei Aktionsdateien) oder bei mehr als zwei Dateien kommt eine klare Fehlermeldung.
  • +Echte Datei-Inhaltserkennung: Vor der Verarbeitung wird jeder Datei-Typ anhand der Header-Zellen bestimmt – Bestandsdatei erkennt man an „Buchungsartikel + Kalendertag + Endbestand", VVK-Vollständig an „Vorverkaufsvorschlagsmenge". Damit wird auch der Bug behoben, dass eine als erstes geladene Bestandsdatei die App im Startfenster blockiert hat (sie wurde fälschlicherweise als VVK behandelt).
  • +Warnung bei VVK ohne Vorverkaufsvorschlagsmenge: Wenn die Aktionsdatei zwar wie eine VVK aussieht (Spalten Artikel/Jahr/Woche/VerkaufsME) aber die Vorverkaufsvorschlagsmenge-Spalte fehlt, fragt das Tool: „Vorverkaufsvorschlagsmenge fehlt. Soll ich die Datei verarbeiten?" – bei Nein bleibt der Startbildschirm stehen.
  • +Artikel-Stichprobe Bestand vs. VVK: Beim Laden der Bestandsdatei werden 20 zufällige Artikelnummern aus der VVK gezogen und in der Bestandsdatei nachgeschlagen. Wenn weniger als 75% (15 von 20) gefunden werden, kommt eine Warnung mit der Möglichkeit, die Datei trotzdem zu verarbeiten. Bei „Nein" wird der Bestand verworfen und der Startbildschirm wieder eingeblendet.
  • Tooltip nur auf Vorschlag-ST: Der V0.9.19-Tooltip mit Mittwochs-Endbestand erscheint nicht mehr auf der BE-Zelle, sondern nur auf ST – sauberer und weniger redundant.
  • Datums-Plausibilität (V57) bleibt unverändert: Wenn VVK und Bestand beide geladen sind und ihre Datumsbereiche um mehr als 7 Tage auseinanderliegen, kommt der bekannte gelbe Banner.

V0.9.19 – Tooltip auf Vorschlag-Werten zeigt Mittwochsbestand

Der Vorverkaufsvorschlag wird donnerstags ins RWWS-Berichtswesen gestellt; der Bestand, der der Berechnung zugrunde liegt, ist der vom Vortag (Mittwoch). Die Vorschlag-Werte werden in der Bestellhilfe in der Ziel-KW angezeigt, sind aber in der Aktionsdatei in der Quell-KW (= Ziel-KW − 6) eingetragen. Hovert man jetzt mit der Maus über einen Vorschlag-Wert (BE oder ST), erscheint der tatsächliche Endbestand vom Mittwoch der Quell-KW – der Wert, mit dem RWWS die Vorschlagsmenge bestimmt hat. Damit lässt sich die Plausibilität jedes Vorschlags direkt prüfen, ohne die Bestandsdatei einzeln durchsuchen zu müssen.

  • +Tooltip auf Vorschlag-BE und Vorschlag-ST beim Hovern. Format: 22.04.2026 (Mi) Endbestand 354 ST. Der Tooltip erscheint nur, wenn auch eine Bestandsdatei geladen ist – ohne Bestandsdatei verhalten sich die Vorschlag-Zellen wie bisher.
  • +Datums-Berechnung über Quell-KW. Die Funktion vorschlagSourceTooltip() rechnet vom Anzeige-Jahr/-Woche um sechs Wochen zurück (mit Jahresübergang sauber durch addWeeks) und holt den Mittwochs-Endbestand aus der bereits geladenen Bestandsdatei. Negative Endbestände (Buchungsfehler) werden 1:1 angezeigt.
  • +Stille Behandlung von Edge Cases. Wenn die Bestandsdatei den gesuchten Mittwoch nicht enthält (Datum außerhalb der Lieferspanne) oder den Artikel an diesem Tag nicht kennt, gibt es einfach keinen Tooltip – konsistent mit dem Verhalten der Aktionstage-Tooltips.

V0.9.18 – Bezeichnungsspalte passt sich automatisch an

Statt einer fest verdrahteten Spaltenbreite wird jetzt beim Datei-Laden der längste Artikelname in Pixeln gemessen und die ø-Aktionspreis-Spalte (in der die Bezeichnung steht) automatisch passend gesetzt. Damit sind sowohl kurze Sortimente (kompaktere Tabelle) als auch lange Bezeichnungen wie „Axe Deo Bodyspray …150ml" (~40 Zeichen) ohne Abschnitt sichtbar.

  • +Dynamische Breite über CSS-Variable --c-preis-width. Wird einmal pro geladener Datei berechnet (nicht pro Render – kein Performance-Overhead). Bei Datei-Wechsel wird neu gemessen.
  • +Pixel-genaue Messung mit Canvas-API (canvas.measureText) mit der gleichen Schrift wie in der Group-Row (Arial Bold 12px). Robuster als Zeichen-Heuristiken – „I" und „W" haben in der Realität sehr unterschiedliche Breiten.
  • +Min/Max-Klammer 120…320px: Untergrenze, damit auch bei kurzen Sortimenten die Aktionspreis-Werte vernünftig in der Spalte sitzen. Obergrenze, damit ein einzelner Mega-Artikelname nicht die ganze Tabelle horizontal scrollen lässt. Deckt Bezeichnungen bis ca. 42 Zeichen ab.
  • Fallback auf 180px wenn die Canvas-API in einem Browser scheitert. Der CSS-Default-Wert in var(--c-preis-width, 180px) springt automatisch ein, ohne dass die Tabelle kaputt geht.

V0.9.17 – Bezeichnung wieder vollständig sichtbar

Bei Artikelnamen mit ca. 25 Zeichen oder mehr (z.B. „Pepsi Zero Zucker 1,25l DPG") wurde der Name in der Group-Row abgeschnitten, weil die Bezeichnung in der ø-Aktionspreis-Spalte (90px) sitzt und der Bestand-Wert rechts daneben blockiert das Überlaufen. Die Spalte wird jetzt breiter, der Bestand bleibt an seinem Platz rechts in der Group-Row.

  • ø-Aktionspreis-Spalte (c-preis) verbreitert von 90px auf 180px – sowohl im nptag- als auch im full-Modus. Damit ist genug Platz für Artikelbezeichnungen bis ca. 26 Zeichen, ohne dass etwas abgeschnitten wird.
  • Aktionspreis-Werte in den Datenzeilen bleiben rechtsbündig durch das Pill-Wrapper-Format. Der hervorgehobene Mindest-Aktionspreis (rote Pille) sitzt weiterhin sauber am rechten Spaltenrand – mehr Reserve nach links, gleicher Anker rechts.
  • Bestand-Spalte unverändert rechts neben der Bezeichnung in der Group-Row. Position und Inhalt der Bestand-Anzeige werden nicht angetastet.

V0.9.16 – Vorverkaufsvorschlag wandert in die sichtbare KW-Zeile

Bei Aktionswochen mit Kolli- und Stück-Zeilen landete der Vorverkaufsvorschlag bisher in der Stück-Zeile – also in der Zeile, deren KW-Beschriftung wegen der Wiederholungs-Suppression unsichtbar ist. Optisch sah das so aus, als würden die Vorschlag-Werte zu einer „leeren" Zeile gehören, statt zur sichtbaren KW-Zeile mit der Σ-Box. Jetzt geht der Vorschlag in die erste echte Aktionszeile der Ziel-KW – das ist (wenn vorhanden) die Kolli-A-Zeile mit KW-Beschriftung und Σ-Box.

  • Lookup-Priorität in processVVK umgestellt: Pass 1 sucht jetzt die erste Aktionszeile mit Menge (egal ob Kolli A, Kolli B oder Stück). Vorher wurden ausschließlich Stück-Zeilen bevorzugt. Die Excel-Reihenfolge sortiert Kolli-Zeilen vor Stück-Zeilen, was direkt zum gewünschten Effekt führt: Vorschlag-BE/ST stehen in derselben Zeile wie KW-Label und Σ-Box.
  • Σ-Box-Position bleibt unverändert. Die Σ-Box wird über sameArtikelKwNext platziert (in der ersten Datenzeile pro KW), unabhängig davon wo der Vorschlag steht. Beide Werte stehen jetzt nebeneinander in derselben Zeile, kollidieren aber nicht – Vorschlag-Spalten sind links der KW-Spalte, Σ-Box in der NPavg-Spalte rechts.
  • Vorschau-Zeilen (echte Zukunft, KW + 6 ohne bestehende Daten) bleiben unverändert mit gelber „Vorschau KW XX/JJJJ"-Beschriftung. Die Phantom-Zeile entsteht nur, wenn die Ziel-KW noch gar keine Daten hat.

V0.9.15 – Filter „Aktionstyp" für Markt vs. Flugblatt

RWWS liefert auf Wunsch die Aktionsnummer und -bezeichnung mit jeder Aktionswoche aus. Damit lassen sich Markt-Aktionen (lokal angelegt, 9-stellige Nummer) und Flugblatt-Aktionen (zentral, 10-stellige Nummer ≥ 1.000.000.000) voneinander unterscheiden. Neues Pulldown blendet selektiv eine der beiden Kategorien aus, sodass man sich gezielt auf eine fokussieren kann. Verkaufswochen ohne Aktion bleiben in beiden Modi sichtbar.

  • +Neue Datei-Variante mit Aktion-Spalten. Wenn der Export die zwei zusätzlichen Spalten „Aktion" (Nummer) und Aktion-Bezeichnung enthält (Spalten F+G, vor VerkaufsME), erkennt das Tool das automatisch am Header und liest Aktionsnummer und -name pro Zeile mit ein. Alte Exporte ohne diese Spalten funktionieren weiterhin unverändert.
  • +Pulldown „Aktionstyp" in der Bedienleiste mit drei Optionen:
    • Alle – keine Filterung (Default)
    • nur Markt – Flugblatt-Aktionen (Aktionsnr ≥ 1.000.000.000) werden ausgeblendet
    • Flugblatt – Markt-Aktionen (Aktionsnr < 1.000.000.000) werden ausgeblendet
    Verkaufswochen ohne Aktion (im Export Aktionsnummer „#") bleiben in beiden Modi sichtbar – der Filter wirkt nur auf die Aktionswochen selbst.
  • Pulldown ist nur sichtbar, wenn die geladene Datei tatsächlich Aktionsdaten enthält – analog zum Lost-Sale-Pulldown, das auch nur erscheint sobald eine Bestandsdatei da ist.

V0.9.14 – Feiertage in 6 Bundesländern, halb-roter Punkt bei regionalen Unterschieden

Die Anwender sitzen in unterschiedlichen Bundesländern. Bisher wurden nur Hessen-Feiertage markiert. Jetzt sind alle gesetzlichen Feiertage von HE, NI, NW, RP, ST und TH (2025–2027) hinterlegt. Tage, an denen alle 6 Länder Feiertag haben, bleiben mit vollem rotem Punkt markiert. Tage mit regional unterschiedlichem Status bekommen einen halb-roten / halb-grauen Punkt (diagonal), und der Tooltip zeigt im Detail welche Länder den Feiertag haben.

  • +Bundesland-Liste pro Feiertag. Datenstruktur erweitert von {date: name} auf {date: { name, alle?, laender?, teilweise? }}. Der Schlüssel alle:true markiert bundesweite Feiertage. Bei regionalen Feiertagen listet laender die betroffenen, teilweise die nur teilweise geltenden Länder.
  • +Halb-roter / halb-grauer Punkt (diagonal) für regional unterschiedliche Feiertage. Voller roter Punkt bleibt für bundesweite Feiertage erhalten – damit sieht man auf einen Blick, ob alle Anwender betroffen sind oder nicht.
  • +Tooltip mit Bundesland-Liste. Format bei bundesweit: „03.10.2026 · Tag der Deutschen Einheit". Format bei regional: „04.06.2026 · Fronleichnam – HE, NW, RP (+ TH teilweise)".
  • Neue Feiertage hinterlegt: Heilige Drei Könige (ST), Weltkindertag (TH), Reformationstag (NI, ST, TH), Allerheiligen (NW, RP). Fronleichnam ist jetzt korrekt mit Hauptländern HE, NW, RP und teilweise TH dokumentiert.

V58.13 – Summen-Box in der NPavg-Spalte (rechts neben KW)

In V58.12 war die Box zwar sichtbar, saß aber in der KW-Zelle und drückte den KW-Text linksbündig. Im Modus „nptag" gibt's direkt rechts der KW-Spalte die NPavg-Spalte (Normalpreis Ø-Abv./Woche), die in den Datenzeilen ohnehin leer ist – idealer Platz für die Summen-Box. Jetzt sitzt die Box dort. KW-Text bleibt rechtsbündig wie bei den anderen Zeilen.

  • Box wandert in die NPavg-Zelle der ersten Datenzeile (nptag-Modus). Damit ist sie direkt rechts neben dem sichtbaren KW-Text platziert, ohne den KW-Text zu verschieben.
  • KW-Spalte zurück auf normales Verhalten – kein text-align:left-Override mehr, KW bleibt rechtsbündig wie alle anderen.

V58.12 – Box ragt jetzt nach rechts (statt nach links die Vorschlag-Spalten zu überdecken)

In V58.11 war die Box sichtbar, aber durch text-align:right (von der globalen num-Klasse) ragte der Überlauf nach LINKS in die Vorschlag-BE/ST-Spalten hinein und drückte den KW-Text mit. Jetzt überschreibt die kolli-sum-cell-Klasse das auf text-align:left – Überlauf geht damit nach rechts in die freie NPavg-Spalte.

  • KW-Text bleibt in seiner Spalte, Box ragt nach rechts in die NPavg-Spalte (in Datenzeilen ohnehin leer). Vorschlag BE und Vorschlag ST sind wieder vollständig sichtbar.

V58.11 – Bugfix: overflow:visible für die Summen-Box-Zelle

In V58.10 war die Box weiterhin abgeschnitten – Ursache: .data-row td hat global overflow:hidden; text-overflow:ellipsis. Das hat den überlaufenden Inhalt abgeschnitten und die typischen drei Punkte „..." statt der Box angezeigt. Jetzt überschreibt eine spezifische Regel diese Eigenschaft nur für die KW-Zelle mit Box.

  • TD bekommt class kolli-sum-cell, wenn die Summen-Box drin ist. Dazu gibt's eine spezifische CSS-Regel .data-row td.kolli-sum-cell { overflow:visible; text-overflow:initial }, die die globale Standard-Regel überschreibt. Damit ragt die Box ungehindert über die Spaltengrenze in die NPavg-Spalte hinein.

V58.10 – Summen-Box als schlichter Inline-Span (zurück zu V58.6-Mechanik)

V58.7–V58.9 haben mit position:absolute versucht, die Box zwischen oder neben den Zeilen schweben zu lassen – das hat in der table-layout:fixed-Tabelle nicht zuverlässig funktioniert. Jetzt ist die Box wieder ein schlichter Inline-Span (wie in V58.6 sichtbar war) – aber an der richtigen Stelle: direkt nach dem sichtbaren KW-Text in der ersten Datenzeile.

  • Inline-Span statt absolutem Overlay – die Box folgt einfach dem KW-Text in derselben Zelle, mit display:inline-block und 8 px Abstand. Das ist genauso einfach wie V58.6 und in jedem Browser sichtbar.
  • Position weiterhin korrekt: erste Datenzeile (Kolli-Zeile mit sichtbarer KW), nicht die zweite Zeile. Look-ahead-Logik aus V58.8 bleibt bestehen.

V58.9 – Bugfix Summen-Box: Position über inneren Span-Anchor

In V58.8 war die Summen-Box unsichtbar, weil das Tabellen-Layout (table-layout:fixed) position:relative auf <td>-Elementen zusammen mit überlaufendem Inhalt nicht zuverlässig rendert. Jetzt sitzt die Box relativ zu einem inneren <span>-Anchor (display:inline-block; position:relative) – damit funktioniert die absolute Positionierung browserübergreifend.

  • Span-Anchor umschließt KW-Text und Box innerhalb der TD. Die Box ist position:absolute relativ zu diesem Anchor, mit left:calc(100% + 8px) – sie startet 8 px rechts vom KW-Text.
  • Kein overflow:visible mehr auf der TD nötig – das war in der Tabellen-Layout-fixed-Konstellation ohnehin nicht zuverlässig.

V58.8 – Kolli-Summen-Box neben dem sichtbaren KW-Text

Korrektur der Position aus V58.7. Die Box sitzt jetzt direkt rechts neben dem KW-Text der ersten Datenzeile, vertikal mittig in dieser Zeile, statt zwischen den beiden Zeilen zu schweben.

  • Box wandert in die erste Zeile – sie hängt jetzt neben dem sichtbaren „KW 17/2026"-Text, ragt von der KW-Zelle nach rechts in die NPavg-Spalte und ist vertikal in der ersten Zeile zentriert (nicht überlappend zwischen den Zeilen).
  • Look-ahead auf die nächste Zeile in der Render-Schleife: Wenn die nächste Zeile denselben Artikel und dieselbe KW hat, ist die aktuelle Zeile die erste eines Pärchens und bekommt die Box.

V58.7 – Kolli-Summe als überlappende Box zwischen den Zeilen

Die Inline-Lösung aus V58.6 hat den Σ-Menge-Wert der zweiten Zeile teilweise verdeckt. Jetzt schwebt die Summen-Box vertikal mittig zwischen den beiden Datenzeilen und horizontal in der NPavg-Spalte – damit bleiben Aktionspreis, Bestand und Σ-Menge in beiden Zeilen vollständig sichtbar.

  • Box als Overlay statt Inline – sitzt in der (durch die KW-Wiederholungs-Logik leeren) KW-Zelle der zweiten Zeile und ragt per position:absolute nach rechts in die NPavg-Spalte hinein. Die Box-Mitte liegt vertikal genau zwischen erster und zweiter Zeile.
  • Σ-Menge bleibt frei – der Mengenwert in der zweiten Zeile (z.B. „362 ST") wird nicht mehr durch die Box verdeckt.
  • Schriftgröße 10px, kursiv, weißer Hintergrund mit dezentem grauen Rahmen. Format unverändert: „Σ 42,17 KOLLI A ≙ 506 ST".

V58.6 – Kolli-Summe inline statt eigene Zeile, ohne Faktor-Filter

Die in V58.5 eingefügte Summen-Zwischenzeile war zu unruhig. Jetzt erscheint die Mengenumrechnung als kompakte Inline-Box direkt in der Σ-Menge-Zelle der zweiten Datenzeile, mit den Symbolen Σ und ≙.

  • Eigene Zwischenzeile entfällt. Stattdessen sitzt die Summen-Anzeige inline in der zweiten Datenzeile, links neben der Σ-Menge – Beispiel: „Σ 42,16 KOLLI A ≙ 506 ST" direkt vor „362 ST". Schmaler Rahmen, kursiv, kompakte Schriftgröße.
  • Symbole statt Wörter: „Σ" für Summe, „≙" für Mengenäquivalenz. Damit passt die Anzeige in eine Zelle ohne dass die Tabelle springt.
  • Faktor-Filter entfällt. Die Summe wird immer berechnet, sobald eine Stück-Zeile und eine Kolli-artige Zeile mit derselben KW vorliegen – unabhängig davon, wie hoch der ermittelte Stück-pro-Kolli-Faktor ist. Voraussetzung bleibt: beide Preise > 0 und beide Mengen vorhanden.

V58.5 – KW-Wiederholung weglassen + Kolli-Summen-Zwischenzeile

Aufgeräumtere Darstellung von Aktionswochen mit zwei Verkaufseinheiten (z.B. „12 Kolli A" + „362 ST" in derselben KW). Die KW erscheint nur einmal, dazwischen rechnet eine Summenzeile die beiden Mengen ineinander um.

  • KW-Spalte wird ab der zweiten Zeile pro Aktionswoche leer gelassen, wenn derselbe Artikel mehrere Datenzeilen für dieselbe KW hat. Vorschau-Zeilen sind ausgenommen.
  • +Summen-Zwischenzeile erscheint zwischen den zwei Zeilen und zeigt die kombinierte Menge in beiden Einheiten – z.B. „Summe 42,16 KOLLI A = 506 ST". Der Umrechnungsfaktor wird automatisch aus dem Preisverhältnis ermittelt (Kolli-Preis / Stück-Preis = Stück pro Kolli). Greift in den Modi nptag und full, für alle Kolli-artigen Einheiten (Kolli A, Kolli B, MB, kg, Display) gegen Stück.
  • Sonderfall „gleicher Kundenpreis" (z.B. Einzelflasche und 6×1,0 L mit identischem Aktionspreis): Wenn der berechnete Faktor unter 1,5 liegt, ist das Mengenverhältnis nicht zuverlässig aus dem Preis ableitbar – in diesem Fall wird die Summenzeile weggelassen. Die KW-Wiederholung wird aber trotzdem ausgeblendet, sodass die Tabelle ruhig bleibt.

V58.4 – Spalten umsortiert + Sortierung Abteilung

Layout-Iteration: Artikelnummer wandert in eine eigene Spalte ganz links, Bestand zieht in den rechten Bereich der Tabelle direkt vor Σ Menge. Außerdem ist die Abteilung jetzt klickbar sortierbar – analog zu Artikel und Bezeichnung. Datenlogik unverändert.

  • Neue Spaltenreihenfolge (in den Aktionswochen-Modi nptag/full): Abteilung · Artikel · Vorschau · Vorschlag BE · Vorschlag ST · KW · Normalpreis Ø-Abv./Woche · Bezeichnung Ø-Aktionspreis · Bestand · Σ Menge · MO–SA. Der Bestand steht damit dort, wo er logisch zur Aktionswoche passt – direkt vor den Wochenmengen.
  • +Eigene Spalte „Artikel" links neben der Vorschau-Spalte. Die Artikelnummer steht weiterhin nur einmal pro Artikel in der blauen Group-Row, in den Datenzeilen darunter bleibt die Spalte leer (ruhiger Eindruck). Sortierpfeil im Header („Artikel ▼/▲"), genau wie bei Bezeichnung.
  • +Sortierung nach Abteilung – Klick auf den Header „Abteilung" sortiert die Artikel-Gruppen alphabetisch (de-DE), erneuter Klick kehrt um. Reihenfolge der KW-Zeilen innerhalb einer Gruppe bleibt erhalten.
  • Bezeichnung-Mini-Label über der Ø-Aktionspreis-Spalte bleibt erhalten und ist weiterhin klickbar zum Sortieren. Das frühere „Artikel ▼"-Mini-Label an derselben Stelle entfällt, weil die Sortierung jetzt im neuen Artikel-Spalten-Header sitzt.

V58.3 – Bestand-Diagnose umbenannt + Passwort-Schutz + neue Standard-Defaults

Sprachliche Glättung der Bestand-Diagnose-Funktion, Schutz gegen versehentliche Aktivierung, solange das Feature noch in Erprobung ist, plus drei sinnvollere Standardwerte für die Anzeige-Optionen.

  • Umbenennungen: „Nullbestand-Automatik verwenden" → „Bestand Diagnose Aktionstage / Nullbestände markieren" in der Startbildschirm-Box. „Lost-Sale Diagnose" → „Nullbestand Diagnose" als Pulldown-Label in der Bedienleiste. „Bestand=0 markieren" → „Nullbestand markieren" als Pulldown-Option.
  • +Passwort-Schutz für die Aktivierung. Klick auf die Checkbox „Bestand Diagnose Aktionstage" öffnet ein Eingabe-Modal. Bei Abbruch oder falscher Eingabe wird der Hacken zurückgesetzt – die Funktion bleibt gesperrt. Bei richtiger Eingabe läuft der gewohnte Workflow weiter (Erklär-Popover, Status-Box etc.). Einmal pro Sitzung freigeschaltet.
  • Hintertür zu: Auch die Auto-Aktivierung der Diagnose beim Nachladen einer Bestandsdatei im klassischen Modus (V58.2) ist jetzt passwortgeschützt. Bei Abbruch/falscher Eingabe wird die geladene Bestandsdatei verworfen.
  • +Drei neue Standard-Defaults beim Öffnen: „Datum bei Hover" steht jetzt auf beide, „Artikel hervorheben" auf Bezeichnung hervorheben, „Aktion hervorheben" auf Max. Menge + niedrigster AP. Alle drei können wie gewohnt jederzeit über die Pulldowns auf einen anderen Wert gesetzt werden – die Auswahl bleibt für die laufende Browser-Sitzung erhalten.

V58.2 – Modal auch ohne Nullbestand-Checkbox

Schließt eine Workflow-Lücke aus V58.1: Wer bewusst auf die Nullbestand-Checkbox am Startbildschirm verzichtet hat, kann jetzt trotzdem nachträglich eine Bestandsdatei laden.

  • „↑ Neue Datei laden" öffnet das Auswahl-Modal jetzt immer, sobald eine Datei geladen ist – egal ob Nullbestand-Modus aktiv war oder nicht. Damit gibt's einen einheitlichen Weg, Aktionsdatei und Bestandsdatei zu wechseln oder nachzuladen.
  • Auto-Aktivierung der Nullbestand-Automatik: Wer im klassischen Modus eine Bestandsdatei nachlädt (also ohne vorher die Checkbox am Startbildschirm zu setzen), aktiviert die Nullbestand-Automatik automatisch. Die Checkbox setzt sich von selbst, das Lost-Sale-Pulldown erscheint, kein zusätzliches Erklär-Popover mehr nötig – der User hat sich durch das Bestand-Laden bewusst dafür entschieden.

V58.1 – Datei-Auswahl-Modal beim Datei-Wechsel

Komfort-Verbesserung beim „↑ Neue Datei laden"-Knopf im Nullbestand-Modus.

  • +Datei-Auswahl-Modal öffnet sich beim Klick auf „↑ Neue Datei laden", wenn die Nullbestand-Automatik aktiv ist und schon eine Datei geladen war. Zwei Drop-Zonen nebeneinander – links Aktionsdatei (VVK), rechts Bestandsverlauf. Status der jeweils aktuell geladenen Datei wird unter der Drop-Zone angezeigt.
  • Klassischer Modus unverändert: Ohne aktive Nullbestand-Automatik öffnet „Neue Datei laden" weiterhin direkt den Datei-Dialog – kein zusätzlicher Klick.
  • Statusbox-Knöpfe („Bestandsdatei wählen" / „VVK-Datei wählen" nach dem ersten Datei-Load) gehen jetzt direkt zum passenden Datei-Dialog – ohne Auto-Erkennung.
  • Bug-Fix: Der zuvor mögliche Hänger beim Bestand-Nachladen über den Hauptknopf ist behoben – der Modal-Workflow umgeht das Problem grundsätzlich, weil die Drop-Zonen sortenrein sind.

V58 – Lost-Sale-Markierung wieder eingebaut

Die visuelle Lost-Sale-Markierung aus V54 ist zurück, jetzt mit dem aufgeräumten Workflow von V57.

  • +Pulldown „Lost-Sale Diagnose" erscheint automatisch in der Bedienleiste, sobald eine Bestandsdatei geladen ist – auch im zugeklappten Filter-Zustand. Solange keine Bestandsdatei da ist, ist das Pulldown komplett unsichtbar.
  • Standard ist „Bestand=0 markieren" (an), nicht aus. Der Anwender bekommt die Markierung also automatisch, ohne weiteren Klick. Wer die Tabelle ruhiger haben will, schaltet das Pulldown auf „aus".
  • Optik: Aktionstage mit Endbestand 0 (= sicheres Lost Sale) bekommen kräftig roten Hintergrund + dicken roten Unterstrich. Funktioniert auch auf Tageszellen, in denen tatsächlich noch Verkauf stand – sodass „verkauft, dann ausverkauft"-Tage sichtbar werden.

V57.1 – Datums-Bug-Fix für KW 01 am Jahresübergang

Wichtige Korrektur an der Wochen-zu-Datum-Berechnung. Wirkt sich auf alle datumsbezogenen Funktionen aus: Bestand-Lookup, Datums-Tooltips, Feiertags-Erkennung und die Plausibilitätsprüfung der Nullbestand-Automatik.

Hintergrund

RWWS labelt Wochen, deren Montag im Vorjahres-Dezember liegt, unter dem Vorjahr ein. Beispiel: Die Woche vom 29.12.2025 bis 04.01.2026 ist nach ISO/DIN „KW 01/2026" – RWWS führt sie aber als „2025 / KW 01". Bisher hat die Bestellhilfe stur ISO-konform gerechnet, was bei diesen KW-01-Zeilen zu falschen Datums-Werten geführt hat (fast ein Jahr Verschiebung).

  • Wochen-zu-Datum-Berechnung folgt jetzt der RWWS-Konvention. KW 01 unter „Jahr X" wird so interpretiert, dass der Montag im Dezember von X liegt – wenn der 1. Januar von X+1 nicht selbst auf einen Montag fällt. Damit stimmen Bestand-Lookups, Datums-Tooltips und Plausibilitäts-Banner wieder.
  • Sonderfall „1. Januar ist Montag" (selten – zuletzt 2024, nächstes Mal 2029): Hier bleibt die ISO-Standardberechnung. Falls in solchen Jahren konkret Probleme auftauchen, wird die Logik mit echten Daten nachgeschärft.

V57 – Nullbestand-Automatik (geführter Workflow)

Wiederaufnahme der Bestandsverlauf-Funktion aus V54 – diesmal als geführter Workflow direkt unter der Drop-Zone, statt versteckt im Filter-Trichter.

So läuft's ab

  1. Anwender hakt die Checkbox „Nullbestand-Automatik verwenden" an.
  2. Ein Erklär-Dialog beschreibt den Zwei-Datei-Ablauf einmalig.
  3. Erste Datei wird abgelegt – die Bestellhilfe erkennt automatisch ob VVK oder Bestandsverlauf.
  4. Eine Status-Box fordert die zweite Datei an, mit Option zum Abbrechen (= Automatik aus, ohne Bestand weiterarbeiten).
  5. Wenn beide Dateien geladen sind, zeigen Aktionstag-Tooltips „Anfang → Ende"-Bestände.
  • +Automatische Datei-Typ-Erkennung – ein kurzer Blick in die Header-Zeilen entscheidet zwischen VVK-Format und Bestandsverlauf-Format. Die Reihenfolge der zwei Dateien ist beliebig.
  • +Datums-Plausibilitätsprüfung – wenn die Zeiträume von VVK und Bestand mehr als 7 Tage auseinanderliegen, zeigt ein gelber Banner oben den Bereich an, in dem Bestände fehlen. Die Verarbeitung wird nicht blockiert.
  • +Bestand im Tooltip – auf jedem Aktionstag zeigt der Mouseover „Anfang: X ST → Ende: Y ST", sobald die Bestandsdatei geladen ist. Greift sowohl auf gefüllten als auch auf leeren Aktionstagen (für die Lost-Sale-Diagnose).
  • Abbrechen-Logik: Nach der ersten Datei kann der Anwender den Workflow abbrechen – die Checkbox wird zurückgesetzt, evtl. schon geladene Bestandsdaten werden verworfen, die Bestellhilfe arbeitet wie bisher ohne Bestand-Diagnose weiter.
  • Datei-Wechsel: Wer im laufenden Betrieb über „↑ Neue Datei laden" eine Bestandsdatei wirft, bekommt sie zur bestehenden VVK dazu (im Nullbestand-Modus). Eine zweite VVK-Datei ersetzt die alte. Eine zweite Bestandsdatei fragt nach Bestätigung.

V56 – Aufgeräumte Standard-Anzeige

Die Pulldown-Reihe oben passt sich jetzt konsequent dem Filter-Trichter an. Bei zugeklapptem Trichter sieht jeder Anwender dieselbe minimale Bedienzeile – egal welche Hervorhebungen aktiv sind.

  • Zugeklappter Filter-Trichter zeigt nur noch Suche, Abteilung und „nur MB/KOA/usw.". Alle übrigen Optionen (Jahr, Ø-Abverk./Woche runden, Kein Verkauf hervorheben, Datum bei Hover, Artikel hervorheben, Aktion hervorheben) sind ausgeblendet, bis der Trichter aufgeklappt wird – auch wenn dort ein Wert gesetzt ist.
  • Beim Aufklappen erscheinen alle Optionen wie gewohnt mit dezentem Strichrahmen, sodass klar ist welche Pulldowns Teil des Erweitert-Bereichs sind.
  • Hintergrund: Bisher blieben Pulldowns mit aktivem Wert auch zugeklappt sichtbar. Das machte die Standard-Anzeige je nach Konfiguration unterschiedlich voll. Mit V56 ist die Erstanzeige für alle Anwender identisch und ruhig – Power-User-Optionen erst auf einen Klick hin.

V53 – Datum bei Hover

Neue Anzeige-Option: das konkrete Datum als Mouseover-Tooltip auf Aktionstagen und/oder der KW-Spalte. Hilft bei der schnellen Orientierung – „war das vor oder nach Ostern?" – ohne die Tabelle visuell zu belasten.

  • +Neuer Pulldown „Datum bei Hover" mit vier Optionen:
    • aus (Standard) – keine Datums-Tooltips, Anzeige bleibt unverändert
    • Aktionstage – Mouseover auf MO–SA-Zellen zeigt das konkrete Datum (z.B. „15.05.2025")
    • KW – Mouseover auf der KW-Spalte zeigt den Mo–Sa-Bereich (z.B. „12.05. – 17.05.2025")
    • beide – Tooltips auf Tageszellen UND KW-Spalte
  • Feiertags-Tooltip aufgewertet: statt „Geschäft geschlossen" / „trotz Feiertag Abverkauf" wird jetzt der Feiertagsname zusammen mit dem konkreten Datum angezeigt. Direkter und informativer.
  • Bei aktivem Datum-Tooltip auf Aktionstagen wird der Hinweis „kein Abverkauf" um das Datum ergänzt – sodass leere Aktionstage beim Hovern direkt einen vollständigen Lost-Sales-Hinweis zeigen („kein Abverkauf – 15.05.2025").

V51 – Hervorhebungen jetzt auch für Kolli A/B/MB/kg/Display

Zwei verbundene Korrekturen an den Zellen-Hervorhebungen.

  • „Kein Verkauf hervorheben" und „Aktion hervorheben" wirken jetzt auf alle Aktionswochen, nicht nur auf Stück-Aktionen. Bisher wurden Kolli A, Kolli B, MB, kg, Display und NZ-Zeilen mit Aktionsmenge übergangen – egal ob der Filter „nur MB/KOA/usw." aktiv war oder nicht. Jetzt zählt eine Zeile als Aktionswoche, sobald sie eine Aktionsmenge hat (unabhängig von der VerkaufsME). Vorschau-/Zukunft-Zeilen sind wie bisher ausgeschlossen.
  • Roter Hintergrund nur noch um die Zahl, nicht über die ganze Zelle. Bei „weiß auf rot", „alle Preise rot, niedrigster invers" und „Max. Menge + niedrigster AP" wirkt der Tag-Style nun als kompakter Pill direkt um den Wert. Das ist deutlich ruhiger im Auge, vor allem bei aktivem MB/KOA-Filter.

V50 – MB/KOA-Filter zeigt nur echte Verkäufe

Nachschärfung des Filters „nur MB/KOA/usw.": Bisher blieben Artikel-Kopfzeilen sichtbar, wenn unter ihnen nur eine leere Vorschau-Zeile (Vorverkaufsvorschlag) stand. Jetzt zählen für die Sichtbarkeit ausschließlich Datenzeilen mit echter Verkaufsmenge.

  • Vorschau-Zeilen werden ausgeblendet, wenn der Filter „nur MB/KOA/usw." aktiv ist und der Artikel keine Nicht-Stück-Zeile mit echter Verkaufsmenge hat. So entstehen keine isolierten Vorschau-Streifen ohne darunter liegende Verkaufshistorie mehr.
  • Group-Header (Abteilung + Artikelzeile) verschwinden mit, wenn der einzige Inhalt darunter eine leere Vorschau wäre. Sichtbar bleiben nur Artikel mit tatsächlichen MB/KOA/kg/Display-Verkäufen.
  • Eine „echte Verkaufsmenge" ist eine Zeile mit Wert in Σ Menge oder in mindestens einer Tagesspalte (MO–SA). Stück-Zeilen sind durch den Filter ohnehin schon ausgeblendet, Vorschau-Zeilen (Zukunft) zählen nicht.

V47 – Die Geschichte sichtbar machen

Klick auf den Titel „Digitale Bestellhilfe" oben links öffnet ein neues Popover, das die Geschichte und alle Mitwirkenden zeigt – von der ersten Scanhilfe (2023) bis zur aktuellen Generation (2026).

  • +Geschichts-Popover mit Zeitleiste über vier Generationen, jeweils mit Screenshot und Mitwirkenden-Liste.
  • +Schließbar per X-Knopf, Klick auf den Hintergrund oder ESC-Taste.
  • Aktuelle Generation (3.0) wird visuell prominenter dargestellt – größeres Bild, größerer Titel, roter Jahres-Badge.

V46 – Aufgeräumte Tabelle und Session-State

Zwei kleine, aber wirkungsvolle Anpassungen.

Anzeige

  • Leere Artikel-Kopfzeilen ausgeblendet: Wenn ein Filter (z.B. „nur MB/KOA/usw.") dazu führt, dass ein Artikel keine Datenzeilen mehr hat, wird auch die Kopfzeile ausgeblendet. Keine "leeren Header" ohne Inhalt mehr.
  • Anzeige-Optionen nur in der aktuellen Sitzung gemerkt: Hervorhebungen und Rundung bleiben innerhalb der Browser-Sitzung erhalten (auch beim Datei-Wechsel), aber bei einem Browser-Reload (F5) oder Browser-Neustart starten alle Optionen wieder frisch auf "aus" und ausgeblendet. Unaufdringlicher als die bisherige dauerhafte Speicherung.

V45 – Beschriftungen und Filter geschärft

Mehrere kleine, aber merkliche Anpassungen an der Bedienleiste.

Bedienung

  • „Aktionspreis & Menge" → „Aktion hervorheben" – kürzer und konsistent zu „Artikel hervorheben". Die Funktion bleibt unverändert.
  • „Tage ohne Verkauf" → „Kein Verkauf hervorheben" – konsistente „… hervorheben"-Logik in allen Anzeige-Pulldowns.
  • „Runden" → „Ø-Abverk./Woche runden" – macht klar, welcher Wert gerundet wird (der Normalpreis-Wochen-Durchschnitt in der Artikel-Kopfzeile).
  • „Nur Stück" → „nur MB/KOA/usw." (Filter-Logik umgedreht) – aktiviert zeigt der Filter jetzt nur die Nicht-Stück-Zeilen (Kolli A, Kolli B, MB, kg, Display, NZ usw.). Damit lässt sich gezielt prüfen, was außerhalb der Stück-Aktionen läuft.
  • «-Trichter-Knopf an fester Position – wandert nicht mehr, wenn Optionen ein- oder ausgeblendet werden. Sitzt immer rechts vom letzten dynamischen Pulldown, vor „Neue Datei laden" und der Statistik.

V42 – Aufgeräumte Bedienleiste mit Anzeigegedächtnis

Die Bedienleiste zeigt nur noch das, was gerade aktiv ist – inaktive Optionen verschwinden automatisch und können bei Bedarf über den «-Trichter-Knopf wieder eingeblendet werden (analog zum EDEKA-Berichtswesen). Anzeige-Einstellungen werden außerdem zwischen Sitzungen gespeichert.

Bedienung

  • Auto-Ausblenden: Pulldowns wie „Tage ohne Verkauf", „Artikel hervorheben", „Aktionspreis & Menge", „Runden", „Jahr", „Nur Stück" sind nur sichtbar, solange ihr Wert nicht auf „aus" steht. Sobald „aus" gewählt wird, verschwindet der Pulldown – die Bedienleiste bleibt aufgeräumt.
  • +«-Trichter-Knopf in der Bedienleiste klappt ein Anpass-Panel auf: Alle Optionen werden sichtbar (auch die auf „aus" stehenden, gestrichelt umrandet zur Unterscheidung). Damit kann jederzeit eine Option aktiviert oder deaktiviert werden. Symbolik analog zum EDEKA-Berichtswesen: « = ausklappen, » = einklappen.
  • +Einstellungen werden gespeichert: „Tage ohne Verkauf", „Artikel hervorheben", „Aktionspreis & Menge" und „Runden" merken sich ihren Wert für die nächste Sitzung (lokal im Browser).
  • Filter werden nicht persistiert: Suche, Abteilung, Jahr und Nur Stück starten jedes Mal frisch, damit man nicht versehentlich mit einem alten Filter weiterarbeitet.

V41 – Aktionspreis & Menge hervorheben

Pulldown, um Spitzenwerte beim Aktionspreis und/oder bei der Aktionsmenge optisch hervorzuheben – hilft bei der Aktionsplanung, weil man niedrigste Preise und höchste Mengen sofort sieht. Standard ist „aus".

Bedienung

  • +Pulldown „Aktionspreis & Menge" oben in der Bedienleiste mit fünf Optionen:
    • aus (Standard) – wie bisher
    • niedrigster Preis: rot fett – nur der minimale Aktionspreis pro Artikel rot und fett
    • niedrigster Preis: weiß auf rot – nur der minimale Aktionspreis als Tag mit rotem Hintergrund
    • alle Preise rot, niedrigster invers – alle Aktionspreise rot, der niedrigste zusätzlich weiß-auf-rot
    • Max. Menge + niedrigster AP – höchste Σ Menge UND niedrigster Aktionspreis pro Artikel beide weiß-auf-rot. Spitzenwerte beim Stückumsatz und beim Mindestpreis auf einen Blick.
  • Definition Aktionswoche: Stück-Zeilen mit Aktionsmenge (echte Aktionswochen, keine Normalpreis-Wochen).
  • Bei mehreren Aktionen mit demselben niedrigsten Preis bzw. derselben höchsten Menge werden alle markiert.

V39 – Artikel besser auffindbar

Wahlfreie Hervorhebung von Artikelnummer und/oder Bezeichnung in der Artikel-Kopfzeile. Hilft, einen bestimmten Artikel beim Scrollen schneller zu finden – besonders nützlich für alle, die Tabellen-Layouts mit linksbündiger Artikel-Spalte gewohnt sind. Standard ist „aus" (ruhige Tabelle wie bisher).

Bedienung

  • +Pulldown „Artikel hervorheben" oben in der Bedienleiste mit vier Optionen:
    • aus (Standard) – wie bisher
    • Art.-Nr. hervorheben – die Artikelnummer in der Kopfzeile bekommt einen kräftigen blauen Hintergrund mit weißer Schrift. Sticht beim Scrollen sofort ins Auge.
    • Bezeichnung hervorheben – derselbe Stil, aber für die Bezeichnung.
    • beides hervorheben – Art.-Nr. und Bezeichnung als zwei separate hervorgehobene Tags nebeneinander.
  • Die Wahl wirkt sofort und kann jederzeit umgeschaltet werden.

V37 – Vorschlag in Bestelleinheiten (BE)

Eine zusätzliche Spalte zwischen der Vorschau-Beschriftung und „Vorschlag ST", die den Vorverkaufsvorschlag in Bestelleinheiten anzeigt – also der Wert, mit dem im Backoffice tatsächlich bestellt wird.

Neu

  • +Spalte „Vorschlag BE" mit dem Vorverkaufsvorschlag in Bestelleinheiten (Karton/Tray/Kolli). „BE" steht für Bestelleinheit. Erscheint in Vorschau-Zeilen direkt links der Stück-Spalte, sodass beide Werte nebeneinander zu sehen sind, z.B. „12 BE" / „78 ST".
  • Datengrundlage: neue Excel-Spalte „Vorverkaufsvorschlagsmenge in Best-ME" (Spalte R). Wenn diese Spalte fehlt (ältere Exporte), bleibt die Spalte einfach leer – das Tool funktioniert weiterhin wie gewohnt.
  • KW-Header bleibt mittig wie in V36 – Spaltenposition wurde durch die neue VVK-BE-Spalte verschoben (jetzt 5. Spalte).

V36 – Beschriftungen geschärft

Drei kleine, aber wirksame Beschriftungs-Anpassungen für mehr Klarheit beim Scannen der Tabelle.

Beschriftungen

  • „Leerverkäufe:" → „Tage / ohne Verkauf" in der Bedienleiste – sagt direkt was es ist, statt einen Fachbegriff zu nutzen.
  • „Ø NP-Abverk." → „Normalpreis / Ø-Abverk./Woche" (zweizeilig) – macht klar, worauf sich der Mittelwert bezieht (Normalpreis-Wochen, nicht Aktionswochen) und was die Einheit ist (pro Woche).
  • „KW"-Header mittig über der Spalte – steht damit zentral über den KW-Werten darunter, statt linksbündig wie bisher.

V35 – Sortierung nach Artikelnummer und Bezeichnung

Die Mini-Labels „Artikel ▼" und „Bezeichnung ▼" sind jetzt klickbare Sortier-Trigger. Damit lassen sich die Artikelgruppen schnell umsortieren – die Reihenfolge der KW-Datenzeilen innerhalb einer Gruppe bleibt dabei unverändert.

Bedienung

  • +Klick auf „Artikel" → Artikelgruppen aufsteigend nach Artikelnummer (numerisch, also 4681564004 vor 4909791009). Nochmal klicken: absteigend.
  • +Klick auf „Bezeichnung" → alphabetisch aufsteigend (de-DE-Sortierung, mit korrekter Umlautbehandlung). Nochmal klicken: absteigend.
  • +Aktive Sortierung wird im Header dezent hellweiß hinterlegt; der Pfeil dreht sich um (▼ ↔ ▲).
  • +Knopf „↺ Sortierung zurücksetzen" erscheint in der Bedienleiste, sobald eine Sortierung aktiv ist. Klick stellt die Original-Reihenfolge der Excel-Datei wieder her.
  • Numerische Sortierung der Artikelnummern (per parseInt), nicht textbasiert – damit auch unterschiedlich lange Artikelnummern korrekt sortiert würden.

V34 – Mini-Labels endgültig richtig positioniert

Beide Mini-Labels „Artikel ▼" und „Bezeichnung ▼" sitzen jetzt gemeinsam in der Ø-Aktionspreis-Spalte: „Artikel" linksbündig (über dem Beginn der Artikelnummer in der Group-Row), „Bezeichnung" rechtsbündig (über dem Beginn des Produktnamens). Damit zeigen die Anker exakt auf die Inhalte darunter.

V32 – Klarere Header-Beschriftungen

Die Header-Texte werden präziser, und die Artikel-Kopfzeile bekommt eine optische Brücke zum Spaltenkopf.

Beschriftung

  • „Ø-Preis €" → „Ø-Aktionspreis" – verdeutlicht, dass dieser Wert nur in Aktionswochen relevant ist (in NP-Wochen ist der Normalpreis ein anderer).
  • „Menge" → „Σ Menge" – das Sigma macht klar, dass es die Summe der Tagesmengen MO–SA ist (z.B. 2+13+6+11+7+31 = 70 ST), nicht ein einzelner Wert.
  • +Mini-Labels „Artikel" und „Bezeichnung" als zarte Beschriftungen oberhalb der Spaltenköpfe Ø-Aktionspreis und Σ Menge. Sie weisen darauf hin, dass in der Artikel-Kopfzeile (Group-Row) genau dort Artikelnummer und Bezeichnung erscheinen.

V31 – Schmaleres Layout, Fokus rechts

Die festen linken Spalten „Artikel" und „Bezeichnung" entfallen. Stattdessen wandern Artikelnummer und Bezeichnung in die Artikel-Kopfzeile (Group-Row), wo sie über den Spalten Ø-Preis und Menge erscheinen. Die Tabelle wird dadurch schmaler – das Auge ruht besser im fachlich relevanten Bereich rechts (Bestand, Vorschlag, Mengen, Tage).

Layout

  • Tabelle ~290 px schmaler – die alten Spalten Artikel (90 px) und Bezeichnung (200 px) sind weg.
  • Artikelinformationen rücken rechts heran – Artikelnummer und Bezeichnung erscheinen genau dort, wo darunter Ø-Preis und Menge stehen. Wer einen Artikel scannt, bekommt Stamm- und Aktionsdaten räumlich beieinander.
  • Linke Spalten reduziert auf das Wesentliche: Abteilung, Vorschau-Beschriftung, Vorschlag ST, KW, Bestand, Ø NP-Abverk. Mehr braucht es links nicht.

V29 – Wahlfreie Markierung & vollständig autark

Zwei Verbesserungen: Die Markierung von Leerverkaufstagen ist jetzt über ein Pulldown wählbar, und die Excel-Bibliothek ist direkt in die HTML-Datei integriert. Damit ist die App eine einzige autarke Datei ohne Internetabhängigkeit.

Neu

  • +Pulldown „Leerverkäufe" oben in der Bedienleiste mit vier Optionen:
    • aus (Standard) – keine Markierung, ruhige Darstellung
    • zart Grau – sehr dezent, fällt nur beim genauen Hinsehen auf
    • zart Rosa – wie V28, fällt schneller auf
    • rot umrandet – dünner roter Rahmen, fokussiert ohne Flächenwirkung
  • Default ist aus, damit die Tabelle bei normalem Arbeiten ruhig bleibt. Bei gezielter Analyse („wo waren die Lücken?") wird kurz umgeschaltet.
  • +xlsx.js direkt in HTML integriert (~700 KB Gesamtgröße). Kein zweiter Datei-Download mehr nötig, kein Internetzugang erforderlich. Eine Datei – das war's.
  • Feiertagsmarkierung (V28) bleibt unabhängig von der Pulldown-Wahl: Feiertage werden immer mit rotem Punkt + Tooltip markiert, weil das eine andere Information ist („Geschäft zu" vs. „Geschäft auf, kein Verkauf").

V28 – Neue Features

Bessere Sichtbarkeit von Verkaufslücken und gesetzlichen Feiertagen. Hilft dabei, ungewöhnliche Verläufe und planbare Ausfälle auf einen Blick zu erkennen.

Neu

  • +Leerverkaufstage in Aktionswochen werden mit zartem Rosa hinterlegt – fällt im Auge sofort auf, wenn z.B. ein Mittwoch in einer Aktion „tot" war.
  • +Feiertage Hessen 2025–2027 sind eingebaut: Tage, an denen das Geschäft geschlossen war, bekommen einen kleinen roten Punkt oben rechts in der Zelle. Der Tooltip beim Drüberfahren zeigt den Feiertagsnamen (z.B. „Karfreitag – Geschäft geschlossen").
  • Wenn an einem Feiertag doch Abverkauf erfasst wurde (z.B. Sondergenehmigung), erscheint der Punkt zusammen mit dem Wert – Tooltip dann „… – trotz Feiertag Abverkauf".
  • Feiertagsliste ist hardcodiert in der App – funktioniert ohne Internetzugang. Hinweis: ab 2028 muss die Liste erweitert werden.

V27a – Layout-Feinschliff

Weitere Vereinfachung der Tabelle: Spalten zusammengelegt, VerkaufsME direkt an die Menge integriert, Vorschau-Beschriftung verschoben. Versionsnummer bleibt V27a, weil es eine reine Layout-Iteration ist – Datenlogik unverändert.

Layout

  • Spalte „Jahr" entfällt – Jahr ist jetzt im KW-Format integriert.
  • Spalte „VerkaufsME" entfällt – die Einheit wird direkt an die Menge angehängt.
  • KW-Spalte zeigt „KW W/JJJJ" (z.B. „KW 22/2026"), kombiniert Jahr und Woche kompakt.
  • Menge mit Einheit: „12 ST", „5 Kolli A", „2 Kolli B" – Stück bleibt kurz „ST", Kolli werden ausgeschrieben.
  • Vorschau-Beschriftung („▶ Vorschau KW 22/2026") wandert in eine eigene Spalte links der Vorschlag-ST-Spalte. Die Vorschlag-ST-Spalte zeigt nur noch den reinen Wert.
  • +Abteilungs-Badge in eigener Spalte ganz links (statt hinter dem Artikelnamen) – damit stehen alle Badges sauber untereinander.
  • +NZ-Bestand-Zeilen werden immer ausgeblendet; der Bestand erscheint ausschließlich in der Artikel-Kopfzeile (auch für Artikel, die sonst nur NP-Daten hätten).

V27 – Änderungen gegenüber V26

Erste Layout-Umstellung: Spalte „Abteilung" entfällt (bleibt als Badge), „Vorschlag ST" wandert von rechts nach links, Bestand erscheint in der Artikel-Kopfzeile statt als Datenzeile, Ø NP-Abverk. neben Bestand. Wurde in V27a weiter verfeinert.

V26 – Änderungen gegenüber V25

Eingangsprüfung von Dateien deutlich verbessert. Falsche Formate (PDF, Word etc.) werden mit klarer deutscher Meldung abgelehnt, Excel-Lesefehler und Inhalts-Plausibilität werden geprüft.

V25 – Änderungen gegenüber V24

Der Ø-NP-Abverkauf wird pro Verkaufseinheit getrennt berechnet (z.B. ⌀ 6,6 KOB und ⌀ 5,5 ST untereinander). Bisher wurden „Stück" und „Kolli B" fälschlich gemittelt.

V24 – Änderungen gegenüber V23

„Nicht zugeordnet"-Zeilen mit Bestand zeigen statt der allgemeinen Beschriftung jetzt das konkrete Bestandsdatum an („Bestand zum DD.MM.YYYY"). Datum = Datei-Änderungs­datum minus 1 Tag.

V23 – Änderungen gegenüber V22

Neue VVK-Variante erkannt: „Nicht zugeordnet"-Zeilen, die gleichzeitig Bestand und Vorschlag enthalten, werden korrekt verarbeitet. Der Vorschlag wandert zur Ziel-KW (= KW + 6), der Bestand bleibt in der Quell-KW-Zeile sichtbar.

V22 – Änderungen gegenüber V21

Zwei Korrekturen an der Vorverkaufs­vorschlag-Verarbeitung: Vorschläge werden jetzt korrekt in bestehende Zeilen einsortiert, auch wenn die Ziel-KW nur als „Nicht zugeordnet"-Zeile mit Bestand vorliegt. Die Aktualitäts­schwelle für die gelbe Hervorhebung wurde von +5 auf +4 Wochen verkürzt.

V21 – Änderungen gegenüber V20 (in V22 zurückgenommen)

Lokale XLSX-Bibliothek war eingebaut, ist aber zurückgenommen. Standard wieder: XLSX wird vom Cloudflare-CDN geladen. Lokale Variante nur auf explizite Anforderung.

V20 – Änderungen gegenüber V19

Aktualitäts­schwelle für die gelbe Hervorhebung von Zukunft-Zeilen: Nur Zeilen mit Ziel-KW >= aktuelle KW + 5 (in V22 auf +4 angepasst) dürfen gelb werden. Berechnung der aktuellen ISO-KW direkt aus der Browser-Systemuhr.

V19 – Änderungen gegenüber V18

Aktualitätsprüfung der Export-Datei beim Laden: Stimmt das Datei-Änderungsdatum nicht mit dem heutigen Datum überein, erscheint vor dem Verarbeiten ein Bestätigungs­dialog.

V18 – Änderungen gegenüber V17

Versionierungs-Popover erweitert: Beim Überfahren der Versionsnummer im Header öffnet sich ein mehrteiliges Info-Fenster mit vollständiger Änderungshistorie.

V17 – Änderungen gegenüber V16

Zukunft-Zeilen (Vorverkaufs­vorschlag + 6 Wochen) werden dreistufig gefärbt je nach Position relativ zur letzten vorhandenen KW des Artikels in der RAW-Datei.

Support: Christoph.Kaiser@Edeka-Kaiser.de oder Edeka@Muehlenbein.net
Standard aktiv
Exportdatei laden
📂

Dateien hier ablegen oder klicken

Drag & Drop oder Klick zum Auswählen – im Dateifenster mit ⌘ bzw. Strg beide Dateien markieren

Unterstützt: .xlsx · .xls · .csv  |  Aktionsdatei und Bestandsverlauf können einzeln oder zusammen geladen werden
0 Artikel