Variable $i in $trans umbenannt.
Kosmetik; Variablen lokal deklarieren.
Kosmetik
Eine Option "@ignore: 1" für Datenbankupgradescripte, mit denen das Script von Lx-Office ignoriert wird. Kann benutzt werden, um ein Script temporär zu deaktivieren, z.B. wenn man noch am Entwickeln ist.
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.
Bei Lieferanschrift-Drop-Down auch die Straße und den Ort anzeigen.
Fix für PostgreSQL 8.3, das eine strengere Typenprüfung als frühere Versionen besitzt. Fix für Bug 854.
COALESCE ist immer 0. Deswegen wurden in der Aufgabenliste jeder Eintrag als Preisanfrage und nicht als Angebot oder Preisanfrage dargestellt. Fix für Bug 844.
form_footer in ic.pl in Template ausgelagert.
Bericht über Lagerbewegungen: Wurde ein Filter nach Chargennummer verwendet, so wurde die Tabellenspalte chargenumber in der falschen Tabelle abgefragt, was zu einem SQL-Fehler geführt hat. Fix für Bug 841.
1. Tabellenaliasnamen in Queries benutzen, weil PostgreSQL ansonsten einen Fehler rauswirft.2. Wenn bei E/Ü-Rechnung ein Projekt ausgewählt ist, dann wurde vorher ein Teil des SQL-Codes nicht im eigentlichen Query untergebracht sondern in eine danach nicht mehr benutzte Variable geschrieben.
JavaScript-Menü: Der Schlüssel 'action' soll nicht als Parameter in den Link aufgenommen werden, nicht der Schlüssel, der durch den Schlüssel 'action' bestimmt wird. Dadurch wurde z.B. kein 'report=...' an die URL angehängt, wenn 'action=report' in der menu.ini stand.
Unterstützung von UTF-8 bei der UStVA-Konfiguration.
Falsche Reihenfolge der SQL-Parameter sorgten für Fehlermeldungen, wenn z.B. nach Betreff gesucht wurde.
Ausgabe einer ordentlichen Fehlermeldung beim Datenbankupgrade, wenn das Verzeichnis users nicht beschreibbar ist.
Bugfix beim Anlegen der Authentifizierungsdatenbank mit UTF-8. Anzeigen von Fehlermeldungen, wenn Lx-Office nicht mit UTF-8 sondern z.B. ISO-8859 konfiguriert ist und Datenbanken auf einem PostgreSQL angelegt werden sollen, das selber UTF-8 verwendet (weil das nicht geht). Forcieren von UTF-8 als Datenbankcharset auf PostgreSQL-Installationen, die mit UTF-8 als Charset angelegt wurden.
Query für die Artikelstammdaten: Falsches Joinen. Wenn die UNION aus invoice/orderitems mit ar/ap/oe gejoint wird, dann muss darauf geachtet werden, dass Zeilen aus invoice nur mit ar/ap und Zeilen aus orderitems nur mit oe gejoint wird. Grund ist, dass ar.id und ap.id den Zähler glid benutzen, während oe.id den Zähler id benutzt. Daraus resultierten Verbindungen mit Zeilen aus orderitems mit Zeilen aus ar/ap, sprich es wurden Rechnungen gefunden, in denen die Artikel gar nicht auftauchten.
Unsinniges doppeltes Durchsuchen von Tabellen.
Sortieren nach Vorgangsbezeichnung ermöglichen. Fix für Bug 749.
Update des DHTML-Tab-Scripts auf Version 2.2.
SQL-Fehler: Im Query die richtigen Tabellen-Aliase benutzen. Fix für Bug 812.
Spalte 'taxincluded' hat den Typ 'boolean' und nicht 'integer'. Fix für Bug 759.
Wir haben nun die erste Beta von Version 2.6.0.
Das Perl-Modul PDF::API2 ist nun feste Voraussetzung.
Das Javascript-Menü durch eine andere Implementation ersetzt, die auch unter dem Internet Explorer 7 funktioniert.
Benutzerdefinierte Variablen für Projekte implementiert.
Kosmetik.
Bei Druckvorschau einer Rechnung den Namen der herunterladbaren Datei nicht auf "is.pdf" belassen, sondern auf "Rechnung_(Druckvorschau).pdf" setzen.
Weitere Unterfunktionen tracen lassen.
Bei $form->parse_template() nur dann die ganzen Variablen employee_* überschreiben, wenn employee_id nicht gesetzt ist. In io.pl die ganzen employee_*-Variablen mit denen des ausgewählten Bearbeiters belegen und nicht mit denen des aktuellen Benutzers.
Die Signatur des Verkäufers ebenfalls als Variable <%salesman_signature%> zur Verfügung stellen.
1. Salesman-Daten wurden nicht in $form eingetragen, weil die User-Klasse nur noch einen Parameter erwartet.2. Kosmetik.
AJAX-Antworten nicht direkt $cgi->header() ausgeben, sondern über eine Funktion, die auch das Charset ausgibt.
JavaScript und Umlaute in UTF-8-Codierung funktioniert nicht mit der JavaScript-Funktion "encode()", deshalb "encodeURIComponent()" benutzen.
TODO-Liste: Preisanfragen und Angebote richtig anzeigen.
Beim Bearbeiten von Konten die Funktion "als neu speichern" hinzugefuegt, um ein Konto mit allen Einstelungen zu klonen
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.
Bei Wandlung von Angeboten/Preisanfragen in Aufträge erst beim Speichern der Aufträge das Angebot/die Preisanfrage schließen.
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.
Debugcode
Query nicht doppelt ausführen.
Email-Versand: Adressen beim Quoten nicht umbrechen.
Eingangsrechnungen: Wird das Rechnungsdatum verändert, so wird per AJAX das Fälligkeitsdatum anhand der beim Lieferanten hinterlegten Zahlungsbedingungen berechnet und im Formular ersetzt.
Berichte über Zahlungsein- und ausgänge auf und absteigend sortierbar gemacht.
Die Ausgabe der Zeile "\usepackage{textcomp}" darf nur erfolgen, wenn LaTeX-Vorlagen geparset werden, nicht bei anderen Vorlagen. Da die HTMLTemplate-Klasse von der LaTeXTemplate-Klasse abgeleitet ist, muss hier also in der Basisklasse der tatsächliche Klassentyp überprüft werden.
Buchungsjournal auf- und absteigend sortierbar gemacht.
ReportGenerator: Spaltentitel in der HTML-Ausgabe ausrichtbar gemacht (Attribut "align").
Wiedervorlagenbericht sortierbar gemacht.
Bericht über Mahnungen sortierbar gemacht.
Sortierung in Berichten über Kunden und Lieferanten auch auf- und absteigbar sortierbar gemacht.
Die Sortierung soll standardmäßig aufsteigend erfolgen.
Sortierung in Berichten über Ausgangsrechnungen/Debitorenbuchungen auch auf- und absteigbar sortierbar gemacht.
Sortierung in Berichten über Eingangsrechnungen/Kreditorenbuchungen auch auf- und absteigbar sortierbar gemacht.
Sortierung in Berichten über Lieferscheine auch auf- und absteigbar sortierbar gemacht.
Sortierung in Berichten über Angebote / Aufträge / Presianfragen auch auf- und absteigbar sortierbar gemacht.
Beim Verschicken von Emails müssen die Absender- und Empfängeradressen MIME-Encodiert werden.
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.
1. Variable umbenannt, in der die IDs aus OE zwischengespeichert werden, aus denen ein Lieferschein erzeugt wurde.2. Erweiterung von "RecordLinks->create_links()" um einen Modus, um die IDs aus einem String zu erhalten.3. Bug: Bei Umwandlung von Auftrag in Lieferschein Variable "delivered" leeren, weil ansonsten evtl der noch nicht gespeicherte Liferschein bereits als ausgelagert gilt.
Verknüpfungen zwischen Angeboten, Aufträgen, Lieferscheinen, Rechnungen in einer eigenen Tabelle speichern.
Kleiner Syntax-Highlighting-Fix für Emacs.
Beim Speichern bei "Nummernkreise und Standardkonten" auch die Nummern für Lieferscheine im Ein- und Verkauf speichern.
Fixes für die Situation, in der $dbcharset anders ist als das Charset der für den Benutzer ausgewählten Sprache: Die Datei "special_chars" in das $dbcharset konvertiert werden. Beim umgekehrten Auflösen der durch Button-Drücke ausgelösten Aktionen in Funktionsnamen muss von $dbcharset, das vom Browser kommt, in das Charset der vom Benutzer ausgewählten Sprache konvertiert werden, damit die Auflösung funktioniert.
HTML-Templates vor und nicht nach der Verarbeitung durch die Template-Klasse mit iconv in das $db_charset konvertieren. Andernfalls würden Daten, die bereits im $db_charset vorliegen, erneut konvertiert und damit falsch codiert sein.
Lagerbericht: Bei der Auswahl der Keys aus $form, die für die Auswahl der aus den Tabellen auszulesenden Spalten verwantwortlich sind, strenger sein. Der Key muss mit "l_" beginnen. Wird "l_" auch in der Mitte zugelassen, so schlägt dies fehl, wenn per ReportGenerator exportiert wird. Grund ist, dass diese Variablen auch nochmal mit dem Präfix "report_generator_hidden_*" in $form vorhanden sind. Dadurch würden Spalten selektiert, die es in der Datenbank nicht gibt.
Form::format_amount_units() darf auch ohne die Parameter amount und part_unit aufgerufen werden. Kein amount wird einfach als 0 gewertet, und wenn part_unit fehlt, so wird schlicht ein leerer String zurückgegeben. Macht Ausgaben wie den Lagerinhalt inkl. leerer Lagerplätze aus wh.pl einfacher.
Wenn UTF-8 als Datenbankcharset verwendet wird, so muss der ReportGenerator die an PDF::API2 übergebenen Strings als UTF-8 markieren (mit Perls Encode-Modul).
Konstanten aus anderen Packages müssen mit dem Package-Namen beginnen.
Beim Neuanlegen von Datenbanken darf die Datenbank schon existieren. Damit kann die Authentifizierungsdatenbank auch für die Instanzendaten benutzt werden. Fix für Bug 828.
Bei Aufträgen, Angeboten, Preisanfragen das Lieferdatum mit dem nächsten Werktag und nicht dem heutigen Datum vorbelegen.
Artikelstammdatendialog: Beim Auslesen der Übersetzungen auch die übersetzte Langbeschreibung mit auslesen.
Vermeiden, dass SQL-Fehlermeldungen angezeigt werden, wenn noch kein Kunde/Lieferant ausgewählt wurden.
Eingrenzung nach Datum bei offene Forderungen und Verbindlichkeiten
Im Kunden-/Lieferantenstammdatenbericht nicht nach Groß- und Kleinschreibung unterscheiden.
Sortierfunktion und Zwischensummen bei Kontenuebersichten eingebaut
------------------------------------------------------------------------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....
------------------------------------------------------------------------r7133 | mbunkus | 2008-06-20 10:19:46 +0200 (Fri, 20 Jun 2008) | 1 line
Verhindern, dass Lieferscheine mehrfach ein- bzw. ausgelagert werden.------------------------------------------------------------------------
Beim Speichern von Lieferscheinen wird überprüft, ob der dazugehörige Auftrag nun komplett geliefert wurde. Wenn ja, so wird der Auftrag sowohl als geliefert als auch als geschlossen markiert.
Parameter-Check-Funktionen Common::check_params() und Common::check_params_x() erweitert, um auch "oder"-Bedigungen zuzulassen, indem die Liste der erwarteten Parameter als Array-Referenz übergeben werden.
Erweiterung der Ausgabe in der Kontenuebersicht
Fehler bei Stichtagsbezogenen Auswertungen von offenen Posten
Anzeige der bereits gelieferten Menge in Aufträgen im Ein- und Verkauf.
parts_vendor gibt es in der unstable nicht.
Bug in Auflistung von Lieferscheinen: Gibt es mehrere Aufträge mit der gleichen Auftragsnummer, und wenn so eine Nummer bei einem Lieferschein eingetragen war, so wurden diese Lieferscheine gleich mehrfach aufgeführt. Die Links zu den Aufträgen führten dann zusätzlich möglicherweise zu den falschen Aufträgen (von Verkauf in Einkauf und umgekehrt). Falsche Form-Typen führen zu falschen Datenbankabfragen ("customer" vs "vendor"), sodass die Datenbankabfrage im Einkauf tatsächlich die Verkaufslieferscheine lieferte.
Das Zeilenlieferdatum bei Rechnungen wurde nicht gespeichert
Beim Ausdruck von Einkaufsbelegen den ausgewählten Ansprechpartner laden (Variable "contact" gibt es nicht mehr, nur noch "cp_id").
Sortieren nach Lieferantennummer erlauben.
Typo
Lange Wörter sind nur solche mit mehr als 60 Buchstaben, nicht 20 wie in der Standardeinstellung. Ansonsten werden bei vielen Wörtern / Emailadressen unschöne Leerzeichen erzeugt.
Kontenuebersicht und SuSa die Unterscheidung von EUR und Blianzierung beigebracht
Ueberarbeiteter Kontenbericht
ReportGenerator: Unterstützung für das Verbinden von Tabellenzellen mit dem "colspan"-Attribut in der PDF-Ausgabe.
Überflüssige Variable entfernt.
ReportGenerator: Unterstützung für das Verbinden von Zellen mittels "colspan" für HTML- und CSV-Ausgabe.