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.
Kontennamenupdate: Falsche WHERE-Klausel.
Einige Korrekturen zu Kontennamen in den zwei deutschen Kontenrahmen.
Webdav-Feature: Pfadtrennzeichen aus den Nummern (Angebotsnummer, Rechnungsnummer etc) entfernen.
In der Kürze liegt die Würze.
Datenbankadministration: Es fehlte ein Button, um von der Datenbanksicherung per Download zurückzukommen. Fix für Bug 675.
Eingangsrechnungen: Wirklich das Datum der zuletzt erstellten Rechnung benutzen, nicht das maximale Datum.
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.
Zur Überwachung von $form-Variablen können jetzt mehrere gleichzeitig ein- oder ausgeschaltet werden. Syntax: $form->{"Watchdog::var1,var2,var3"} = 1;
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.
"Maschine" schreibt sich ohne "ie".
Kunden-/Lieferantenstammdatensuche: Fokus initial auf das Feld "Firmenname" setzen.
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.
Der letzte Einkauspreis wurde nicht geladen und daher auch keine MArgenberechnung
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.
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.
Erzeugen von Mahnungen: Einen kleinen Erklärungstext eingefügt.
Beim Buchen von Einkaufsrechnungen wurde die defaultcurrency nicht geladen
lokalisierungen besser gemacht
Noch ein paar Fehler bei Zahlungseingaengen im Zusammenhang mit den Wechselkursen
Setzen des Stornoflags auf "0" anstelle von NULL.
Weitere Feinheiten zum Patch "Verkaeufer und Bearbeiter wurden beim Umwandeln nicht uebernommen"
Probleme mit mehreren Währungen und Wechselkursen behoben.
"Als bezahlt markieren" Button-Funktion in die common.pl verlegt.
Stornobutton ist als erster Button vielleicht nicht so sinnvoll, deshalb muss er dem Erneuernbutton Platz machen
neuen button und Funktion für "als bezahlt markieren" eingeführt.
Vergessener Lauf von locales.pl nach Commit 2562.
Buchungen wurden nicht korrekt angezeigt, wenn gleiche Referenz aber unterschiedlicheBeschreibung
Der benannte Parameter $copy_accnos wird ansonsten nicht verwendet.
ic.pl auf use strict umgeschrieben (experimentell)ic.pl generate_reports konsistenzchecks umgeschirben, und kommentiert, wird im weiteren mit verbesserter datenbanklogikverwendet.SL/IC.pm: kosmetik
Uebernahme auch bei Einkaufsrechnungen
Verkaeufer und Bearbeiter wurden beim Umwandeln nicht uebernommen
Beim Verschicken von Belegen per Email darf das Vorlagenkürzel eines eventuell eingestellten Druckers nicht an den Dateinamen der Vorlage angehängt werden.
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.
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....
Die neu hinzuzufügenden Zeilen einer Mahnkonfiguration benötigen einen gesetzten Parameter für das Mahnlevel. Fix für Bug 670.
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.
locale-Update zu Commits 2548 und 2549.
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.
Mehrere Fehler in der Kontenuebersicht behoben
Überflüssigen Code entfernt.
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....
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....
Die Funktion mydberror muss auch existieren, wenn sie aufgerufen werden soll.
Bei Artikelsuche Groß-/Kleinschreibung ignorieren.
Nur die Lieferanten und Händler zurückliefern, die nicht 'ungültig' markiert sind.
Spalte taxzone_id darf nicht NULL sein.
Spalte "ordnumber" oder "quonumber" muss eindeutig sein.
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.
Copy & Paste-Fehler
Auch bei undefinierten Wechselkursen 1 zurueckliefern, Workaround fuer Wechselkursproblem
Debug-Code entfernt.
Copy&Paste-Fehler.
Die Funktion "Zahlung buchen" bei Ausgangsrechnungen 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 IS->post_transaction() selber die Zahlungen eintragen.
Bei Eingangs-, Ausgangs-, Kreditoren- und Debitorenrechnungen unterhalb der Zahlungsein- bzw. -ausgänge die bisher gebuchte Summe und den noch offenen Betrag anzeigen.
Revision 2532 rückgängig gemacht (Befehl aus falschem Verzeichnis abgeschickt)
Merge der Änderungen zwischen https://ls-bs-si1.bs.linet-services.de/svn/prog/vendor/lxoffice-erp/2.4.2 und https://ls-bs-si1.bs.linet-services.de/svn/prog/vendor/lxoffice-erp/unstable-rev-2530
Die Variable "path" gibt es nicht mehr.
Verkaufsrechnung: Die Drop-Down-Box für den Bearbeiter heißt nun employee_id (wie auch in oe.pl) und wird richtig befüllt und vorausgewählt.
Wechselkurse dürfen nicht 0 sein.
Debugmeldungen entfernt
Die Funktion "Zahlung buchen" bei Eingangsrechnungen 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 IR->post_transaction() selber die Zahlungen eintragen.
Kosmetik.
Wenn der Benutzer Leerzeichen am Ende will, dann diese nicht entfernen.
Anzeige der Kontenausgabe angepasst. Daten werden, je nach Sortierung, gruppiert.
Überarbeitung der Ausgabe der Kontenansichten. Alle Buchungen - bis auf stornierte - werden gruppiert (je nach Sortierung) angezeigt.
Codevereinfachung
Eine Funktion zum tabellarischen Ausgeben von SQL-Ergebnissen (erwartet eine Referenz auf ein Array mit Hashreferenzen) hinzugefügt.
Die Ausgabe von Data::Dumper sortieren lassen, damit sie besser durchsuchbar ist.
Funktion zum Dumpen von Objekten via YAML hinzugefügt. Ist manchmal besser lesbar als die Ausgabe von Data::Dumper;
Fehlender Lauf von locales.pl nach einem der letzten Commits.
Tausender-Trennzeichen werden nicht mehr überprüft.
Letzten Commit rückgängig gemacht: die Unterverzeichnisse sind sehr wohl im Repository.
Unterverzeichnisse von webdav sollten nicht im Repository gespeichert und können deshalbe ignoriert werden.
Kosmetik
Beim Laden von Entwürfen nicht restore_form() benutzen, weil restore_form() erwartet, dass der übergebene String wie von save_form() escapet wurde (Zeilenumbrüche und "!" werden umcodiert). Das ist aber bei Entwürfen nicht der Fall, weil die Ausgabe von YAML::Dump() direkt in der Datenbank gespeichert wird.
Rückwärtskompatibilität mit in der Datenbank gespeicherten Entwürfen, bei denen noch '!!' zum Escapen benutzt wurde.
Fehlendes Zeichen.
Überflüssiger Code.
Mahnwesen:1. Beim Erzeugen einer Mahnung wurde die Anzahl Kopien nicht berücksichtigt.2. Wurden die erzeugten Mahnungen direkt gedruckt, so wird nun eine entsprechende Meldung und nicht erneut die Mahnliste angezeigt.
Beim Emailversand von Mahnungen wurden die falschen Dateinamen benutzt, sodass die angehängten PDFs leer waren.
Aus Debuggründen war $dbh->commit() auskommentiert, sodass Änderungen bei den Mahnungen nicht dauerhaft waren.
Mahnwesen:1. Neues Feature: Automatisches Erzeugen von Debitorenrechnungen über die Mahngebühren und -zinsen. Diese werden ebenfalls als PDFs ausgegeben.2. Neues Feature: Beim Bericht über aktive Mahnungen ermöglichen, dass mehrere Mahnungen und die eventuell dazu erstellen Debitorenrechnungen auf einmal ausgedruckt werden können....
Minimale Erweiterung um PlainTextTemplate, um Variablen in Strings leicht ersetzen zu können.
Das Escapen von Ausrufezeichen darf nicht durch zwei Ausrufezeichen geschehen, weil die Rückwandlung sonst eventuell falsch verläuft.Beispiel:abc!nop -> abc!!nop -> abc!\nop
Import der aktuellen Version des YAML-Moduls 0.62 in Lx-Office. Unsere eigene Version wird der im System installierten bevorzugt. Grund sind Bugs in älteren Versionen, die sich nicht anders umgehen lassen.Beispiel eines Bugs in Version 0.3x: YAML::Load(YAML::Dump('>test.pdf'));
Fix zu Bug 662.post wurde von storno mitverwendet, das abschliessende redirect schlug bei geaendertem programmverlauf fehl
Kosmetik: Eine überflüssige Zeile entfernt; Einrückung.
Beim Speichern von Angeboten etc den Bearbeiter nicht aus $form->{employee} ableiten, weil die Drop-Down-Box jetzt $form->{employee_id} heißt.
Diverse Listen nach Namen sortieren. Fix für Bug 661.
Das Filtern von Angebots-/Auftrags-/Anfragenberichten nach dem Bearbeiter ermöglicht.
Es ermöglichen, dass bei den Berichtsfunktionen nicht nach Bearbeitern gefiltert wird.
Das Label für die Kunden-/Lieferantencheckbox richtig ausgeben.
Zerschossenes Layout durch Verwendung der gleichen Variablen für unterschiedliche Dinge behoben.
Bug: Bind Variable wurde mitgegeben, aber nicht verwendet
Admin Passwort muss mit uebergeben werden.
Datenbankpasswort muss uebergeben werden.
Storno fuer Kreditorenbuchungen