Durch das Setzen eines entsprechendenden DOCTYPEs für alle Seiten schaltet der Internet Explorer 7 in den "standards mode", in dem er auch das CSS-Menü richtig darstellt.
Kosmetik: Einrückung mit zwei Leerzeichen.
Deutliche Beschleunigung der USTVA-Berechnung durch Einschränkung der betrachteten Datensätze aus acc_trans.
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.
Fehler beim Laden von Buchungen, wenn Konto nicht mit einer Steuer verknüpft ist
1. Fieser Bug der in format_amount auftritt, wenn eine sehr kleine Zahl in Exponentialschreibweise uebergebenwird wie bspw. 1.13686837721616e-13. BITTE UNBEDINGT PRUEFEN, TESTEN UND VERBESSERN.Siehe auch Forenbeitrag: http://lx-office.org/forum/forum_entry.php?id=5315...
Bug 760: Mahnungen drucken: Kunden Kontakt eingefügt. Betr. Tabelle: contacts, Templatevariablen cp_*
Quoten von allen in regulären Ausdrücken verwendeten Variablen, die direkt oder indirekt von Benutzereingaben stammen können. Fix für Bug 302.
Verkauf->Berichte: Auftrag und Angebot Suche nach Salesman implementiert.
Eine Funktion zur Überprüfung der Existens von Funktionsparametern hinzugefügt, wenn diese als Hash übergeben werden.
Das Modul "Data::Dumper" hat die Eigenheit, dass es den Iterator von gedumpten Hashes nicht zurücksetzt bzw. ihn nicht bis zum Ende ausliest, wenn "Sortkeys" wahr ist. Das hat zur Folge, dass der folgende Aufrufe von "each" für dieses Hash sofort beendet wird. Also muss der Iterator manuell zurückgesetzt werden. Siehe auch die Diskussion in "perldoc -f each".
Vor dem Aufruf von Funktionen auf der Instanz $self muss $self ge-blesst werden.
Die Option zum Setzen des Tag-Stils etwas verallgemeinert und dokumentiert.
Debugcode entfernt.
Beim Parsen von text-basierten Vorlagen (HTML, LaTeX) kann jetzt in der ersten Zeile das Format der Tags bestimmt werden. Dazu wird etwas wie "((set-tag-style))" benutzt. Die Nicht-Leerzeichen links und rechts vom Wort "set-tag-style" bestimmen, wie ein von Lx-Office zu parsendes Tag beginnt und wie es endet.
Sonderzeichen hochgestellte 2 und 3 für LaTeX escapen.
Fehlendes "return".
$locale->text() so erweitert, dass weitere Argumente direkt an Form::format_string() übergeben werden. Damit muss man nicht mehr $form->format_string($locale->text("#1 and #2"), $arg1, $arg2) schreiben, sondern kann direkt $locale->text("#1 and #2", $arg1, $arg2) schreiben.
Wenn das Parsen eines Templates fehlschlägt, dann die dazugehörige Fehlermeldung auf STDERR ausgeben, damit sie analysiert werden kann.
Eine Funktion zur Formatierung von Strings, die Vorkommen von "#n" durch das n-te Argument ersetzt. Zur Benutzung mit $locale->text(), sodass die Reihenfolge von Parametern in Übersetzungen verändert werden kann.
Bei den Entwürfen nicht die Variable "stylesheet" speichern.
Die Tabellenspalte "v_customer_id" ist eine Text- und keine Integer-Spalte. Fix für Bug 733.
Falsche Variable.
SQL-Fehler "description is ambiguous"
Einheitliche Benennung der Margen-Formular-Variablen analog zu den Namen der Spalten in der Datenbank.
Bei Gutschriften wurde der Lagerbestand falsch aktualisiert
Fehler beim Erstellen von Rechnungen fuer Gebuehren und Zinsen
Bei Lieferanten wurden nicht alle Daten der Ansprechpartner gespeichert
Wenn bei Kundenberichten Rechnungen etc ausgewaehlt waren, wurden nicht genug Variablen insQuery gesteckt
1. Klammer-Fehler im SQL-Query. Fix für Bug 727.2. BWA: Steuern müssen vom Gesamtergebnis abgezogen und nicht hinzugezählt werden. Fix für Bug 728.
Preisfatkoren implementiert.
Kosmetik: trailing whitespace entfernt.
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....
Kosmetik/Vereinfachung
Kosmetikmerge aus Revisionen 5187, 5191, 5193, 5194, 5218, 5219, 5222, 5228, 5229
Kosmetik.
Group_BY muss conditional sein
Kosmetikmerge aus r5130
Ein fehlender Platzhalter beim Speichern von neuen Mahnungsleveln.
Bugfix: Warengruppe => sql fehler
Kosmetik, merge aus -r5105,5106,5118,5120,5124
Die Variable $form->{error_function} konnte dazu benutzt werden, die Authentifizierung komplett zu umgehen, indem sie z.B. auf header gesetzt und der HTTP_USER_AGENT vom Client leer gelassen wird. Analog zum SQL-Ledger-Problem, das in CVE-2007-1437 beschrieben wird.
Neues Warenberichte Backend.
Von Grund auf neu geschrieben, unter Beruecksichtigung der folgenden Grundsaetze:+ ein Query fuer alles+ Query wird aus Tokens gebaut -> weniger anfaellig fuer SQL Fehler+ Kombinationen die vorher nicht erlaubt waren und per Blacklist gefiltert wurden produzieren jetzt ein Ergebnis, dass in vielen Faellen sogar interpretiert werden kann....
Storno Bugfix. paid wurde unter bestimmten Bedingungen nicht richtig gesetzt.
subtotal ist eine Boolean-Spalte; ältere DBI-Versionen mögen's nicht, wenn man ihnen dort Integer unterschiebt.
Generischer USTVA Report für alle Kontenrahmen ausser Germany
pos_ustva ist vom Typ Text, nicht Integer
Fehler in der Datenbankabfrage fuer Lieferungen bei Kundenstammdaten, Ansicht erweitert umVerkaufspreis
Diverse Bugs im Zusammenhang mit Steuerautomatiken, mit chart_id=0 oder mit rate=0.Beides sollte jedoch moeglich sein fuer Konten wie 'steuerfrei'.
Zahlungskonditionen: Zahlenwerte auf zwei Stellen gerundet ausgeben.
Zahlungskonditionen:1. Neue Variablen <%invtotal_wo_skonto%> und <%total_wo_skonto%> hinzugefügt, die die Belegsumme bzw. die noch offene Summe abzüglich des Skontobetrags beinhalten.2. Die Variablen <%total%> und <%invtotal%> waren nur bei Rechnungen gefüllt, nicht aber bei Angeboten und Aufträgen.
Umstellung der Kontenübersicht auf die Verwendung von "Template".
Umstellung der Steuerbearbeitungsfunktion auf das "Template"-Modul.
Steuern: Anzeige und Eingabe des Steuersatzes mit formatierten Zahlen. Auch Nachkommastellen bei Steuern zulassen. Kosmetik.
Korrekturen zu r2737: Speichern von Steuern funktionierte nicht, taxnumber mitspeichern, Layout Titel
Neues Modul 'Steuern Bearbeiten'. Mit diesem Modul ist es moeglich, die Eintraege der Tabelle tax, bzw. _tax anpassen zu koennen.
Form::redirect muss auch Zahlen in Scriptnamen zulassen, weil ansonsten z.B. menuv3.pl nicht ausgeführt wird.
Aus Debuggründen war's noch auskommentiert.
Beim Versenden per Email eine anständige Überschrift anzeigen und nicht "email oe".
Beim Versenden von Emails wird der Text etc wieder in intnotes gespeichert. Fix für Bug 713.
Verhindern, dass durch Manipulation von $form->{callback} beliebiger Code ausgeführt werden kann.
Pfadkomponenten entfernen, bevor exec aufgerufen wird, damit nicht beliebige Perlscripte ausgeführt werden können.
Ganz böse Verwechselung mit 't' und 'f' bzw. '1' und '0', die zur Verwechslung von Angeboten und Aufträgen geführt hat. Kam aus rev 2698.
Das nächste Release ist 2.4.3.
Webdav: Die Links werden nicht mehr wortwörtlich angezeigt, sondern der Typ (Datei oder Verzeichnis) wird ausgegeben und als Link hinterlegt.
Webdav: Wenn eine Pfadkomponente Leerzeichen enthielt (z.B. "Storno zu ..."), dann wurden komplett falsche Links erzeugt.
$form->get_standard_dbh() benutzen für verbesserte Geschwindigkeit
Bei Einkaufsrechnungen muss das Rechnungsdatum als Anhaltspunkt für die zu verwendenden Steuerschlüssel und -sätze benutzt werden. Fix für Bug 710.
Verkaufsrechnungen: Beim Stornieren den absoluten Ertrag negativ speichern.
Rechnungsliste: Unterscheidung zwischen Stornorechnung und stornierter Rechnung wieder gefixt.
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.
Bei boolean-Spalten lieber 't' und 'f' als 1 und 0 übergeben, weil wohl einige DBD::Pg-Versionen damit Probleme haben. Außerdem einige Integerwerte mit 0 initialisieren. Hoffentlich ein Bugfix für 703.
Umwandlung von Angebot nach Auftrag hat nach Fehler verursacht, da gleiches Modul
Bei der Umwandlung eines Auftrags in eine Rechnung wurde die individuelle Lieferadresse nichtgespeichert
Mahnungen: Die Konfiguration so umgestellt, dass jetzt nicht mehr global entschieden wird, ob automatisch Rechnungen für die Mahngebühren und Zinsen erzeugt werden, sondern pro Mahnlevel. Die Dokumentation um die von Lx-Office erzeugten Namen für die Mahnungsvorlagen (auch für die Rechnung) erweitert.
update_business und update_defaults: Bei sehr langen Zahlenkomponenten wurden die erzeugten Nummern leider auf -0000000...001 gesetzt. Grund ist, dass der Formatierer '%d' für sprintf auf 32bit-Systemen nun mal nur mit 32bit-Zahlen umgehen kann. Geriet die Zahlenkomponente größer als 2147483647, so erhielt man einen Überlauf.
Bei Template-Vorlagen per Default nicht vorne und hinten die Zeilen bereinigen -- ist zum Debuggen einfacher.
ReportGenerator: Man kann jetzt die Standardanordnung (align) in den Spalten angegeben werden.
Mehr perldoc
ReportGenerator: Wenn keine Datensätze hinzugefügt wurden, dann wird eine entsprechende Meldung anstelle der Spaltenüberschriften ausgegeben. Die Export-Buttons werden in diesem Fall ebenfalls nicht angezeigt.
Kosmetik
Waren-/Dienstleistungs-/Erzeugnisberichte auf die Verwendung von ReportGenerator umgestellt.
Wenn ein Hash namens %main::debug_options existiert, dann werden all seine Variablen 'key' in HTML-Vorlagen als DEBUG_KEY zur Verfügung gestellt. Wird bisher nur bei Mahnungsvorlagen benutzt. Und ist nur für Entwickler gedacht.
Debugmeldung entfernt
Beim Drucken von Mahnungen stand die Kundennummer nicht zur Verfuegung
Kunden- und Liferantenstammdatenliste auf die Verwendung von ReportGenerator umgestellt.
Mahnungen: Neuer Variable für jede Rechnung: <%dn_linetotal%> als für diese Rechnung zu zahlender Betrag (offener Betrag zuzüglich Mahngebühren und Zinsen).
Einführung des Modules "Template" als schnellere Alternative (Faktor 9) zu "HTML::Template". Wird via $form->parse_html_template2() aufgerufen. Umstellung der von ReportGenerator verwendeten Vorlage auf die Verwendung von "Template".
Erweiterung um Anzeige des Ertrages im Verkauf
Buchungsliste:1. $form->{sort} nicht ohne Überprüfung in einem SQL-Query benutzen.2. Nur dann mehrere Zeilen zusammenfassen, wenn auch ihre ID übereinstimmen (was vermutlich nie der Fall sein wird, aber anders ist es schlicht falsch, weil dann Buchungen zusammengefasst werden können, die zu unterschiedlichen Belegen gehören).
ReportGenerator: Möglichkeit zum Einfügen einer "leeren" Zeile, die die ganze Tabellenbreite einnimmt.
ReportGenerator: Die Spaltendatenfelder 'data' und 'link' können jetzt auch Array-Referenzen sein, die in der Zelle zeilenweise ausgegeben werden.
Konvertierung von lokalisierten HTML-Seiten in den als $dbcharset angegebenen Zeichensatz.
ReportGenerator: Unix-Zeilenenden als Standard aktiviert. Grund ist, dass Excel nicht damit zurecht kommt, wenn Zelleninhalte mit \r\n umgebrochen werden, wohl aber, wenn die ganze Datei nur mit Unix-Zeilenenden formatiert ist.
Beim CSV-Export Zeilenumbrüche in Zellendaten durch das ausgewählte Format ersetzen.
Durch das Verschieben der Headerausgabe beim PDF-Export wurde der Name des Attachments nicht richtig gesetzt (jeweils nur '.pdf'). Fix für Bug 681.
Stornierte Rechnnung muss auf storno = true haben
Stornomechanismus mal auf Dialogbuchen ausgeweitet
storno fix: acc_trans query muessen nach oid sortieren