Die USTVA darf nicht nach dem Taxkey abfragen, weil dieser nichts damit zu tun hat.Fuer die USTVA sind nur die pos_ustva von Relevanz.
Beim Speichern einfach in allen Einheiten nach der ausgewählten Einheit suchen.
Limitierung nicht schon bei der Datenbankabfrage.
Stornieren beim Dialogbuchen:1. In der Datenbank wird tatsächlich gespeichert, ob eine Buchung storniert wurde bzw. eine Stornobuchung ist.2. Der "Storno"-Button wird nur angezeigt, wenn die Buchung noch nicht storniert wurde.3. Es wird verhindert, dass eine bereits stornierte Buchung erneut storniert wird (Fix für Bug 646)....
Beim Buchen von Eingangsrechnungen den ausgewählten Bearbeiter honorieren und speichern. Bugfix für 640.
Ausgabe des Stacktraces beim Watchdog, wenn die Kontrollvariable auf > 1 gesetzt ist.
Leichter zu lesende Debugausgaben durch Einrückung.
Falscher Spaltenname beim Query.
Auswahl der Rechnungen für Mahnungen: Wenn das nächste Mahnlevel als Filter ausgewählt wurde, dann wurden diejenigen Rechnungen ausgewählt, die aktuell dieses Mahnlevel haben.
Feld "Vorgangsbezeichnung" bei Verkaufsrechnungen hinzugefügt.
Alle Queries zur Vermeidung von SQL injections auf die Verwendung von Parametern bzw. ordentliches Quoten umgestellt.
Leicht anderer Name -- es ist im Endeffekt ein stack backtrace, also soll er auch so benannt werden.
Mehr Debugmöglichkeiten für DBUtils.pm und allgemein für Fehlersituationen eingeführt, die über $form->error() signalisiert werden.
get_lsits um payments eweitert
Kleines Hilfsmodul für Zeichensatzkonvertierung hinzugefügt. In am.pl und rp.pl werden die hardcodierten Umlaute auch in den Ausgabezeichensatz konvertiert.
Änderungen zur Unterstützung von anderen Zeichensätzen als ISO-8859-1(5) implementiert. Es ist jetzt möglich, $dbcharset in lx-erp.conf auf UTF-8 zu setzen und dann auch UTF-8 als Datenbankencoding zu benutzen.
Attachment Filenmaes werden nun von einer SL/Form.pm Objektfunktion generiert
Große Teile des Mahncodes neu geschrieben bzw. umgeschrieben. Mehrere Fehler behoben:1. Rechnungen, die bereits gemahnt wurden, wurden zu früh erneut zur Mahnung angeboten, weil der Mahnzeitraum auf das ursprüngliche Fälligkeitsdatum der Rechnung bezogen wurde und nicht auf das Fälligkeitsdatum der vorhergehenden Mahnstufe....
System->Konteneinstellungen ueberarbeitet:
Beim Speichern/Anlegen von Mahstufen müssen die Kundendaten vor dem Generieren der PDFs aus der Datenbank gelesen werden, damit nicht alle Mahnungen für ein und denselben Kunden ausgegeben werden. Fix für Bug 631.
einen sub für get_lists -> "vendor" hinzugefügt
INSERT an das popup angepasst ( Bearbeiter können von jedem ausgewählt werden. )
subs für den customer und employee select angepasst; sowie get_lists
Verlagern der USTVA Kennziffern auf einen zentralen Datenbankeintrag.Dies verhindert Probleme, dass manche Kennziffern in einzelnen Ausgabemedien nicht erscheinen, in anderen jedoch schon.Auch bietet die Verlagerung auf die Datenbank - in einem späteren Schritt - die Abstraktion von Steuerreports auf verschiedene internationale Gegebenheiten....
Kosmetik, private Variablen
Bei Kundenangeboten, Kundenaufträgen, Lieferantenbestellungen und Lieferantenanfragen ein Feld "Vorgangsbezeichnung" implementiert.
Damit dbupgrade2_tool.pl nicht mehrmals eine Datenbankverbindung aufbauen muss.
sub _get_currencies an currencies angepasst, da diese mit : getrennt in der Tabelle stehen
Erweiterung der get_lists für die currencies
Anpassung der Anzeige, dass keine stornierten Rechnungen mehr angezeigt werden
Query durch LEFT JOIN vereinfacht und die Ergebnisanzahl deutlich reduziert.
Query-Vereinfachung wurde aus Versehen in r2296 committed.
Bearbeiten von Vorlagen: Es können jetzt die Vorlagen für alle konfigurierten Mahnstufen bearbeitet werden.
SQL-Syntax groß geschrieben / lesbarer gemacht : update -> UPDATE usw.
$locale->text('CANCELD') für Stornierungen hinzugefügt
Den zuletzt implementierten Mechanismus entfernt, um $form-Variablen zu überwachen, und dafür einen neuen Mechanismus implementiert, der auf tie basiert. Dadurch ist es möglich, immer die exakte Zeilennummer zu erfahren, in der eine Variable geändert wird.
Kreditlimit von Lieferanten wurde nicht richtig berechnet, wenn neue Rechnungen angelegt wurden.
Zahlungsverkehr: Drop-Down-Box für das Konto richtig befüllen.
typo
return muss nach leave_sub stattfinden, sonst wird das ignoriert
$form->{path} entfernt und hardcodiert auf bin/mozilla gesetzt.Vorlagen sind nicht betroffen, aber locales.pl schon.
Substitute mit execute reimt sich.
Kosmetik: Formatoptionen nutzen, anstatt den Formatstring extra zusammenzusetzen.
In allen Einkaufs- und Verkaufsmasken die Drop-Down-Box für die Steuerzone bei jedem Formularaufbau neu generieren. Dadurch bleibt auch der bisher selektierte Eintrag selektiert, was er vorher nicht tat (sprang immer auf "Inland" zurück).
Beim Vergeben von neuen Angebotsnummern etc die "Breite" der Nummernkreisvorlagen berücksichtigen (also wird aus z.B. "A00000" auch wirklich "A00001" und nicht "A1").
Anpassung der Historienfunktion
Anpassung des Speichervorgangs der Historie. Parameter $form->{snumbers} wird erwartet.
Die Javascript-Funktion "fokus()" sollte immer definiert sein, um keine Javascript-Fehler zu produzieren. Ob sie auch was tut hängt dann davon ab, ob $form->{fokus} gesetzt ist.
Falsche DB-Hilfsfunktion verwendet.
Umstellung von IC.pm auf die Verwendung von parametrisierten Queries und gequoteter Werte zur Vermeidung von SQL injections.
Die Funktionen zum Bearbeiten von HTML-, LaTeX-Vorlagen und Stylesheets neu geschrieben.
Fix zu Bug 618.
Kommentar:perl -le 'map ${$a{$_}=1}{k}=$_, 0,1; print $a{1}{k}'
Geladene Buchungen zeigten nach r2145 keine Steuern mehr an.Das Query zum Abfragen der Kontodaten war falsch verkuerzt worden.
Umstellung von RP.pm auf die Verwendung von parametrisierten Queries bzw. Verwendung von gequoteten Variablen zur Vermeidung von SQL injections.
In Form.pm gibt es kein $form, nur $self.
Beim Verschicken von Emails auch die Variable $form->{EMAIL_RECIPIENT} als Empfaenger benutzen, falls in $form->{email} z.B. die Emailadresse des Kunden steht. Bei der Sammelrechnung genau deswegen $form->{EMAIL_RECIPIENT} benutzen.
Vermeidung von SQL injections durch die Verwendung von parametrisierten Queries.
Die Variable hieß vorher "all_partsgroup" und sollte danach ebenso heißen.
Noch ein Fallback, falls $language wirklich nicht definiert sein sollte.
%myconfig ist ein Hash.
Bei Nummernkreisen auch Sonderzeichen erlauben (Perls eigener Algorithmus hinter "$var++;" funktioniert z.B. nicht, wenn die Variable ein Gleichheitszeichen enthält).
Umstellung der Form.pm auf die Verwendung parametrisierter Queries zur Vermeidung von SQL injection. Zusätzlich etwas Kosmetik (trailing whitespace, TABs entfernt).
/Stornierte (Forderungen|Verbindlichkeiten)/ werden bei offene $1 nicht mehr angezeigt/
Fehlende Parameter und falsche Spaltennamen.
Fehlendes Objekt bei Funktionsaufruf.
Auch beim Aufruf von LXDebug::message() auf Veränderungen bei beobachteten Variablen testen.
Abfangen von doppelten Lieferantenadressen (beim Eintragen)
Einen Filter für den Kunden-/Lieferantentypen bei Berichten über Kunden-/Lieferantenstammdaten implementiert.
Weitere Unterfunktion zu Form::get_lists() zum Auslesen von Kunden-/Lieferantentypen.
Bei den Kunden- und Lieferantenstammdaten werden in den Berichten standardmäßig nur noch die gültigen angezeigt; die ungültigen können über Radiobuttons trotzdem angezeigt werden.
Rudimentäre Überwachungsfunktion für $form-Variablen in LXDebug implementiert.
Vergessen, einen Spaltennamen mit umzubenennen.
Doppelte Zeilen entfernt.
Mahnwesen: Die Tabelle dunning so umgebaut, dass gemeinsam gestartete Mahnungen auch später gemeinsam erneut ausgedruckt werden können. Dafür auch die Listenansicht bereits gestarteter Mahnungen verbessert.
Vermeidung von SQL injection durch Verwendung von parametrisierten Queries. Zusätzlich die Optik beim Bericht über laufende Mahnungen verbessert. Fehler beseitigt, dass das erneute Ausdrucken von Mahnungen alle Mahnungen zusammengefasst hat, auch über Kundengrenzen hinaus.
Nettobeträge bei taxincluded auf Druckvorschau angepasst (Bug 576)
Bugfix: SQL Fehler bei nicht vorhandenem salesman
Beim Anlegen von Waren/Dienstleistungen die Einheiten auch wirklich nach der in den Systemeinstellung vorgegebenen Reihenfolge sortieren.
CP.pm auf die Verwendung von parametrisierten Queries zur Vermeidung von SQL injections umgestellt.
CA.pm auf die Verwendung von parametrisierten Queries zur Vermeidung von SQL injections umgestellt.
Funktion get_config aus ustva.pl nach USTVA.pm verschoben, damit sie auch aus rp.pl aufgerufen werden kann.
Weitere Vorkommen von GIFI entfernt. GIFI müsste bis auf Spalte chart.gifi_accno und Tabelle chart komplett entfernt sein.
CT.pm auf die Verwendung von parametrisierten Queries zur Vermeidung von SQL injection umgestellt. Dabei Restfunktionalität von customertax und vendortax entfernt. Mehr Datenbankhilfsfunktionen hinzugefügt.
dump_query ersetzt bereits ?-Parameter durch ihre eigentlichen Werte, weswegen sie nicht noch einmal an das Query angefügt werden müssen.
Falsche Verwendung einer neu eingeführten Datenbankhilfsfunktion, die zu einer Endlosschleife geführt hat.
Loeblich, Doku wollte ich schon immer haben.
Ich hab mal die Authorschaft korrigiert (Moritz hat an den meisten Routinen schuld)und die Funktionen die sowieso ueber prepare_execute_query laufen von doppelten Dumps befreit.
Fehler beim Export von Buchungen mit 16% behoben
SL::DBUtils etwas verbessert. Bei jedem Query wird geprüft ob der Debugmoduseingeschaltet ist-> Eintrag ins Log.Auch habe ich eine Anleitung für das Modul angefangen, aber bisher nur denAufruf einiger Funktionen beschrieben siehe perldoc SL/DBUtils.
Betr. Frontendfunktionen ar, ap, ir, is Zahlungskonto.Die Abfrage von $form->create_links verbessert (vor Inf. Regress geschützt) und aufgeräumt.Vereinheitlichung: Umstellung der Datenbankanfragen auf SL::DBUtils.
OE.pm: Keine Daten aus $form direkt in SQL-Anfragen einsetzen und statt dessen parametrisierte Anfragen benutzen. Außerdem einen SQL-Fehler behoben, wenn mehrere Auftrage zu einem zusammengefasst werden. Behebt Bug #609.
Beim Ausdruck die Variablen für den Verkäufer (salesman_*) füllen.
Speichern und Anzeigen eines Verkäufers bei Verkaufsmasken.
Bei Kunden-/Lieferantentypen das Feld "Vertreter" ausblenden.
Speichern von Verkäufern bei Kundenstammdaten.
Formatierung
Bug 603: Interne Bemerkungen bei Workflow aus Lieferanten heraus
->message(0, ...) sollte wieder funktionieren
dump_query fuer Moritz modifiziert, damit er nicht immer die querys einzeilig machen muss.... :)
get_vendor auf aktuellen Stand gebracht.
Neue tolle Funktionen in DBUtils eingefuet