Eingangsrechnungen: Wirklich das Datum der zuletzt erstellten Rechnung benutzen, nicht das maximale Datum.
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.
Zur Überwachung von $form-Variablen können jetzt mehrere gleichzeitig ein- oder ausgeschaltet werden. Syntax: $form->{"Watchdog::var1,var2,var3"} = 1;
Der letzte Einkauspreis wurde nicht geladen und daher auch keine MArgenberechnung
Mahnwesen:1. Beim Erzeugen neuer Mahnungen wurden unter Umständen überall die falschen nächsten Mahnstufen vorausgewählt.2. Rechnungen, die bereits auf der höchsten Mahnstufe waren, wurden nicht mehr angezeigt.
Probleme mit mehreren Währungen und Wechselkursen behoben.
"Als bezahlt markieren" Button-Funktion in die common.pl verlegt.
neuen button und Funktion für "als bezahlt markieren" eingeführt.
Buchungen wurden nicht korrekt angezeigt, wenn gleiche Referenz aber unterschiedlicheBeschreibung
Der benannte Parameter $copy_accnos wird ansonsten nicht verwendet.
ic.pl auf use strict umgeschrieben (experimentell)ic.pl generate_reports konsistenzchecks umgeschirben, und kommentiert, wird im weiteren mit verbesserter datenbanklogikverwendet.SL/IC.pm: kosmetik
Eine neue Funktion eingebaut, mit der eine einzelne Datenbankverbindung zum Abholen verschiedener Funktionen genutzt werden kann. Diese Datenbankverbindung wird erst beim Ende der Lebenszeit von $form wieder geschlossen. Momentan bauen fast alle Backendfunktionen eine eigene Datenbankverbindung auf. Hiermit ist das teilweise überflüssig.
Die Funktion "Zahlung buchen" bei Kreditorenrechnungen 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 AP->post_transaction() selber die Zahlungen eintragen....
Ein Fehler an dieser Stelle ist nicht schlimm, da er auch dadurch zustande gekommen sein kann, dass die Tabelle 'schema_info' noch nicht existiert. Das passiert z.B., wenn man eine pre-2.4.0.0-Datenbank im Admin-Menü aktualisieren möchte.
Mehrere Fehler in der Kontenuebersicht behoben
Bei Artikelsuche Groß-/Kleinschreibung ignorieren.
Nur die Lieferanten und Händler zurückliefern, die nicht 'ungültig' markiert sind.
Spalte taxzone_id darf nicht NULL sein.
Spalte "ordnumber" oder "quonumber" muss eindeutig sein.
Die Funktion "Zahlung buchen" bei Debitorenrechnungen 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 AR->post_transaction() selber die Zahlungen eintragen.
Copy & Paste-Fehler
Auch bei undefinierten Wechselkursen 1 zurueckliefern, Workaround fuer Wechselkursproblem
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.
Wechselkurse dürfen nicht 0 sein.
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.
Wenn der Benutzer Leerzeichen am Ende will, dann diese nicht entfernen.
Überarbeitung der Ausgabe der Kontenansichten. Alle Buchungen - bis auf stornierte - werden gruppiert (je nach Sortierung) angezeigt.
Codevereinfachung
Eine Funktion zum tabellarischen Ausgeben von SQL-Ergebnissen (erwartet eine Referenz auf ein Array mit Hashreferenzen) hinzugefügt.
Die Ausgabe von Data::Dumper sortieren lassen, damit sie besser durchsuchbar ist.
Funktion zum Dumpen von Objekten via YAML hinzugefügt. Ist manchmal besser lesbar als die Ausgabe von Data::Dumper;
Kosmetik
Rückwärtskompatibilität mit in der Datenbank gespeicherten Entwürfen, bei denen noch '!!' zum Escapen benutzt wurde.
Beim Emailversand von Mahnungen wurden die falschen Dateinamen benutzt, sodass die angehängten PDFs leer waren.
Aus Debuggründen war $dbh->commit() auskommentiert, sodass Änderungen bei den Mahnungen nicht dauerhaft waren.
Mahnwesen:1. Neues Feature: Automatisches Erzeugen von Debitorenrechnungen über die Mahngebühren und -zinsen. Diese werden ebenfalls als PDFs ausgegeben.2. Neues Feature: Beim Bericht über aktive Mahnungen ermöglichen, dass mehrere Mahnungen und die eventuell dazu erstellen Debitorenrechnungen auf einmal ausgedruckt werden können....
Minimale Erweiterung um PlainTextTemplate, um Variablen in Strings leicht ersetzen zu können.
Das Escapen von Ausrufezeichen darf nicht durch zwei Ausrufezeichen geschehen, weil die Rückwandlung sonst eventuell falsch verläuft.Beispiel:abc!nop -> abc!!nop -> abc!\nop
Beim Speichern von Angeboten etc den Bearbeiter nicht aus $form->{employee} ableiten, weil die Drop-Down-Box jetzt $form->{employee_id} heißt.
Diverse Listen nach Namen sortieren. Fix für Bug 661.
Das Filtern von Angebots-/Auftrags-/Anfragenberichten nach dem Bearbeiter ermöglicht.
Bug: Bind Variable wurde mitgegeben, aber nicht verwendet
storno_id spalte in ap, und die dazugehoerigen aenderungen in AP->post_transaction
Bindestriche und ID aus den PopupMenus entfernt und in der FOrm.pm die Speicherung der Historie angepasst, damit nur der aktuell eingeloggte Bearbeiter gespeichert wird und somitManipulationen vermieden werden können.
fix von salesmen und employee bzw. split in zwei eigenständige Funktionen durch get_list aufgerufen. Fixing von Bug 658
Gutschriften heben jetzt auch den Lagerbestand an (Bug 636)
storno_id spalte in ar eingefuegt, und die post_transaction angepasst um diese auch zu nutzen
zusaetzlich zu der vorhandenen has_storno funktion (bugfix)eine is_storno funktion die die halbherzigen checks auf das mitgeschleifte $form->{storno} ersetzt
Die Funtktionen save_form() und restore_form() aus common.pl in ein eigenes Modul verlagert, das sie auch automatisch in den Namensraum des Aufrufers exportiert. Damit können sie auch von den Modulen in SL/ benutzt werden.
Die ausgewiesenen Mahngebühren gelten pro Rechnung, nicht pro erzeugter Mahnung, auch wenn Rechnungen in einer Mahnung zusammengefasst werden.
Auch die ID des Kontos zurückliefern.
Beim Erstellen eines Lieferantenauftrages aus einem Kundenauftrag wird überprüft, ob eine Lieferadresse ausgewählt oder eingegeben war. Wenn ja, so wird der Benutzer gefragt, ob er diese Lieferadresse beibehalten will, damit der Lieferant direkt an den Kunden liefern kann.
Das Löschen von $form-Variablen im Watchdog ebenfalls abfangen und überwachen.
@values wurde in der falschen Reihenfolge befüllt. Fix für Bug 654.
Der SQL-Code für die Suche nach Hersteller und Modell in den Stammdaten benutze einen Alias "m", der nicht definiert wurde. Fix für Bug 653. Zusätzlich das Query etwas verbessert.
Der bisherige Code, um Post-Anfragen mit enctype="multipart/form-data" zu parsen, hat leider bei Binärdaten versagt.
"use"-Anweisungen gehören an den Anfang der Datei.
Administration: Die Funktion zur Aktualisierung von nicht aktuellen Datenbanken neu geschrieben und wieder aktiviert. Unterstützt auch die Scripte in Pg-upgrade2.
Verbesserung der Suchfunktionen der Historie und Visualisierung der Sortierreihenfolge.
";" nicht als Kommentarzeichen ansehen.
Inifile.pm auch dazu benutzen, um die memers/users einzulesen und neu zu schreiben.
Weitere Konfigurationsvariablen in HTML-Formularen zur Verfügung stellen.
$userspath kommt aus dem globalen Namensraum. Ging mit dem letzten Commit kaputt. Fix für Bug 650.
Backtrace anzeigen, wenn ein Fehler in User.pm ausgelöst wird.
Bug: Buchungsjournal andere Auswahl als 'Alle'http://lx-office.org/forum/forum_entry.php?id=4604
open, print, close: Lokale Namensraeume (aus r2391, r2393) auf private eingeschraenkt, weitere PerlBestPractices Aenderungen.$category, $dpt_*, $project* Variablen entfernt, Weil USTVA nie Abteilungsweit, Projektweit oder bez. BWA anders dargestellt wird....
sub get_history() an die neuen Historienmöglichkeiten angepasst
In $form->get_lists() alle Details für die Lieferadressen abholen.
Den Rest von dn.pl auf die Verwendung von HTML-Vorlagen umgestellt.
Bei Einkaufs-/Verkaufsmasken sowie bei Debitoren- und Kreditorenbuchungen wird ein Button angezeigt, der ein Popupfenster öffnet, das zum ausgewählten Kunden/Lieferanten alle Stammdaten inklusive Ansprechpartner und Lieferadressen anzeigt.
Lx-Office verlangt inzwischen an sehr vielen Stellen, dass Javascript zwingend angeschaltet ist, weil es ansonsten schlicht nicht mehr funktioniert. Deswegen sind Abfragen auf die Verwendung des Javascript-Kalenders reine Platzverschwendung und blähen den Code unnötig auf.
Bugfix 624 und 93.G+V sollte jetzt keine Betraege mehr anzeigen sondern die richtigen Werte. Sind sie negativ sollte der Buchhalter sich Gedanken machen.
$form->parse_template() sowie Template.pm benutzen $form->{OUT} und $form->{tmpfile} direkt in Systemkommandos. Deswegen muss sichergestellt sein, dass diese Variablen nur mit geprüften Werten gefüllt werden.
Filehandles lokal deklarieren. open() nur mit "sicherem" Argument aufrufen.
Filehandles lokal deklarieren. Kosmetik. In Mailer.pm open() nur mit festgelegtem Argument aufrufen.
Argumente von open() definitiv auf den richtigen Pfad beschränken.
Filehandles als lokal deklarieren; Kosmetik; Argumente für open() nicht aus $form erzeugen. Das Feature, dass für jede Person eine eigene menu.ini eingelesen wird, wird hoffentlich nie jemand eingesetzt haben.
Filehandles als lokal deklarieren; Kosmetik; Argumente für open() bereinigen.
Keine direkt vom Browser stammenden Strings bei open() verwenden.
Dialogbuchen: Anzeige der letzten Buchungsnummer und des Datums, an dem diese Buchung eingetragen wurde. Patch von Rainer Guempelein.
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.
Kosmetik.
USTVA: Korrektur zum attachment_filename: Winston export Filename wurde ueberschriebenBetrifft commit:Revision: 2326Author: sschoelingDate: 2007-05-03 13:06:46 +0200 (Thu, 03 May 2007)
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.