Beim Ausdrucken von Rechnungen das Feld "memo" der Zahlungseingänge als Array "paymentmemo" zur Verfügung stellen. Die Dokumentation bezüglich der Vorlagenvariablen für die Zahlungen überarbeitet.
Suche auch nach EAN auf Gleichheit, wenn nur partnumber gefüllt ist
Potentieller Fix für Bug 879. IS::cogs hatte unsicheres basefactor Handling.
Whitespace Purge
Lieferscheinnummer (donumber) auch in Rechnungen übergeben und als Druckvariable zu Verfügung stellen. OFFEN: Lieferscheinnummern fuer Rechnungen bestehend aus mehreren Lieferscheinen
Die Warengruppe beim Ausdruck der Vorlage zur Verfügung stellen.
Strict in 4 Dateien wieder deaktiviert.
Idee war gut, aber einige interne Mechaniken verhindern, dass strict so einfach eingesetzt werden kann.Diese Mechaniken, unter anderem die beliebte Array/Scalar Schizophrenie, lassen sich nicht ohne weiteres fixen,...
Beim Buchen von Verkaufsrechnungen muss die Umbuchung der Warenbestandskonten mit Steuerschlüssel 0 ( = keine Steuer) vermerkt werden.
Mehr Perlcode strict gemacht.
Bei verschachtelten Schleifen in der inneren Schleife eine andere Schleifenvariable als in der äußeren Schleife benutzen. Bei Perl 5.10 wird ansonsten unter der Bedingung "äußere Schleifenvariable mit my deklariert, innere hingegen ohne my" Speicher korrumpiert, und es trägt zum einfacheren Verständnis bei. Fix für Bug 839.
Einige Variablen der Warenstammdaten auch beim Ausdruck zur Verfügung stellen: ean, make, model.
Bei Berechnung des absoluten Rabattes den Rundungsfehler mit einbeziehen.
Beim Anlegen des allerersten Beleges eines Typs dafür sorgen, dass vendor_id bzw. customer_id auch gesetzt werden. Andernfalls funktionieren Dinge wie Ansprechpartner-Drop-Down-Boxen nicht, oder es erscheinen später SQL-Fehler.
Beim Ausdruck von Angeboten / Anfragen / Aufträgen / Rechnungen wurde der Rabatt ohne Nachkommastellen berechnet und dargestellt.
Beim Ausdruck wurde der Rabattbetrag nicht anständig auf ein Array gepackt, weil IS::customer_details() $form->{discount} mit dem Wert aus der Datenbank befüllt; und deswegen ist $form->{discount} kein Array.
Beim Umwandeln von Aufträgen in Rechnungen nicht sofort den Auftrag schließen. Beim Buchen von Rechnungen die Aufträge schließen, aus denen die Rechnung erzeugt wurde (auch mit Umweg über Lieferscheine), sofern der Auftrag damit vollständig abgerechnet wurde.
Beim Umwandeln von Angeboten/Preisanfragen in Aufträge die IDs in record_links speichern. Beim Umwandeln von Aufträgen und Lieferscheinen in Rechnungen die IDs in record_links speichern.
------------------------------------------------------------------------r7135 | mbunkus | 2008-06-20 10:56:08 +0200 (Fri, 20 Jun 2008) | 1 line
Wenn eine Rechnung aus einem oder mehreren Lieferscheinen erstellt wird, so wird beim Buchen der Rechnung automatisch alle Lieferscheine als geschlossen markiert, aus denen die Rechnung erstellt wurde....
Das Zeilenlieferdatum bei Rechnungen wurde nicht gespeichert
Trennung zwischen Dienstleistungs- und Wareneinheiten aufgehoben.
Wechselkurse.
Zum einen den unsaeglichen Algorithmus zum setzen von exchangerate und forex im ganzen Porgramm geaendert.Dann einen Bug mit der Angzeige der Wechselkurseingabe in oe.pl gefixt.Ausserdem Bug 666 gefixt.
Kosmetik.
Lagerverwaltung implementiert.
Implementation des Features "Benutzerdefinierte Variablen für Kunden- und Lieferantenstammdaten".
SQL-Injection vermeiden. Fix für Revisionen 2936, 2937.
Fehler bei neuen Rechnungen ohne Umwandlung
Beim Umwandeln von Auftrag in Rechnung wurden die Zahlungsbedingungen des Kunden und nicht diedes Auftrags verwendet
Die Variable "ranking" für Zahlungsbedinungen konnte nirgends konfiguriert werden. Zusätzlich werden beim Wechsel des Kunden in einer Verkaufsmaske die beim Kunden hinterlegten Zahlungsbedingungen immer ausgewählt, nicht nur dann, wenn vorher keine ausgewählt waren.
Quoten von allen in regulären Ausdrücken verwendeten Variablen, die direkt oder indirekt von Benutzereingaben stammen können. Fix für Bug 302.
Einheitliche Benennung der Margen-Formular-Variablen analog zu den Namen der Spalten in der Datenbank.
Bei Gutschriften wurde der Lagerbestand falsch aktualisiert
Preisfatkoren implementiert.
Bugfix Rabattberechnung: Berechnung so umgestellt, dass der Rabatt von der Zeilensumme genommen wird und nicht vom Einzelpreis (Rundung). Fix für Bug 325.Bugfix Zwischensummen: Bei Belegen aus OE.pm (Angebote, Aufträge, Anfragen) wurde die Variable <%runningnumber%> innerhalb eines Zwischensummenblocks nicht "1.1, 1.2, 1.3" etc hochgezählt, sondern normal "1, 2, 3" etc....
Kosmetikmerge aus Revisionen 5187, 5191, 5193, 5194, 5218, 5219, 5222, 5228, 5229
Kosmetik, merge aus -r5105,5106,5118,5120,5124
subtotal ist eine Boolean-Spalte; ältere DBI-Versionen mögen's nicht, wenn man ihnen dort Integer unterschiebt.
Beim Versenden von Emails wird der Text etc wieder in intnotes gespeichert. Fix für Bug 713.
Verkaufsrechnungen: Beim Stornieren den absoluten Ertrag negativ speichern.
Beim Stornieren von Einkaufs- und Verkaufsrechnung auch die storno_id mit speichern (analog zu AR.pm/AP.pm), damit später eine Unterscheidung zwischen Stornorechnung und stornierter Rechnung möglich ist.
Kosmetik
Erweiterung um Anzeige des Ertrages im Verkauf
Der letzte Einkauspreis wurde nicht geladen und daher auch keine MArgenberechnung
Probleme mit mehreren Währungen und Wechselkursen behoben.
Copy & Paste-Fehler
Debug-Code entfernt.
Copy&Paste-Fehler.
Die Funktion "Zahlung buchen" bei Ausgangsrechnungen 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 IS->post_transaction() selber die Zahlungen eintragen.
Revision 2532 rückgängig gemacht (Befehl aus falschem Verzeichnis abgeschickt)
Merge der Änderungen zwischen https://ls-bs-si1.bs.linet-services.de/svn/prog/vendor/lxoffice-erp/2.4.2 und https://ls-bs-si1.bs.linet-services.de/svn/prog/vendor/lxoffice-erp/unstable-rev-2530
Verkaufsrechnung: Die Drop-Down-Box für den Bearbeiter heißt nun employee_id (wie auch in oe.pl) und wird richtig befüllt und vorausgewählt.
Gutschriften heben jetzt auch den Lagerbestand an (Bug 636)
zusaetzlich zu der vorhandenen has_storno funktion (bugfix)eine is_storno funktion die die halbherzigen checks auf das mitgeschleifte $form->{storno} ersetzt
@values wurde in der falschen Reihenfolge befüllt. Fix für Bug 654.
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.