Moritz Bunkus [Wed, 20 Jun 2007 07:41:10 +0000 (07:41 +0000)]
1. Das Label "Formel" bei Dienstleistungen nicht anzeigen (die Textarea dazu wurde bereits versteckt). Fix für Bug 684.
2. Kosmetik: Variable $formel nach $formula umbenannt und etwas Einrückung.
Moritz Bunkus [Tue, 19 Jun 2007 12:17:19 +0000 (12:17 +0000)]
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).
Moritz Bunkus [Tue, 19 Jun 2007 11:25:35 +0000 (11:25 +0000)]
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".
Moritz Bunkus [Mon, 18 Jun 2007 14:47:05 +0000 (14:47 +0000)]
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).
Moritz Bunkus [Fri, 15 Jun 2007 11:17:25 +0000 (11:17 +0000)]
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.
Moritz Bunkus [Fri, 15 Jun 2007 09:47:04 +0000 (09:47 +0000)]
Der ReportGenerator macht selber ein Quoting der HTML-Zeichen, um Zeilenumbrüche bei den Zellendaten behandeln zu können. Deswegen muss es HTML::Template nicht mehr tun.
Moritz Bunkus [Thu, 14 Jun 2007 15:33:44 +0000 (15:33 +0000)]
1. $form->{title} wird nicht mehr zwangsweise umgeschrieben und nach $form->header() wiederhergestellt.
2. Kosmetik: lokale Variable $form anstelle von $self->{form}.
Moritz Bunkus [Thu, 14 Jun 2007 14:16:04 +0000 (14:16 +0000)]
Paket 'List::Util' wird nun benutzt (sollte aber eh zu jeder Standard-Perl-Installation gehören). Die Teile der URLs entfernt, die spezifische Versionsnummern der Pakete enthalten.
Sven Schöling [Thu, 14 Jun 2007 13:17:34 +0000 (13:17 +0000)]
Zahlungseingang:
Das Buchungskonto wird nicht benutzt, und wird deshalb nicht mehr angezeigt.
Die Backendfunktion holt sich das benoetigte Konto sowieso aus den Rechnungen.
Ausserdem ein Bugfix:
currency ist bei alten Rechnungen auf '' gesetzt, bei neuen auf NULL (nach sql-injection fix)
also muss die Backend-Funktion zum auslesen beide Varianten beruecksichtigen
Sven Schöling [Thu, 14 Jun 2007 12:12:19 +0000 (12:12 +0000)]
Debugmodi umgeschrieben auf das viel schoenere shiftingformat.
Neuer Debugmodus "DEVEL", der genau das enthaelt was man ueblicherweise zum debuggen braucht,
ohne den overhead von ALL.
Moritz Bunkus [Thu, 14 Jun 2007 11:25:55 +0000 (11:25 +0000)]
Reportgenerator: Die Funktionen in report_generator.pl umbenannt und den Mechanismus geändert, wie sie aus den von ReportGenerator erzeugten HTML-Seiten heraus aufgerufen werden können. Zusätzlich einen 'Zurück'-Button auf jeder der beiden Exportoptionenwebseiten eingebaut, mit denen man zur HTML-Liste zurückgelangt.
Moritz Bunkus [Wed, 13 Jun 2007 13:38:38 +0000 (13:38 +0000)]
Reportgenerator: Man kann jetzt auch Trennzeilen einfügen, die in der HTML-Ausgabe als horizontale Linie über die gesamte Tabellenbreite realisiert sind.
Moritz Bunkus [Wed, 13 Jun 2007 11:26:01 +0000 (11:26 +0000)]
Berichtsklasse:
1. Commit der vorher vergessenen HTML-Templates für die Berichte und die Exportoptionen.
2. HTML-Berichte: Zeilenumbrüche mit "\n" werden in "<br>" umgewandelt.
3. CSV-Export: Richtiger MIME-Type; Download der Datei forcieren; Option für die Spaltenüberschriften gefixt.
Moritz Bunkus [Wed, 13 Jun 2007 09:52:05 +0000 (09:52 +0000)]
Eine Report-Klasse geschrieben, der die Ergebnisse von Datenbankabfragen übergeben werden. Diese Klasse kann daraus dann entweder die bekannten Listenansichten oder auch CSV- und PDF-Exporte erzeugen. Dazu werden entsprechende Buttons eingeblendet.
Dazu werden einige neue Perl-Module (Text::CSV_XS und IO::Wrap) sowie zwei weitere Hilfsprogramme (html2ps und Ghostscript) benötigt, deren Pfade über die lx-erp.conf eingestellt werden müssen.
Moritz Bunkus [Tue, 12 Jun 2007 13:17:36 +0000 (13:17 +0000)]
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.
Moritz Bunkus [Tue, 12 Jun 2007 12:20:59 +0000 (12:20 +0000)]
Kundenauftrag/Lieferantenbestellung: Wenn alle Positionen vollständig geliefert wurden (also in allen Positionen der Lagerein-/-ausgang == Anzahl ist), so wird beim Speichern das Flag "Gelifert" automatisch gesetzt.
Moritz Bunkus [Tue, 12 Jun 2007 11:34:55 +0000 (11:34 +0000)]
Kunden-/Lieferantenstammdaten: Beim Ansprechpartner steht in der Drop-Down-Box oben 'Neuer Ansprechpartner' anstelle eines leeren Eintrages, damit der Benutzer besser weiß, was hier passiert.
Moritz Bunkus [Mon, 11 Jun 2007 09:30:57 +0000 (09:30 +0000)]
Bei der Ausgabe der Druckvorschau auf einem Drucker darf die Zeilenanzahl nicht erhöht werden, weil ansonsten Leerposten entstehen und beim nachfolgenden Buchen eine Fehlermeldung erscheint.
Moritz Bunkus [Mon, 11 Jun 2007 08:35:36 +0000 (08:35 +0000)]
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.
Sven Schöling [Thu, 7 Jun 2007 15:56:51 +0000 (15:56 +0000)]
ic.pl auf use strict umgeschrieben (experimentell)
ic.pl generate_reports konsistenzchecks umgeschirben, und kommentiert, wird im weiteren mit verbesserter datenbanklogik
verwendet.
SL/IC.pm: kosmetik
Moritz Bunkus [Wed, 6 Jun 2007 15:19:58 +0000 (15:19 +0000)]
Beim Verschicken von Belegen per Email darf das Vorlagenkürzel eines eventuell eingestellten Druckers nicht an den Dateinamen der Vorlage angehängt werden.
Moritz Bunkus [Wed, 6 Jun 2007 14:16:20 +0000 (14:16 +0000)]
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.
Moritz Bunkus [Wed, 6 Jun 2007 13:45:19 +0000 (13:45 +0000)]
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.
Zusätzlich den Button "Storno" in der Buttonleiste weiter nach rechts verschoben, sodass wie überall der "Erneuern"-Button der Standardbutton ist.