Sammelcommit Bankerweiterung und Skonto
Überarbeitung der Bankerweiterung vom Stand Niclas, und Einführung vonBezahlung mit Skonto (alter payment Branch). Mehr Details siehechangelog.
Bankerweiterung - Zwischenstand, erster Entwurf
Erstellung von Tabelle bank_transactions
Import von Bankbewegungen (in Tabelle bank_transactions)
Menu-Eintrag war noch nicht commitet
Controller für die Bank-Transaktionen
Dialog hin- und her
Achtung: noch mit Debug-Statements!...
trailing whitespaces entfernt
Auftragsimport: Artikel auch nach Beschreibung suchen können.
Kosmetik: Kommentare verbessert.
Auftragsimport: Preise und Steuern nur berechnen, wenn Items vorhanden sind.
Lagerbewegungs-Import: Charge beim Ermitteln des Bestands berücksichtigen.
Lagerbewegungs-Import: Hash-Keys über Subroutines erzeugen, um Tippfehler zu vermeiden/erkennen.
Lagerbewegungs-Import: Text geändert und Schreibfehler in Übersetzung behoben.
CSV-Import für Lagerbewegung, bzw. Lagerbestand.
Conflicts:
SL/Controller/CsvImport.pm locale/de/all locale/en/all
Übernahme aus Kundenprojekt.
CsvImport Taxzone für CustomerVendor und Order
check_taxzone aus Order nach CsvImport/Helper/Consistency.pm ausgelagertund um die Option take_default für CustomerVendor Import erweitert.
Behebt Ticket 9.
Item-Positionen in DB: Hilfetext und Übersetzung für Auftragsimport via CSV.
Csv: wantarray syntax entfernt.
CsvImport: Makemodels auch auf instabilen Datenbanken in der richtigen Reihenfolge speichern
CsvImport: Makemodels feiner granulieren.
CsvImport: makemodels nicht klobbern wenn existierende und price_update
CsvImport/Parts: makemodels fix inidzieren
CsvImport: Beim Import von makemodels die Reihenfolge richtig setzen
CsvImport: Fehler beim Speichern vom richtigem Objekt anzeigen.
Und "use English" (EVAL_ERROR) für bessere Lesbarkeit.
CsvImport: Bei Imports ohne cvars nicht die cvars klobbern.
CsvImport - Part : Anpassung für neue Steuerzonen
statt income/expense_accno_id_0 werden jetzt bei importiertenWaren/Dienstleistungen die Konten-IDs der Standardsteuerzone verwendet.(Wobei die genau ID ja egal ist, wichtig ist, ob etwas gesetzt ist).
Mal wieder ein paar lexicals in post if.
CsvImport: Feldlängen aus den Metadaten auslesen, nicht fest codieren.
CsvImport Waren: Preisupdate auch bei Erzeugnissen u. Dienstleistungen ermöglichen.
Zusätzlich beim Preisupdate prüfen, ob vorhandene Artikel von einem anderen Typals angegeben sind, falls in der CSV-Datei angegeben.
Problem war, dass Artikelnummern jetzt über Waren, Dienstleistungen und...
CsvImport Waren: Code-Vereinfachung
CsvImport Waren: test_run/import in check_existing nicht unterschiedlich behandeln.
Das funktionierte im Standard wg. der falschen Benennung ('test' vs. 'test_run')ohnehin nicht und bei richtiger Benennung gab es auch noch Probleme.
CsvImport Waren: Konsistenz: Fußnote statt 'siehe unten' in der Hilfe.
CsvImport: Der Parameter für den Testlauf heißt 'test', nicht 'test_run'.
Fußnote für part.onhands bei CSV-Import hinzugefügtcloses #2428
CsvImport: Kunden - payment und andere Daten aktualisierbar gemacht
Das Problem war, dass die methods für den clone in das bereitsbestehende Objekt aus den headers gesetzt wurden, und payment ist keindirektes Headerfeld.
Wird jetzt über einen eigenen Container clone_methods gemacht.
Warenimport: Preisaktualisierungen
3 Punkte:
- Preisupdates wurden auf dem falschen Objekt gemacht wenn die Ware schon vorhanden war. Dadurch wurden die neuen Preise nicht zurückgespeichert. Das ist jetzt behoben.- Preisupdates wurden nicht vorgenommen, wenn der Name des Preises (z.B....
Lieferbedingungen analog zu Zahlungsbedingungen eingeführt.
Sie können angelegt werden, beim Benutzer voreingestellt werdenund in allen Ein- und Verkaufsmasken gesetzt werden.
Verbessern von Helfer Konsistenz-Check
Der Konsistenz-Check wird in den Ordner SL/Controller/CsvImport/Helper/verschoben. Weiterhin ist er jetzt als Mixin programmiert.
Auslagern von Konsistenz-Check in neue Helper-Klasse
Es wurde mehrfach die sub check_currencies in denCsv-Importen kopiert. Dafür wurde jetzt eine neueHelper-Klasse geschrieben, wo solche Konsistenz-Prüfungen vorgenommen werden können.
Auftrags-Import: Ver. und Einkaufspreis von Artikel übernehmen, ...
... falls nicht angegeben.
History-Eintrag auch für Auftrags-Import erzeugen.
Auftragsimport: nur Orders, nicht OrderItems explizit speichern.
Hilfstext erweitert und geändert.
Fehlermeldungstext geändert.
Bezeichnung für tax zone geändert und vergessene Klammer hinzugefügt.
Csv-Helper lässt header als einfaches Arrayref bei Nicht-Multiplex-Daten zu.
benutzerdef. Variable behandeln.
weitere Methoden aus aus check_objects ausgelagert
check_objects: Schleifen zusammengefasst.
handle_order und handle_item aus check_objects ausgelagert
Schleifenvariable für Fortschrittsbalken auch hochzählen.
Deutlich machen, dass hier auf das der Klasse entsprechende Profil geprüft wird.
mit kleinen Methoden statt mit Strings auf häufige Hash-Einträge zugreifen.
Komsetik: Kommentar und auskommentierten Code entfernt.
Unveränderte Methoden nicht auch in abgeleiteter Klasse definieren.
Der Worker bestimmt, ob die Daten multiplex sind oder nicht.
Deshalb muss das nicht ermittelt werden.
Währung auf Kundenwährung setzten, wenn nicht angegeben.
gewählte/voreingestellte Zeilenkennung in der Hilfe/Beispieldatei anzeigen ...
und voreingestellte Zeilenkennung übersetzen.
Warnungen gefixt.
Kosmetik: Leerzeichen am Zeilenende entfernt.
Zeilenkennung und maximaler Differenzbetrag lassen sich an der Oberfläche eingeben.
weitere Beschreibungen/Hilfstexte zu den Feldern
Preisfaktoren und Preisgruppen behandeln.
Beim Initialisieren von "objects_by" alle Objekte holen ...
... und nicht als etxra Methode.
Alle Kontakte und Lieferadressen für entspr. Kunden/Lieferanten behandeln.
Projekte pro Position behandeln.
Steuersatz behandeln.
Lieferadressen behandeln u. kleiner Bugfix bei Ansprechpersonen
Abteilungen und Projekte behandeln.
Transnumber zum Erzeugen der Auftragsnummer verwenden.
Vorher bekamen mehrere zu importierende Aufträge die selbe Nummer.
Auftrags-Import
Ändert den Controller, dass er mit Multiplex-Daten umgehen kann. Neue Klasse BaseMulti für Mulitplex-Daten (abgeleitet von Base). Neue Klasse Order für Auftrags-Import (abgeleitet von BaseMulti). Eintrag im Menü. Anpassungen der templates.
Rose-Fehler beim Speichern eines Objekts anzeigen lassen.
Siehe Bug #2203. Siehe auch commit d16fc161b610f2ba59025fee1db94511a0c6c5cd
Return-Werte im eval-Aufruf richtig behandeln. Betrifft #2203.
SL::Helper::Csv kann mit Multiplex-Daten (mehreren Profilen) umgehen.
SL::Helper::Csv bekommt Klasse im Profil mitgeteilt.
Beim CSV-Import Einträge in die Historie machen.
Fixt #1998.
Währung beim CSV-Import Kunden/Lieferanten unterstützen
Fixt #2282.
CSV-Import: Neu anlegen gefixt
Wenn noch kein Objekt existierte und auch keine Nummernspalteangegeben war, so wurde nur der allererste Eintrag neu angelegt, derRest als angeblich schon existierend nicht behandelt.
CSV-Import Ansprechpersonen: Aktualisieren von Existierenden via Spalte "cp_id"
Conflicts: SL/Controller/CsvImport/Contact.pm
Evil debug output removal
CSV-Import Kunden/Lieferanten: Ungültige Zeichen (\r\n) durch Leerzeichen ersetzen
CSV-Import Kunden/Lieferanten: Schalter für Behandlung bereits vorhandener Einträge
Conflicts: SL/Controller/CsvImport/CustomerVendor.pm
Kunden-Import mit business_id repariert.
Schreibfehler im Methodenaufruf.
Phase sollte heißen, wie der Plan.
Schreibfehler im englischen String
CSV-Import Lieferadressen: Funktion gefixt
Shipto hat keine custom variables. Die Base-Klasse hat sich aberdarauf verlassen, indem es 'all_cvar_configs' aufruft. Der Test mit'$self->can("all_cvar_configs")' ist hier sinnfrei, weilRose::Object::MethodMaker nun mal genau diese Methoden anlegt.
CSV-Import Ansprechpersonen: Feld "Funktion/Position" (cp_position)
PartImport: check_existing etwas optimiert, spart bei Testimports gut 40% Zeit.
Error Reporting, und robuster gegen Fehler im Report save/load
pricegroups nur anzeigen, wenn sie auch wirklich vorhanden sind.
init methoden sollen nur zurückgeben
progress tracking für andere imports
Progress genauer anzeigen
Weitere Verbesserungen am asynchronen Import.
- tracking- profile/session handling
CSV-Import Waren/DL/Erzeugnisse: Genauerer Beschreibung für make_X, model_X, lastcost_X
CsvImport: CVars case insensitive parsen lassen
CSV-Import: Auswahl der Felder für die Duplikat-Prüfung
fixt 1964
CSV-Import: Fehlermeldungen anzeigen gefixt
CSV-Import für benutzerdefinierte Variablen gefixt
Sollte nun mit allen CSV-Imports funktionieren. Der alte Fixhat nur mit Customer/Vendor funktioniert.
Part-CSV-Import: Bei Update model_X und lastcost_X bei make_X berücksichtigen
implementiert #1901
Waren-CSV-Import: Einlesen des Einkaufspreises ins makemodel
CSV-Kunden-/Lieferantenimport: Verwendung von TransNumber zur Erzeugung von Nummern
implementiert #1972
CSV-Import: Projekte
implementiert #1907
CsvImport::Parts: Option zum Überspringen von Artikeln mit existierenden Nummern
implementiert #1965