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.
Alle Queries zur Vermeidung von SQL injections auf die Verwendung von Parametern bzw. ordentliches Quoten umgestellt.
Leicht anderer Name -- es ist im Endeffekt ein stack backtrace, also soll er auch so benannt werden.
Mehr Debugmöglichkeiten für DBUtils.pm und allgemein für Fehlersituationen eingeführt, die über $form->error() signalisiert werden.
get_lsits um payments eweitert
Kleines Hilfsmodul für Zeichensatzkonvertierung hinzugefügt. In am.pl und rp.pl werden die hardcodierten Umlaute auch in den Ausgabezeichensatz konvertiert.
Änderungen zur Unterstützung von anderen Zeichensätzen als ISO-8859-1(5) implementiert. Es ist jetzt möglich, $dbcharset in lx-erp.conf auf UTF-8 zu setzen und dann auch UTF-8 als Datenbankencoding zu benutzen.
Attachment Filenmaes werden nun von einer SL/Form.pm Objektfunktion generiert
Große Teile des Mahncodes neu geschrieben bzw. umgeschrieben. Mehrere Fehler behoben:1. Rechnungen, die bereits gemahnt wurden, wurden zu früh erneut zur Mahnung angeboten, weil der Mahnzeitraum auf das ursprüngliche Fälligkeitsdatum der Rechnung bezogen wurde und nicht auf das Fälligkeitsdatum der vorhergehenden Mahnstufe....
System->Konteneinstellungen ueberarbeitet:
Beim Speichern/Anlegen von Mahstufen müssen die Kundendaten vor dem Generieren der PDFs aus der Datenbank gelesen werden, damit nicht alle Mahnungen für ein und denselben Kunden ausgegeben werden. Fix für Bug 631.
einen sub für get_lists -> "vendor" hinzugefügt
INSERT an das popup angepasst ( Bearbeiter können von jedem ausgewählt werden. )
subs für den customer und employee select angepasst; sowie get_lists
Verlagern der USTVA Kennziffern auf einen zentralen Datenbankeintrag.Dies verhindert Probleme, dass manche Kennziffern in einzelnen Ausgabemedien nicht erscheinen, in anderen jedoch schon.Auch bietet die Verlagerung auf die Datenbank - in einem späteren Schritt - die Abstraktion von Steuerreports auf verschiedene internationale Gegebenheiten....
Kosmetik, private Variablen
Bei Kundenangeboten, Kundenaufträgen, Lieferantenbestellungen und Lieferantenanfragen ein Feld "Vorgangsbezeichnung" implementiert.
Damit dbupgrade2_tool.pl nicht mehrmals eine Datenbankverbindung aufbauen muss.
sub _get_currencies an currencies angepasst, da diese mit : getrennt in der Tabelle stehen
Erweiterung der get_lists für die currencies
Anpassung der Anzeige, dass keine stornierten Rechnungen mehr angezeigt werden
Query durch LEFT JOIN vereinfacht und die Ergebnisanzahl deutlich reduziert.
Query-Vereinfachung wurde aus Versehen in r2296 committed.
Bearbeiten von Vorlagen: Es können jetzt die Vorlagen für alle konfigurierten Mahnstufen bearbeitet werden.
SQL-Syntax groß geschrieben / lesbarer gemacht : update -> UPDATE usw.
$locale->text('CANCELD') für Stornierungen hinzugefügt
Den zuletzt implementierten Mechanismus entfernt, um $form-Variablen zu überwachen, und dafür einen neuen Mechanismus implementiert, der auf tie basiert. Dadurch ist es möglich, immer die exakte Zeilennummer zu erfahren, in der eine Variable geändert wird.
Kreditlimit von Lieferanten wurde nicht richtig berechnet, wenn neue Rechnungen angelegt wurden.
Zahlungsverkehr: Drop-Down-Box für das Konto richtig befüllen.
typo
return muss nach leave_sub stattfinden, sonst wird das ignoriert
$form->{path} entfernt und hardcodiert auf bin/mozilla gesetzt.Vorlagen sind nicht betroffen, aber locales.pl schon.
Substitute mit execute reimt sich.
Kosmetik: Formatoptionen nutzen, anstatt den Formatstring extra zusammenzusetzen.
In allen Einkaufs- und Verkaufsmasken die Drop-Down-Box für die Steuerzone bei jedem Formularaufbau neu generieren. Dadurch bleibt auch der bisher selektierte Eintrag selektiert, was er vorher nicht tat (sprang immer auf "Inland" zurück).
Beim Vergeben von neuen Angebotsnummern etc die "Breite" der Nummernkreisvorlagen berücksichtigen (also wird aus z.B. "A00000" auch wirklich "A00001" und nicht "A1").
Anpassung der Historienfunktion
Anpassung des Speichervorgangs der Historie. Parameter $form->{snumbers} wird erwartet.
Die Javascript-Funktion "fokus()" sollte immer definiert sein, um keine Javascript-Fehler zu produzieren. Ob sie auch was tut hängt dann davon ab, ob $form->{fokus} gesetzt ist.
Falsche DB-Hilfsfunktion verwendet.
Umstellung von IC.pm auf die Verwendung von parametrisierten Queries und gequoteter Werte zur Vermeidung von SQL injections.
Die Funktionen zum Bearbeiten von HTML-, LaTeX-Vorlagen und Stylesheets neu geschrieben.