Commit graph

19 commits

Author SHA1 Message Date
bfcc5c66db fix: POST-Redirect-GET Pattern für Reload-Sicherheit (v4.3)
Problem:
- Nach Aktualisieren (F5) kam Browser-Warnung "Formular erneut senden"
- Filter (Kabel ausblenden) gingen nach Reload verloren

Lösung:
1. Kabel-Filter als GET-Parameter statt POST
   - Filter bleiben nach F5 erhalten
   - Keine Token-Validierung nötig für einfache Filter

2. Redirect nach POST-Actions:
   - createallfromdatanorm: Redirect zu ?id=X nach Verarbeitung
   - addmissingprices: Redirect zu ?id=X nach Verarbeitung
   - Verhindert "Form resubmit" Warnung

Jetzt:
- F5 = Einfaches Reload ohne Warnung
- Filter bleiben erhalten
- Keine doppelten Submissions möglich

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-03 08:52:07 +01:00
66cdff2104 fix: Einfache Preisberechnung mit Kupferzuschlag aus Dolibarr (v4.3)
Problem:
- Komplizierte Logik mit copper_surcharge aus Datanorm (immer 0)
- Kupferzuschlag wurde nicht korrekt aus Dolibarr-Extrafields geladen

Lösung - EINFACH:
1. Dolibarr-Preis = unitprice × quantity + kupferzuschlag
2. Datanorm-Preis = price + kupferzuschlag (aus Dolibarr!)
3. Beide Preise für Mindestmenge anzeigen

Beispiel NYM-J 3x1,5:
- Dolibarr: 0,52€ × 100 + 45,30€ = 97,30€/100
- Datanorm: 18,20€ + 45,30€ = 63,50€/100
- Differenz: -34,7%

Beispiel Klemme:
- Dolibarr: 0,08€ × 100 = 8,00€/100
- Datanorm: 94,25€/100
- Differenz: +1.078%

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-03 08:49:21 +01:00
2cf7be39c7 fix: Preisanzeige für Mindestmengen in Haupttabelle (v4.3)
Problem:
- Haupttabelle zeigte nur Stückpreise statt Preise für Mindestmenge
- Kupferzuschlag (75,50€ für 100m) wurde mit Stückpreis (0,86€) addiert
- Vergleich war falsch: 0,86€ + 75,50€ = 76,36€ (unsinnig!)

Lösung:
1. Beide Preise werden für Mindestmenge angezeigt:
   - Dolibarr: 0,86€ × 100 + 75,50€ = 161,50€/100
   - Datanorm: 46,66€ + 75,50€ = 122,16€/100
2. Stückpreis als sekundäre Info in Klammern
3. Kupferzuschlag wird korrekt für Mindestmenge berechnet

Beispiel NYM-J 3x1,5:
- Dolibarr: 52,00€/100 + 45,30€ = 97,30€/100 (0,97€/m)
- Datanorm: 18,20€/100 + 45,30€ = 63,50€/100 (0,64€/m)
- Differenz: -34,7% statt -65%

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-03 08:48:14 +01:00
70354e824d fix: Datanorm-Preisvergleich mit Kupferzuschlag und Mindestmengen (v4.3)
Problem:
1. Datanorm-Preise enthielten nur Materialpreis, kein Kupferzuschlag
2. Preise wurden als Stückpreis statt Preis für Mindestmenge angezeigt

Lösung:
1. Kupferzuschlag aus Dolibarr-Lieferantenpreis-Extrafields wird zu Datanorm-Preis addiert
2. Hauptpreis zeigt jetzt Preis für Mindestmenge (z.B. 147,59€/100)
3. Stückpreis wird als sekundäre Info angezeigt (1,48€/Stk.)
4. Vergleich zwischen Datanorm und aktuellem Dolibarr-Preis für gleiche Menge

Beispiel:
- Datanorm: 102,29€ (Material) + 45,30€ (Kupfer) = 147,59€/100
- Dolibarr aktuell: 52,00€/100
- Differenz: +95,59€ (+183%)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-03 08:44:59 +01:00
848f24e7c5 fix: Kabel-Filter Checkbox besser sichtbar machen
- Checkbox jetzt rechts oben neben Titel positioniert
- Grauer Hintergrund mit Rahmen für bessere Sichtbarkeit
- Filter-Icon hinzugefügt
- Inline-Form für sofortiges Submit beim Klicken

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-03 08:17:14 +01:00
953774c9f7 fix: Datanorm-Preisvergleich mit Kupferzuschlag (v4.3)
Datanorm-Preisvergleich korrigiert:
- Datanorm-Preise enthalten nur Materialpreis ohne Kupferzuschlag
- Kupferzuschlag wird aus Produkt-Extrafields geladen und addiert
- Vergleich: Datanorm+Kupfer vs. aktueller Dolibarr-Lieferantenpreis
- Anzeige zeigt Aufschlüsselung: "Base-Preis + Kupfer = Gesamt"

Kabel-Filter hinzugefügt:
- Checkbox "Kabel ausblenden" in Datanorm-Vorschau
- Filtert Kabel-Produkte basierend auf Warengruppe
- Erleichtert Fokus auf Standard-Artikel

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-03 08:15:22 +01:00
650c42b8f0 fix: PDF-Anhänge und Bezeichnung für Lieferantenrechnungen (v4.2)
PDF-Anhänge:
- ZUGFeRD-PDF wird jetzt in ECM-Datenbank registriert (llx_ecm_files)
- Verhindert Verlust der PDF beim Validieren der Rechnung
- Korrekte Verknüpfung über src_object_type/src_object_id

