Moritz Bunkus [Wed, 2 Nov 2011 15:34:05 +0000 (16:34 +0100)]
Exceptions beim Speicher/Löschen von SL::DB-Objekten hochbubblen lassen
Die R::DB::O::transaction()-Funktion clobbert Exceptions
irgendwie. Deshalb diese erneut werfen, sofern sie beim Speichern
auftreten, und nicht nur einen Fehler zurückliefern.
Jan Büren [Thu, 27 Oct 2011 12:16:43 +0000 (14:16 +0200)]
> sobald ich jetzt eine neue Ware oder Erzeugnis anlege, und dann bei
> Bericht Kunde anhake, bekomme ich folgende Fehlermeldung:
>
> Can't call method "name" on an undefined value at SL/CVar.pm line 574.
Ahjo, hab den Fehler. Tausch mal bitte die Zeile 578 durch diese hier aus:
Jan Büren [Mon, 17 Oct 2011 11:40:03 +0000 (13:40 +0200)]
Stammdaten -> Berichte -> Kunden mit Kundentyp.
Die anschließende Sortierung nach Kundentyp liefert eine Fehlermeldung, da ein 'order by lower(business)' eine SQL-Fehlermeldung wirft (ct.business_id AS business).
Entsprechend die Abfrage erweitert, sodass ein 'order by business' analog wie bei quonumber etc passiert.
Sven Schöling [Mon, 17 Oct 2011 08:32:37 +0000 (10:32 +0200)]
besseres id inferring in multibox
Hintergrund: html id Attribute dürfen nach Standard nicht mit Zahlen anfangen.
Multibox kann übergebe ids nehmen, kann die aber nicht von der globalen
form->{id} unterscheiden. Nun Trick: Nur die id nehmen, wenn sie nicht mit
numish ist.
Sven Schöling [Mon, 17 Oct 2011 08:23:44 +0000 (10:23 +0200)]
button_tag nicht als input_tag implementieren
Hintergrund: button tags brauchen im standard kein id oder name Attribut, input
tags aber schon. Die input_tag Implementierung forciert korrekterweise id und
name, so dass die leer sind, wenn ein button_tag ohne geschrieben wird.
Sven Schöling [Fri, 14 Oct 2011 11:53:35 +0000 (13:53 +0200)]
$::cgi entfernt.
Verfahren:
- Für alle Vorkommen von "my $cgi = $::cgi;":
ersetzt durch my $cgi = $::request->{cgi}->new({}) ersetzt
- Wenn in einer Datei alle my $cgi rausgefallen sind auch use CGI entfernt.
- Initialisierung von $::cgi in scripts und Dispatcher entfernt und in dei
Initialisierung von $::request eingebaut.
- cgi aus der Liste der kanonischen globals genommen.
Zu CGI:
- CGI::func und CGI->func sind beides valide Werte, sind aber intern buggy wie
Hölle. CGI:: erzeugt ein Dummyobjekt mit CGI->new, und klobbert damit
cookies. CGI-> ist noch schlimmer und ruft ${CGI}->{.cookies} auf.
- CGI->new({}) ist schneller als CGI->new(''), deshalb habe ich diese version genommen.
Auf meinem Rechner schafft die erste Version etwa 32k/s, die zweite 28k/s.
- CGI kompiliert benötigte Funktionen beim ersten Aufruf über AUTOLOAD.
- cookie benötigen ein $cgi Objekt.
Jan hatte das ja schon angepasst, daß man die offenen Rechnungen nach einer
Altersstrukturliste filtern kann. Die Ergebnisse stimmten auch, aber wenn man
dann das Ergebnis drucken wollte fehlten die Zahlen.
Die Sammelrechnung soll wohl als Kundenkonto fungieren, damit man dem Kunden
eine Übersicht aller noch offenen Rechnungen schicken kann, mit Übersicht der
Überfälligkeit. Die Druckvorlage ist statement.tex, bzw. statement.html. Bisher
wurden aber nie die Beträge der Rechnungen angezeigt, das funktioniert jetzt
wieder.
* bei der Datenbankabfrage wird für jede Rechnung die Anzahl der Tage über dem
Fälligkeitsdatum (Today - duedate) für jede offene Rechnung berechnet
* der noch offene Betrag wird je nach Anzahl der überfälligen Tage der Rechnung
zur Kategorie c0, c30, c60 oder c90 hinzugefügt
Die angegebenen Zahlen sind die noch offenen Teile der Rechnung, es steht aber
auch die Gesamtsumme der Rechnung unter der Variablen <%amount%> in der
Druckvorlage zur Verfügung (siehe doc/dokumentenvorlagen-und-variablen.html)
Rechnungen, deren Fälligkeit noch nicht erreicht ist, tauchen ebenfalls in der
c0-Gruppe auf.
Nicht mit Währungsumrechnung getestet.
Im Lx-Office Buch steht zu Sammelrechnung, daß beim Drucken nur Rechnungen für
den ersten Kunden angezeigt werden, aber alle Sammelrechnungen an den
konfigurierten Drucker geschickt werden, ich bin mir nicht sicher, ob das
stimmt. Es gibt ja den Knopf "Alle Auswählen", aber bei E-Mail kann auch nur an
den ersten versendet werden.
Jan Büren [Wed, 12 Oct 2011 15:03:07 +0000 (17:03 +0200)]
Nachschlag zu commit: 066fbb38fb409c5801b70fc7d43f4e9190d295ff Entsprechend schon beim ersten Speichern des Artikels die ausgewählte Einheit schreiben und kein leeres Textfeld.
Bernd Blessmann [Wed, 12 Oct 2011 13:48:33 +0000 (15:48 +0200)]
Leerzeichen am Ende bei curr(ency) entfernen.
In der Datenbank werden f. Währungen drei Zeichen gespeichert. Eine
Währung mit zwei Zeichen hat dann ein Leerzeichen am Ende und der
Vergleich in den Maske schlägt fehl, wenn es dort bleibt.
Jan Büren [Wed, 12 Oct 2011 12:42:49 +0000 (14:42 +0200)]
Kosten- und Erfolgstellen zu unterscheiden macht(e) mittlerweile keinen Sinn mehr, da man ja entsprechend Kosten als Erfolg auf eine Kostenstelle buchen möchte. Ferner wird auch die Auswahlliste schon länger nicht mehr unterschieden.
Entsprechend die letzten Rudimente in der Form.pm entfernt und das Datenmodell für Rose angepasst, sowie natürlich die Tabelle