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.
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.
Nur die Lieferanten und Händler zurückliefern, die nicht 'ungültig' markiert sind.
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.
Auch bei undefinierten Wechselkursen 1 zurueckliefern, Workaround fuer Wechselkursproblem
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
Wechselkurse dürfen nicht 0 sein.
Diverse Listen nach Namen sortieren. Fix für Bug 661.
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
Auch die ID des Kontos zurückliefern.
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.
Verbesserung der Suchfunktionen der Historie und Visualisierung der Sortierreihenfolge.
Weitere Konfigurationsvariablen in HTML-Formularen zur Verfügung stellen.
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.
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.
$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. Kosmetik. In Mailer.pm open() nur mit festgelegtem Argument aufrufen.
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)
Limitierung nicht schon bei der Datenbankabfrage.
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
Ä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
einen sub für get_lists -> "vendor" hinzugefügt
subs für den customer und employee select angepasst; sowie get_lists
sub _get_currencies an currencies angepasst, da diese mit : getrennt in der Tabelle stehen
Erweiterung der get_lists für die currencies
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.
$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.
typo
return muss nach leave_sub stattfinden, sonst wird das ignoriert
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 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.
Die Funktionen zum Bearbeiten von HTML-, LaTeX-Vorlagen und Stylesheets neu geschrieben.
Geladene Buchungen zeigten nach r2145 keine Steuern mehr an.Das Query zum Abfragen der Kontodaten war falsch verkuerzt worden.
In Form.pm gibt es kein $form, nur $self.
Beim Verschicken von Emails auch die Variable $form->{EMAIL_RECIPIENT} als Empfaenger benutzen, falls in $form->{email} z.B. die Emailadresse des Kunden steht. Bei der Sammelrechnung genau deswegen $form->{EMAIL_RECIPIENT} benutzen.
Die Variable hieß vorher "all_partsgroup" und sollte danach ebenso heißen.
Noch ein Fallback, falls $language wirklich nicht definiert sein sollte.
%myconfig ist ein Hash.
Bei Nummernkreisen auch Sonderzeichen erlauben (Perls eigener Algorithmus hinter "$var++;" funktioniert z.B. nicht, wenn die Variable ein Gleichheitszeichen enthält).
Umstellung der Form.pm auf die Verwendung parametrisierter Queries zur Vermeidung von SQL injection. Zusätzlich etwas Kosmetik (trailing whitespace, TABs entfernt).
Abfangen von doppelten Lieferantenadressen (beim Eintragen)
Weitere Unterfunktion zu Form::get_lists() zum Auslesen von Kunden-/Lieferantentypen.
Bugfix: SQL Fehler bei nicht vorhandenem salesman
CT.pm auf die Verwendung von parametrisierten Queries zur Vermeidung von SQL injection umgestellt. Dabei Restfunktionalität von customertax und vendortax entfernt. Mehr Datenbankhilfsfunktionen hinzugefügt.
Betr. Frontendfunktionen ar, ap, ir, is Zahlungskonto.Die Abfrage von $form->create_links verbessert (vor Inf. Regress geschützt) und aufgeräumt.Vereinheitlichung: Umstellung der Datenbankanfragen auf SL::DBUtils.
Beim Ausdruck die Variablen für den Verkäufer (salesman_*) füllen.
Speichern und Anzeigen eines Verkäufers bei Verkaufsmasken.
Speichern von Verkäufern bei Kundenstammdaten.
Teile von SL/Form.pm auf neuen stand gebracht
Eine Funktion auf Tracelevel 2 gesetzt
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: Die Drop-Down-Boxen bei jedem Formularaufbau aus der Datenbank heraus aufbauen und nicht in $form mitschleifen. Behebt auch den Fehler, dass das Steuerkonto beim initialen Aufbau nicht richtig ausgewählt wurde.
Hilfsfunktionen für Form::get_lists() weiter ausgelagert und mit einem Unterstrich vor dem Namen als interne Funktionen gekennzeichnet.
quote_db_date verschoben nach DBUtils
Quoting Funktion für Datumsangaben in sql queries.Beherrscht:- NULL fuer nicht definierte Werte- current_date als Schlüsselwort- Standardquoting fuer tainted strings (übernommen aus DBI.pm)
Erste Version Druckqueue.Es ist nun wieder moeglich aus der Warteschlange zu drucken, und zwar auf selektierte Drucker.
Historie: Den Einfügezeitpunkt nur sekundengenau darstellen.
Tabelle für Historie wurde umbenannt.
Speichern der Historie in einer eigenen Tabelle. Auch ein Fix für Bugzilla-ID 558.
"Zahlung buchen" bei Kreditoren- und Debitorenrechnungen: Konten richtig zuordnen und das richtige Datumsfeld benutzen.
Historie eingefügt
Anzeige und Auswahl von Projektnummern bei Einkaufs- und Verkaufsbelegen nur noch per Drop-Down-Box.
Bei Projekten ein Flag "aktiv" hinzugefügt.
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.
Versionsnummernupdate.
Leeren String auch als "nicht gesetzt" deuten.
Neues Feature: Wenn die Anzahl Dezimalstellen bei format_amount() negativ ist, dann werden mindestens (und nicht exakt) so viele Stellen angezeigt.
Die Option "Zahlenformat (Eingabe)" entfernt. Wenn sowohl . als auch , als Dezimaltrennzeichen erkannt werden sollen, dann sind viel zu viele Eingaben ohne , oder . als 1000er Trennzeichen zu mehrdeutig.
Kleiner Bug beim Reformatieren von Zahlen für die Zahlungsbedingungen.
Die Zahlungsbedingungen werden jetzt anhand der ausgewählten Sprache formatiert.
Die Zahlungskonditionen sortierbar gemacht.
Keine globalen Variablen benutzen. Außerdem die etwas hässliche if/else-Kaskadierung entfernt.
Private Variablen.
Auch bei den Variablen company, address und signature eventuell als \\n escapte Zeilenumbrüche wieder in echte Zeilenumbrüche umwandeln, damit die Template-Klasse sie richtig ausgibt.
Möglichkeit eingebaut, den Namen des Anhangs einer verschickten Mail anzugeben.
sub all_years hinzugefuegt. Gibt alle Jahreszahlen als List aus, in denen Buchungen stattgefunden haben.Sinnvoll für Datumsauswahl von Reports, es werden nur Jahre zur Auswahl gestellt,in denen tatsaechlich Buchungsdaten vorliegen
Beim Login wird jetzt ein Check durchgeführt, ob alle benötigten Perl-Module installiert sind. Wenn nicht, dann wird eine Fehlermeldung sowie eine Liste der fehlenden Module ausgegeben sowie grobe Informationen, wie man die fehlenden Module nachinstallieren kann.
Versionsnummer auf 2.4.1 erhöht.
parse_template erweitert um die Mgl. einen Dateinamen ($form->{attachment_filename}) fuerdas Attachmentfile anzugeben, der anders ist als $form->{tmpfile}
Skontobetraege wurden faelschlicherweise vom Nettobetrag berechnet
Ein oben angedocktes, auf CSS basierendes Menü hinzugefügt.
Falscher Namensraum: $form in $self umgewandelt in der Form.pm
Favicon inserted.