Rechnungsliste:
- Teuerster Artikel wird als Bezeichnung (label) der Rechnung gesetzt
- Erleichtert schnelle Identifikation in der Lieferantenrechnungsliste

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-02 11:53:21 +01:00
c8e6d2f394 fix: Fehlende Lieferantenpreise hinzufügen, Debug-Cleanup, Changelog (v4.0)
- Debug-Logging aus addmissingprices-Handler entfernt
- Fehler-/Erfolgsmeldungen beim Preishinzufügen verbessert
- CHANGELOG.md mit v4.0 Änderungen aktualisiert
- Hinweis: uk_product_barcode UNIQUE KEY muss entfernt werden

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 21:26:22 +01:00
578120eca9 fix: Verschachtelte Forms, Stückpreis-Anzeige und DATPREIS-Kommentare (v4.0)
- Verschachtelte HTML-Forms behoben: "Ausgewählte Preise hinzufügen" funktionierte
  nicht, weil die missing_prices_form um die Tabelle mit inneren Forms gewickelt war.
  Lösung: Form ausgelagert mit HTML5 form-Attribut auf Checkboxen und Submit-Button.
- Einkaufspreise zeigen jetzt Stückpreis (unitprice) statt Gesamtpreis (price)
- Preisvergleich für fehlende Lieferantenpreise nutzt jetzt Stückpreis
- DATPREIS-Parser: Kommentare korrigiert - Feld ist Rabattkennzeichen, nicht PE-Code

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 20:19:05 +01:00
745fc68fc9 feat: Kabel-Preislogik für verschiedene Lieferanten-Formate (v3.8)
- Neue zentrale Funktion calculateCablePricing() für einheitliche Preislogik
- Unterschiedliche Lieferanten-Formate: Sonepar (price_unit=1, Ring im Namen) vs Kluxen/Witte (price_unit=100)
- Ringgröße-Erkennung: Ri100, Tr500, Fol.25m, "Ring 100m", "Trommel 500m"
- Cross-Catalog-Suche nur noch über EAN (verhindert Fehlzuordnungen)
- EAN-Auto-Update aus ZUGFeRD mit automatischer Barcode-Typ-Erkennung (EAN8/13/UPC-A)
- Neues Extrafield "produktpreis" für Materialpreis ohne Kupferzuschlag
- Kupfergehalt-Berechnung: Aderanzahl × Querschnitt × 8.9
- Division durch Null abgesichert
- Besseres Error-Handling für Extrafields

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-25 13:43:26 +01:00
c412d6c5a3 Einkaufspreise aller Lieferanten bei zugeordneten Produkten anzeigen
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 07:05:51 +01:00
82d4e8a323 Version 3.4: Fehlende Lieferantenpreise und Bugfixes
- EAN-basierte Suche fuer Cross-Katalog Lieferantenpreise
- Unique-Key auf Barcode entfernt (mehrere Lieferanten pro EAN)
- Variable $extrafields Namenskollision mit Dolibarr-Core behoben
- Duplikate bei gleichen Produkten auf mehreren Rechnungszeilen vermieden
- select2-Suche auf allen Zeilen (eindeutige HTML-IDs)
- Konsolidierter Bereich fuer fehlende Lieferantenpreise
- Refresh-Button und Alle/Keine auswaehlen

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 07:01:13 +01:00
1b2357a2aa Version 3.3: Sicherheit, Error-Handling und Berechtigungen
- XSS Fixes: $_SERVER['PHP_SELF'] und EAN-Ausgabe escaped
- Error-Handling fuer rename()/copy() Dateioperationen
- DB-Transaktion bei Force Reimport (Race Condition)
- db->query() Rueckgabewerte bei Extrafields geprueft
- Berechtigungspruefung fuer Index-Seite und Loeschen
- Helper-Funktionen fuer Lieferantenpreis-Erstellung (DRY)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 05:30:06 +01:00
47fbc561f6 Version 3.3
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 15:38:09 +01:00
63dd72f5be Version 3.2: Cross-Katalog-Suche und Multi-Lieferanten-Preise
- Cross-Katalog-Suche: Artikel werden via EAN/Hersteller-Art.Nr. in allen Katalogen gefunden
- Multi-Lieferanten-Anzeige mit Preisvergleich (Prozent guenstiger/teurer)
- Fehlende Lieferantenpreise werden bei zugeordneten Produkten angeboten
- Fix: Kluxen-Datanorm Preise im A-Record (Cent -> Euro Umrechnung)
- Neue Uebersetzungen fuer Lieferanten-Alternativen

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-11 17:39:02 +01:00
6b19944504 Fehler beseitigt import verbessert 2026-02-02 20:20:36 +01:00
244e41c353 Fehler beseitigt, Massenimport eingefügt Datenorm korrigiert. 2026-02-01 16:54:43 +01:00
e420698a58 Komplett überarbeitet Import müsste laufen E-Mail Benachrichtigung,
Postfach und Ordner usw
2026-02-01 09:25:12 +01:00
424b2379ef V 1.1 Import Zugferd erstellt 2026-01-31 21:52:04 +01:00