Feld "Vorgangsbezeichnung" bei Verkaufsrechnungen hinzugefügt.
Alle Queries zur Vermeidung von SQL injections auf die Verwendung von Parametern bzw. ordentliches Quoten umgestellt.
Umstellung der Form.pm auf die Verwendung parametrisierter Queries zur Vermeidung von SQL injection. Zusätzlich etwas Kosmetik (trailing whitespace, TABs entfernt).
Vergessen, einen Spaltennamen mit umzubenennen.
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.
Nettobeträge bei taxincluded auf Druckvorschau angepasst (Bug 576)
Speichern und Anzeigen eines Verkäufers bei Verkaufsmasken.
IS::get_customer auf neue DBUtils umgestellt,neue DBUtils funktion selectfirst_hashref_query
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.
Bei Buchungen mit IS::post_payment taxkey mitbuchen.Fix fuer Bug 583.
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...
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.
Paranoiasicherheitscheck in IR.pm
Codeduplikation vermeiden.
Rechnungsfunktionen gehören natürlich nach IS und nicht nach IC.
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.
Dialogbuchen: Weitere Drop-Down-Boxen werden bei jedem Aufbau aus der Datenbank ausgelesen und durch das CGI-Modul ausgegeben.
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...
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.
Wenn bei Rechnungen bei einer Zeile kein Projekt ausgewählt ist, dann richtigen Wert für project_id im Query benutzen.
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.
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.
Bei Einkaufs- und Verkaufsmasken Felder für Angebots- und Auftragsdatum hinzugefügt.
Tabs in Query entfernt.
Probleme mit total bei grossen Rechnungsbetraegen
Rundungsfehler invtotal - paid
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
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.
ADR entfernt (kam aus Kundenprojekt und ist nicht fuer die allgemeine Lx-Office-Variante gedacht).
Sichern von abweichenden Lieferanschiften:Kunden ohne trans_id, Lieferanten ohne 'CT', mehrfaches speichern der gleichen Anschrift
shiptodepartment_1 in die Auswahlbox mit übernommen, breite der Selectbox "shipto" und "konto" fixiert
Konflikt mit CRM
Preisgruppen: Bei Zeilen mit noch nicht zugewiesenem Artikel wird gar keine Drop-Down-Box angezeigt. Bei den anderen Zeilen wird als erste Option "keine" angezeigt.
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.
Vorlagen: Einige Variablen zum Angestellten aus myconfig sollten nur mit dem Praefix "employee_" zur Verfuegung stehen, weil sie ansonsten andere Variablen (z.B. Faxnummer eines Lieferanten) ueberschreiben.
Bugfix 334 - Interne Notizen wurden bei gesetzter Lieferanschrift als Notizen aufden Angeboten, Auftraegen und Rechnungen dargestellt
Kosmetik: Perltidy-Lauf nach den Einstellungen in doc/programmierrichtlinien.txt ueber alle .pl und .pm.
Merge von 845 aus unstable: Bugfix LizenzenBeim Drucken von Rechnungen mit mehreren Lizenzen wurden die Lizenzen versetzt gedruckt
Merge von 845 aus unstable: Lieferdatum in Rechnungen- deliverydate auf Postenebene umbenannt in deliverydate_oe (danke an Frank Belau)- transdate_oe und deliverydate_oe entsprechend der anderen Datumsvariablen formatiert- latex-template-variablen.html aktualisiert
Merge von 833,836-838 aus unstable: Lieferdatum in Rechnungen-833Lieferdatum in Rechnungen.Lieferdatum wird nicht auf automatisch gesetzt und ist zur Zeit auch nicht vom Programm erfordert.Es wird bei der Konvertierung von und in Auftraege beibehalten....
Merge von 800 aus unstable: Bugfix 245Bugfix 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.
Merge von 784,790 aus unstable: Bugfix 220 Nachtrag Variablen-Neue Variable p_discount = Rabattprozente pro Position fuer Rechnungen, Auftraege und Angebote eingefuert. Die Variable discount enthaelt den als Rabatt gewaehrten Betrag-Latex-template-variablen fuer r784 angepasst
Merge von 772,773 aus unstable: Bugfix 220-Fix zu Bug 220, Rabatt wurde nur fuer ein einzelnes Item berechnet. Man sollte dazu noch erwaehnen, dass das anscheinend kein Bug, sondern eine Designentscheidung im SQL-Ledger ist.-Nachtrag zu Bug 220, Rabatt wurde nur fuer ein einzelnes Item berechnet....
Merge von 690 aus unstable: Sammelauftraege und DB-SchemaDB-Schema geaendert um in invoice und orderitems die Variablen ordnumber_$i, transdate_$i, cusordnumber_$i zu speichern.Speichern/Laden von Auftraegen und Buchen/Laden von Rechnungen modifiziert um diese Variablen zu halten.
Merge von 684, 686-689 aus unstable: Sammelauftraeger684 - Umwandeln eines Sammelauftrags in eine Rechnung ignoriert Nachkommastellenr686 - Sammelbestellungen koennen nur aus Auftraegen generiert werdenr687 - Noch ein paar Formatierungsfehler bei Umwandlung von Sammelbestellung in Rechnung...
Merge von 641,653 aus unstable: Preisgruppen Teil 3-Preisgruppen Kommentar entfernt, nach Perltidy formatiert-Menue Berichte Preisgruppen verschoben, Hola raus & locales angepasst
Merge von 635 aus unstable: FormulareUeber die Variable <%tax_rate%> kann nun in den Druckvorlagen der Steuersatz einer Zeile mit ausgegeben werden.
Merge von 634,636 aus unstable: Bugfix-Steuerbetraege wurden beim Drucken ohne Nachkommstelle angezeig-Ein ueberfluessiges ' entfernt.
Merge von 599-602,605,614,615 aus unstable: Preisgruppen Teil 1--Preisgruppenerweiterung auf Basis von Andres Patch - Thanks -Preisgruppenverwaltung -Preiseingabe der Preisgruppen in Masken Waren,etc. -Auswahl der Preisgruppen in den Verkaufsmasken -Erweiterung Datenbankschema...
Merge von 578 aus unstable: Bug Nr 190 geloest. Abteilung1 und 2 wurden bei der Lieferadresse nicht beruecksichtigtDB-Schema ändert sich!
Alle Dateien durch Perltidy laufen lassen. Die verwendeten Optionen sind am Ende der neu hinzugefuegten Datei doc/programmierstilrichtlinien.txt zu finden.