Eingangsrechnung: Als Rechnungsdatum wird das Datum der letzten Eingangsrechnung vorausgewählt. Zusätzlich wird das Fälligkeitsdatum in Abhängigkeit von den beim Lieferanten ausgewählten Zahlungsbedingungen gesetzt.
Probleme mit mehreren Währungen und Wechselkursen behoben.
Bei Artikelsuche Groß-/Kleinschreibung ignorieren.
Debugmeldungen entfernt
Die Funktion "Zahlung buchen" bei Eingangsrechnungen komplett umgeschrieben. Sie verlässt sich nun nicht mehr auf die aktuellen Daten in $form, um die alten Einträge in acc_trans zu löschen, sondern lädt den vorherigen Stand aus der Datenbank, entfernt darauf basierend die Einträge in acc_trans und lässt IR->post_transaction() selber die Zahlungen eintragen.
Bug: Bind Variable wurde mitgegeben, aber nicht verwendet
Umstellung der IR.pm auf die Verwendung von parametrisierten und richtig gequoteten Queries zur Vermeidung von SQL injections. Zusätzlich Kosmetik wie Leerzeichen am Zeilenende oder Umformatierungen anderer Codeteile.
Beim Speichern einfach in allen Einheiten nach der ausgewählten Einheit suchen.
Beim Buchen von Eingangsrechnungen den ausgewählten Bearbeiter honorieren und speichern. Bugfix für 640.
INSERT an das popup angepasst ( Bearbeiter können von jedem ausgewählt werden. )
SQL-Syntax groß geschrieben / lesbarer gemacht : update -> UPDATE usw.
Kreditlimit von Lieferanten wurde nicht richtig berechnet, wenn neue Rechnungen angelegt wurden.
Umstellung der Form.pm auf die Verwendung parametrisierter Queries zur Vermeidung von SQL injection. Zusätzlich etwas Kosmetik (trailing whitespace, TABs entfernt).
Falsche Verwendung einer neu eingeführten Datenbankhilfsfunktion, die zu einer Endlosschleife geführt hat.
Bug 603: Interne Bemerkungen bei Workflow aus Lieferanten heraus
get_vendor auf aktuellen Stand gebracht.
Neue tolle Funktionen in DBUtils eingefuet
Kreditorenrechnungen: Beim initialen Aufruf den richtigen Steuerschlüssel auswählen, wenn für den Lieferanten das zuletzt benutzte Konto ausgewählt wird.
Einkaufs- und Verkaufsrechnungen: Beim Erstellen der Einträge in acc_trans keine leeren Felder für taxkey erzeugen.
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.
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.
Wenn bei Rechnungen bei einer Zeile kein Projekt ausgewählt ist, dann richtigen Wert für project_id im Query benutzen.
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.
Anzeige und Auswahl von Projektnummern bei Einkaufs- und Verkaufsbelegen nur noch per Drop-Down-Box.
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 Auslesen der Lieferantendaten auch den Lieferantentyp holen.
Bei Einkaufs- und Verkaufsmasken Felder für Angebots- und Auftragsdatum hinzugefügt.
Bei Vorgängen auch Positionen speichern und ausdrucken, deren Anzahl = 0 ist (z.B. für Alternativpositionen, die die Gesamtsumme nicht beeinflussen sollen).
Undefinierte Werte aus der Liste der "gewollten Variablen" rauswerfen, weil die Liste ansonsten eventuell nicht leer ist.
Einkaufs-/Verkausfmasken: Wenn man auf "Liefeadresse" drückt, dann werden jetzt nur noch die Lieferadressdaten vom Kunden/Lieferanten aus der Datenbank geholt. Damit werden die bisher eingegebenen Bemerkungen in der Maske nicht mehr überschrieben, und die internen Bemerkungen werden nicht mehr in die normalen Bemerkungen kopiert. Fix für Bug 507.
Fehler beim Buchen. Wenn EUR gesetzt war, wurde bei Eingangsrechnungen das Bestandskontoangesprochen. Wenn EUR nicht gesetzt war, wurden beim Verkauf die Kosten nicht vom Bestands- aufKostenkonto umgebucht
Bei Einkaufsmasken sollte für Artikel der Einkaufspreis aus der Datenbank geholt werden, nicht der Verkaufspreis.
Fixed Bug 436: Radierparagraph: Loeschen am gleichen Tag erlauben
Neue Berechnung der Steuersaetze
Ermittlung der Folgekonten: Bei Ausgangsrechnungen wird zuerst das Lieferdatum, dann das Rechnungsdatum, dann das aktuelle Datum betrachtet. Bei Eingangsrechnungen zuerst das Rechnungs-, dann das aktuelle Datum. Bei allen anderen Belegen zuerst transdate (z.B. Bestell- oder Angebotsdatum), danach das aktuelle Datum.
Die Steuersätze richten sich nach dem Ertrags- bzw. dem Aufwands- und nicht nach dem Bestandskonto, weil beim Bestandskonto ja nicht danach unterschieden wird, woher man etwas bezogen hat.
Alu-Funktion aus Kundenprojekt entfernt.
Uebernahme der kompletten Version, so wie sie Philip als "Demo-Version" gezeigt hat, in das unstable-Repo. Dabei werden auch einige Patches, die seit der 2.2.0 hier eingepflegt wurden, wieder ueberschrieben. Diese werden in den naechsten Tagen wieder eingespielt, sofern noetig. Zu den neuen Features gehoeren (ohne Anspruch auf Vollstaendigkeit) Mahnwesen, Einheiten, Template-Neucodierung, AJAX-basierende Dialoge an einigen Stellen, Buchungsgruppen etc etc.
STDERR entfernt, Packet List in Lieferschein umbenannt, Vorlagen geändert, locales
Bugfix 245: IS::customer_details und IR::vendor_details ueberschreiben $form->{id}, was den Workflowstatus verfaelscht.Backup von taxincluded ersetzt durch ein Cleanup der SQL Rueckgabe.
Whitespace an den Zeilenenden entfernt.
Alle Dateien durch Perltidy laufen lassen. Die verwendeten Optionen sind am Ende der neu hinzugefuegten Datei doc/programmierstilrichtlinien.txt zu finden.