importzugferd/ChangeLog.md
data 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

69 lines
3.4 KiB
Markdown
Executable file

# CHANGELOG MODULE IMPORTZUGFERD FOR [DOLIBARR ERP CRM](https://www.dolibarr.org)
## 3.4
### Bugfixes
- Fehlende Lieferantenpreise: EAN-basierte Suche nutzt jetzt Barcode aus Lieferantenpreis statt Artikelnummer
- Fehlende Lieferantenpreise: Unique-Key auf Barcode entfernt (mehrere Lieferanten koennen gleichen EAN haben)
- Fehlende Lieferantenpreise: Variable $extrafields Namenskollision mit Dolibarr-Core behoben
- Fehlende Lieferantenpreise: Duplikate bei gleichen Produkten auf mehreren Rechnungszeilen vermieden
- Produktauswahl: select2-Suche funktioniert jetzt auf allen Zeilen (eindeutige HTML-IDs)
### Verbesserungen
- Fehlende Lieferantenpreise in konsolidiertem Bereich unterhalb der Produkttabelle
- Refresh-Button fuer Produktlisten nach Anlage neuer Produkte
- Alle auswaehlen / Keine auswaehlen fuer fehlende Lieferantenpreise
## 3.3
### Sicherheit und Code-Qualitaet
- XSS Fix: $_SERVER['PHP_SELF'] in JavaScript escaped (dol_escape_js)
- XSS Fix: EAN-Ausgabe in HTML escaped (dol_escape_htmltag)
- Error-Handling: rename()/copy() Dateioperationen mit Fehlerbehandlung
- Race Condition: DB-Transaktion bei Force Reimport hinzugefuegt
- Error-Handling: db->query() Rueckgabewerte bei Extrafields-Insert geprueft
- Berechtigungspruefung: Index-Seite prueft jetzt import:read Recht
- Berechtigungspruefung: Loeschen prueft jetzt import:delete Recht
- Helper-Funktionen fuer Lieferantenpreis-Erstellung (DRY)
## 3.2
### Neue Funktionen
- Cross-Katalog-Suche: Artikel werden ueber EAN/Hersteller-Artikelnummer in allen Lieferanten-Katalogen gefunden
- Multi-Lieferanten-Anzeige: Bei Produktzuordnung werden alle verfuegbaren Lieferanten mit Preisen angezeigt
- Fehlende Lieferantenpreise: Bei zugeordneten Produkten werden fehlende EK-Preise anderer Lieferanten angeboten
- Preisvergleich mit Prozentangabe (guenstiger/teurer) fuer Lieferanten-Alternativen
### Bugfixes
- Datanorm Import: Kluxen-Format (Preise im A-Record in Cent) wird jetzt korrekt verarbeitet
- Datanorm Import: Preise aus A-Record werden von Cent in Euro umgerechnet (geteilt durch 100)
### Hinweise
- Kluxen-Katalog enthaelt nur Listenpreise (UVP), keine Netto-Einkaufspreise
- Cross-Katalog-Suche erfordert aktivierte Einstellung "In allen Lieferanten-Katalogen suchen"
## 2.1
### Bugfixes
- Rechnungsimport: Preise wurden falsch als Brutto (TTC) statt Netto (HT) behandelt - korrigierte Parameterreihenfolge in addline()
- Datanorm Massenaktualisierung: Lieferantenauswahl ging nach Aktionen verloren - Redirects hinzugefuegt
- Datanorm Massenaktualisierung: "Alle Aenderungen uebernehmen" Button war nicht sichtbar ohne Suchergebnisse
- Datanorm Massenaktualisierung: Filter-Auswahl (Preis/Beschreibung/Bezeichnung) wurde bei "Alle hinzufuegen" ignoriert
- ProductFournisseur::update_buyprice erwartet Societe-Objekt, nicht Integer-ID
### Verbesserungen
- Bestaetungsdialog fuer Massenaktionen verwendet jetzt Dolibarr jQuery UI Dialog statt JavaScript confirm()
- Manuelles Metallzuschlag-Eingabefeld entfernt (nicht mehr benoetigt - Kupferzuschlag wird aus ZUGFeRD XML extrahiert)
- Ausstehende Aenderungen werden immer angezeigt wenn vorhanden, unabhaengig von Suchergebnissen
## 2.0
- Datanorm 4.0/5.0 Katalog-Import
- Kupferzuschlag-Extraktion aus ZUGFeRD XML (AllowanceCharge)
- Automatischer Preisvergleich zwischen Datanorm und aktuellen Einkaufspreisen
- Massenaktualisierung von Produktpreisen und Beschreibungen
- Aenderungsprotokoll fuer Preisanpassungen
## 1.0
Initial version