- 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>
- 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>
- 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>