Kosmetik: Klammern um Funktionsaufrufe.
Kreditorenrechnungen: Beim initialen Aufruf den richtigen Steuerschlüssel auswählen, wenn für den Lieferanten das zuletzt benutzte Konto ausgewählt wird.
Debitoren- und Kreditorenrechnungen: Beim Erstellen der Einträge in acc_trans keine leeren Felder für taxkey erzeugen.
Einkaufs- und Verkaufsrechnungen: Beim Erstellen der Einträge in acc_trans keine leeren Felder für taxkey erzeugen.
Debugcode...
Einkaufs-/Verkaufsmasken: Da es das Zahlungsziel in den Masken nicht mehr gibt, müssen zur Berechnung des voreingestellten Fälligkeitsdatums die beim Kunden/Lieferanten eingestellten Zahlungskonditionen benutzt werden.
Kreditorenrechnungsmaske: Drop-Down-Boxen für Konten werden jetzt bei jedem Seitenaufbau richtig aufgebaut (kein Mitschleppen der HTML-gecodeten Drop-Down-Box im Formular) analog zu ar.pl. Behebt außerdem ein paar Bugs mit Auswahl der Steuerschlüssel.
Sortierung beim Buchungsjournal leicht angepasst.
Nicht Hashfelder sowohl als Skalar als auch als Hash benutzen. Führt zu merkwürdigem Verhalten, z.B. dass zu viele Keys herauskommen etc.
Bei Buchungen mit IS::post_payment taxkey mitbuchen.Fix fuer Bug 583.
Debugmechanismus leicht verbessert.Tracing ist jetzt keine unabhaengige Variable mehr sondern ein Aspekt.Alle anderen Debuglevel sind jetzt bitexklusiv, und koennen einzeln an und ausgemacht werden.
Grund dafuer ist, dass jetzt mit QUERY ein Modus eingefuehrt wird, der es erlaubt alle SQL queries die ueber die Funktion do_query laufen zu loggen....
IS::post_payment auf derzeitigen Stand gebracht um hinterher bug 583 anzugehen.Aenderungen sind zum Grossteil sicherheitsrelevant oder kosmetisch.
- Aenderungen von perltidy wurden rueckgaengig gemacht (voellig unleserlich)- Queries werden jetzt sicher ueber do_query und DBI gehandhabt...
Eine Funktion auf Tracelevel 2 gesetzt
2 Funktionen auf trace level 2 gesetzt
Debitorenrechnungen: Beim Erstellen einer neuen Debitorenrechnung das richtige Steuerkonto für die erste Zeile auswählen, auch wenn das ausgewählte Konto nicht das erste Konto in der Liste ist.
Überflüssigen/unwirksamen Code entfernt.
Paranoiasicherheitscheck in IR.pm
System->Kontenuebersicht->Konten: Abfrage war falsch.
Kontenliste: Steuerschlüssel Prozentsatz fehlte
Codeduplikation vermeiden.
Einkaufsrechnungen: Vor dem Stornieren die Daten aus der Datenbank holen und nicht die aktuellen Formulardaten für das Storno benutzen.
Definitiv verhindern, dass Einkaufsrechnungen doppelt storniert werden können.
Rechnungsfunktionen gehören natürlich nach IS und nicht nach IC.
Das mehrmalige Stornieren von Kundenrechnungen definitiv verhindern.
Debugcode
Rechnungs- und Gutschriftsnummern werden nun direkt innerhalb der Backend-Routinen innerhalb der gleichen Transaktion vergeben, in der auch die eigentliche Rechnung etc gespeichert wird. Damit soll besser verhindert werden, dass sich Löcher in den Nummernkreisen ergeben.
Booleans als 't' oder 'f' an die Datenbank geben.
Dialogbuchen: Weitere Drop-Down-Boxen werden bei jedem Aufbau aus der Datenbank ausgelesen und durch das CGI-Modul ausgegeben.
Projektnummer nicht doppelt und schon gar nicht mit einem Subquery abholen.
Dialogbuchen: Die Drop-Down-Boxen bei jedem Formularaufbau aus der Datenbank heraus aufbauen und nicht in $form mitschleifen. Behebt auch den Fehler, dass das Steuerkonto beim initialen Aufbau nicht richtig ausgewählt wurde.
Hilfsfunktionen für Form::get_lists() weiter ausgelagert und mit einem Unterstrich vor dem Namen als interne Funktionen gekennzeichnet.
get_part - sql quoting
quote_db_date verschoben nach DBUtils
Quoting Funktion für Datumsangaben in sql queries.Beherrscht:- NULL fuer nicht definierte Werte- current_date als Schlüsselwort- Standardquoting fuer tainted strings (übernommen aus DBI.pm)
USTVA: Patch zur besseren Unterstuetzung der oesterreichischen Verhaeltnisse.
Eine Aenderung zuviel in den Abfragen: Lieferdatum wurde nicht mehr berucksichtigt
2 Fehler im USTVA Modul beseitigt. Zwei Steuerkonten wurden nicht beruecksichtigt und beiGL-Buchungen wurde die Steuer nicht immer korrekt aufsummiert
Fix für r1967 (und r2002) : Steueranzeige unterhalb von Rechnungen, Angeboten, etc. an die neuen Taxkeys angepasst.Der Steuersatz wird nicht mehr in der 'description' redundant gefuehrt, sondern aus der'rate' generiert. Getestet bei den EingabemaskenVerkauf: Rechnung, Gutschrift, Auftrag, Angebot...
Erste Version Druckqueue.Es ist nun wieder moeglich aus der Warteschlange zu drucken, und zwar auf selektierte Drucker.
Möglichkeit zum Löschen von gespeicherten Entwürfen eingebaut.
Loeschen von Drafts flexibler.Die Checkbos bestimmt ob ein Draft geloescht wird, nicht mehr automatisch beim laden.
Änderungen an Konten auch zulassen, wenn diese bereits bebucht wurden (der Benutzer darf sich hier selber in den Fuß schießen).
Vermeidung von SQL injection durch Verwendung parametrisierter Abfragen.
Erweiterte Liste von erlaubten Spaltennamen, nach denen sortiert werden darf.
Umformatieren der Abfragen und Vermeidung von SQL injection durch Verwendung von parametrisierten Abfragen.
Kreditorenbuchung: Beim initialen Buchen müssen die Projektnummern für die Zahlungsausgänge in acc_trans gespeichert werden.
Falsche Funktionsaufrufe. Fix für Bugzilla ID 560.
Einkaufs-, Verkaufs-, Debitoren- und Kreditorenrechnungen können als Entwurf gespeichert und später weiter bearbeitet werden. Dabei werden sie nicht gebucht.
Historie: Den Einfügezeitpunkt nur sekundengenau darstellen.
Tabelle für Historie wurde umbenannt.
Beim Drucken doch nicht die Arrays initialisieren. Momentan werden nämlich in $form unter dem selben Key sowohl Skalare als auch Arrays abgelegt (beispielsweise reqdate). Das Skalar fliegt durch die Initialisierung des Arrays hingegen raus.
Ja, das ist sehr sehr unsauber, stammt aber noch aus alten Tagen. Muss auch erst einmal so bleiben, bis ich eine geeignete Lösung habe, wie man das sauber trennt, ohne gleich wieder alle Variablen in den Vorlagen umzubenennen.
Die Variablen aus %myconfig beim Drucken nicht einfach so nach $form kopieren -- dafür gibt es später ja employee_* in Form::parse_template(). Zusätzlich einige weitere Kundenvariablen als customer* zur Verfügung stellen (analog zu den Lieferantenvariablen).
Query zum Speichern der Zahlungseingänge bzgl. project_id gefixt. Bugzilla-ID 559.
Speichern der Historie in einer eigenen Tabelle. Auch ein Fix für Bugzilla-ID 558.
USTVA Buchungsgruppe Inland: Konten angepasst und getestetUSTVA IST und Soll Versteuerung: Querys angepasst und getesteteUSTVA TestscriptBugfix 526.
Wenn bei Rechnungen bei einer Zeile kein Projekt ausgewählt ist, dann richtigen Wert für project_id im Query benutzen.
"Zahlung buchen" bei Kreditoren- und Debitorenrechnungen: Konten richtig zuordnen und das richtige Datumsfeld benutzen.
Historie eingefügt
Beim Drucken von Einkaufs- und Verkaufsbelegen die Projektnummern aus der Datenbank holen. Liste der Arrays, die in order_details/invoice_details aufgebaut werden, zentral angelegt, sodass bei "leeren" Zeilen auch wirklich alle bestückt werden können, ohne die Liste an drei Orten bearbeiten zu müssen.
Kreditorenrechnungen: Projektnummern für jede Zeile bei den Zahlungsausgängen.
Debitorenrechnungen: Bei Zahlungseingängen ist für jede Zeile eine Projektnummer vergebbar.
Einkaufs- und Verkaufsrechnungen: Bei den Buchungen (sowohl für die Positionen als auch für die Zahlungsein- und ausgänge) die globale Projektnummer in acc_trans speichern.
Buchungsjournal: Filtermöglichkeit nach Projekten sowie das Anzeigen von Projektnummern implementiert.
Fix für SQL-Fehler, dass transdate mehrdeutig ist, wenn auch nach Projekten gefiltert wird.
Dialogbuchen: Anzeigen und Speichern von Projektnummern für jede Zeile.
Projektauswahl in Debitoren- und Kreditorenbuchungen per Drop-Down-Box. Bei der Buchung auf das Gegenkonto wird keine Projektnummer vermerkt.
Einkaufs- und Verkaufsrechnungen: Filtermöglichkeiten nach Projektnummer sowie Anzeigeoption der Projektnummer hinzugefügt.
Bei Berichtsfunktion nach Projekten suchen und sich Projekte ausgeben lassen (bisher nur OE; IR und IS folgen).
Anzeige und Auswahl von Projektnummern bei Einkaufs- und Verkaufsbelegen nur noch per Drop-Down-Box.
Bei Projekten ein Flag "aktiv" hinzugefügt.
Globale Projektnummer in Einkaufs- und Verkaufsbelegen.
Verhinderung von SQL injection durch Verwendung von parametrisierten Abfragen.
Verhinderung von SQL injection durch Verwendung von parametrisierten Abfragen. Entfernen der Verwaltungsfunktionen für "SIC".
Mehr Codeteile entfernt, die zur Vorbereitung von Mehrlagerfähigkeit in SQL-Ledger gedient haben und nie benutzt wurden.
"GIFI"-Verwaltungsfunktionen entfernt.
Verhinderung von SQL injection durch Verwndung von parametrisierten Abfragen.
Große Codeteile entfernt, die zur Vorbereitung von Mehrlagerfähigkeit in SQL-Ledger gedient haben und nie benutzt wurden.
Benutze das Perl-Modul "YAML", um $form in einen String umzuwandeln und später daraus wieder herzustellen, da YAML im Gegensatz zu "Data::Dumper" ohne Perls "eval()" auskommt, sondern einen sicheren Parser zur Verfügung stellt. Damit kann die serialisierte $form auch über ein Formular vom Benutzer stammen, ohne ein Sicherheitsproblem darzustellen.
Diese Datei wird nicht benutzt.
Debugmeldungen
Einheiten sortierbar gemacht.
Bugfixes und Code-Reorganisierung beim "Webdav"-Feature. Beim Anlegen von Verzeichnissen werden auch eventuell fehlende Elternverzeichnisse angelegt. Bei jedem Neuaufbau der Maske wird die Liste der vorhandenen Dateien aktualisiert, nicht nur beim Speichern & Laden.
Drop-Down-Auswahlboxen für Ansprechpartner und Lieferadresse bei jedem Maskenaufbau aus der Datenbank aufbauen. Für den HTML-Code wird jetzt das CGI-Modul verwendet.
Beim Abarbeiten von Perl-Datenbankupgradescripten in Pg-upgrade2 wurde die Information, dass das Script abgearbeitet wurde, nicht in der Datenbank eingetragen.
Zyklencheck war falsch.
Versionsnummernupdate.
Bug 526 solved. USTVA: Die Abfrage der Dialogbuchungen war falsch.
eMail wird nur angekreuzt wenn email in der Konfiguration gesetzt ist
Bei hoeheren Mahnstufen wurde die Rechnung mehrmals angezeigt. In der Uebersicht der Mahnungenhat ein Klick auf die Rechnungsnummer nicht die Rechnungsmaske geoeffnet
Leeren String auch als "nicht gesetzt" deuten.
Neues Feature: Wenn die Anzahl Dezimalstellen bei format_amount() negativ ist, dann werden mindestens (und nicht exakt) so viele Stellen angezeigt.
Erstes Update zur USTVA Anpassung an 16%/19%.- Kennziffern 81,811, 51,511 werden 2006 und 2007 unterstützt.- HTML testscript für selenium IDE
Kundenbericht liess sich nicht nach Adresse sortieren
Bei UNIONs müssen immer die gleichen Spaltenanzahlen herauskommen. Fix für ein Problem, das in 1309 hinzukam; Bug 537.
Beim Auslesen der Lieferantendaten auch den Lieferantentyp holen.
Bei Einkaufs- und Verkaufsmasken Felder für Angebots- und Auftragsdatum hinzugefügt.
Die Option "Zahlenformat (Eingabe)" entfernt. Wenn sowohl . als auch , als Dezimaltrennzeichen erkannt werden sollen, dann sind viel zu viele Eingaben ohne , oder . als 1000er Trennzeichen zu mehrdeutig.
Tabs in Query entfernt.
Kennziffern hinzugefügt, Berechnungen der Zwischensummen verbessert,Code aufschoenen