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.
Moritz Bunkus [Wed, 6 Jun 2007 13:21:39 +0000 (13:21 +0000)]
Ein Fehler an dieser Stelle ist nicht schlimm, da er auch dadurch zustande gekommen sein kann, dass die Tabelle 'schema_info' noch nicht existiert. Das passiert z.B., wenn man eine pre-2.4.0.0-Datenbank im Admin-Menü aktualisieren möchte.
Moritz Bunkus [Wed, 6 Jun 2007 07:59:07 +0000 (07:59 +0000)]
Einkaufsrechnungen:
1. Es wird wieder die Eingabezeile für den Lieferantennamen angezeigt, wenn mehr als das vom Benutzer eingestellte Listenlimit an Lieferanten vorhanden sind.
2. Überflüssigen Code entfernt.
Moritz Bunkus [Wed, 6 Jun 2007 07:53:27 +0000 (07:53 +0000)]
Verkaufsrechnungen:
1. Wenn ein nicht existierender Kundenname eingegeben wird, so wird wieder die richtige Fehlermeldung ausgegeben.
2. Wenn statt der Drop-Down-Box die Eingabezeile zur Auswahl des Kunden angezeigt wird, so wird die ID nicht mehr angehängt.
Beides Bugs, die in den letzten Wochen neu hinzukamen.
Moritz Bunkus [Wed, 6 Jun 2007 07:20:32 +0000 (07:20 +0000)]
1. Umstellung von der Verwendung von COPY-Statements auf normale INSERT-Statements. Grund ist, dass die dafür benötigten Befehle DBD::Pg::pg_putline() und pg_endcopy() nur in neueren Versionen von DBD::Pg existieren. Der Performancenachteil durch die Verwendung von INSERTs ist bei dieser geringen Datenmenge vernachlässigbar. Fix für Bug 668.
2. Die Funktion mydberror() muss definiert werden, wenn sie benutzt werden soll.
3. Kosmetik: Trailing whitespaces entfernt.
Moritz Bunkus [Tue, 5 Jun 2007 09:50:49 +0000 (09:50 +0000)]
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.