schöner so.
Charset nur bei Type 'text' Anhängen setzen.
Patch aus Bug 881 übernommen.
Potentieller Fix für Bug 879. IS::cogs hatte unsicheres basefactor Handling.
Whitespace Purge
kaputtes quoting, berichtet in Bug 815.
Bug 905.
check_currency sicherer gemacht und eine aufrufschwäche in do.pl beseitigt.
altes JS-Menu wieder aktiviert - ist nicht schön, aber funktioniert besser
Debugcode entfernt.
Artikel mit negativem Lagerbestand ebenfalls im Bericht ausgeben, damit dieser vom Benutzer korrigiert werden kann.
Lieferscheinnummer (donumber) auch in Rechnungen übergeben und als Druckvariable zu Verfügung stellen. OFFEN: Lieferscheinnummern fuer Rechnungen bestehend aus mehreren Lieferscheinen
Die Warengruppe beim Ausdruck der Vorlage zur Verfügung stellen.
westermm hat völlig zu Recht auf die Änderungen in Revision 3512 hingewiesen. Das Feld v_customer_id ist aus Versehen in den Kundenbereich gerutscht und gehört nur in den Lieferantenbereich. Wieder aus der Funktion save_customer entfernt. jb
Sync mit offizieller Version.
Den Query-Parser so angepasst, dass bei Queries, die sich über mehrere Zeilen erstrecken, am Ende jeder Zeile ein Whitespace eingefügt wird, damit keine Wörter direkt aneinandergehängt werden (Newlines werden vorher abgeschnitten).
Stammdaten > Berichte -> Kunden -> Suchfeld | Das zusammengefasst Adressfeld (Straße PLZ Ort) wieder in die Einzelkomponenten aufgeteilt. Zusätzlich die Suche um den Nachnamen des Ansprechpartners ergänzt. Die 'In Bericht aufnehmen'-Felder um Straße, PLZ, Ort zusammenhängend rechts ergänzt. Das unnötige SIC-Ankreuzfeld rausgeworfen, überhaupt alle sic_code-Einträge entrümpelt und wo wir schon mal dabei sind auch gleich die Tabellen in der DB gelöscht bzw. angepasst (hoffentlich vermisst die keiner ... ;)). Im Bonuslevel noch einen fehlerhaften HTML-div-Tag in der Suchmaske entsorgt.
CRM in die Gruppenrechte eingefügt
Strict in 4 Dateien wieder deaktiviert.
Idee war gut, aber einige interne Mechaniken verhindern, dass strict so einfach eingesetzt werden kann.Diese Mechaniken, unter anderem die beliebte Array/Scalar Schizophrenie, lassen sich nicht ohne weiteres fixen,...
Beim Buchen von Kreditoren- und Debitorenbuchungen immer die richtigen Steuerschlüssel in acc_trans eintragen. Vorher konnte es den Fall geben, dass bei mehreren Einträgen für ein Konto in einer Kreditoren- oder Debitorenbuchung mit unterschiedlichen Steuerschlüssel zwar die richtigen Steuersätze berechnet aber die falschen Steuerschlüssel gespeichert wurden.
Beim Buchen von Verkaufsrechnungen muss die Umbuchung der Warenbestandskonten mit Steuerschlüssel 0 ( = keine Steuer) vermerkt werden.
Bei Kreditorenbuchungen die Umsatzsteuer-Steuerschlüssel und bei Debitorenbuchungen die Vorsteuer-Steuerschlüssel nicht anzeigen.
strict deaktivieren, solange upgradescripte nicht strict sind.
Reportgenerator strict
Mehr Perlcode strict gemacht.
Spalte 'ordnumber' darf nicht NULL sein.
DATEV-Schnittstelle: Auslagerung von KNE-Schreibfunktionen in eigenes Modul. Kosmetik. Einrückung. Coderefactoring für bessere Lesbarkeit.
Lagerbestandswert zum Lagerbericht ergänzt.
Bei Kreditorenbuchungsberichten in der Typ-Spalte auch Stornos gesondert ausweisen.
Feld auffüllen in eigene Funktion verlagert.
<pagebreak> auch in der Langbeschreibung auswerten.
Die JavaScript-Funktion heißt jetzt "focus()".
Form einmal durchgecheckt. Einige kaputte Sachen deaktiviert, und das ganze mit strict durchgecheckt.
Bei verschachtelten Schleifen in der inneren Schleife eine andere Schleifenvariable als in der äußeren Schleife benutzen. Bei Perl 5.10 wird ansonsten unter der Bedingung "äußere Schleifenvariable mit my deklariert, innere hingegen ohne my" Speicher korrumpiert, und es trägt zum einfacheren Verständnis bei. Fix für Bug 839.
Einige Variablen der Warenstammdaten auch beim Ausdruck zur Verfügung stellen: ean, make, model.
Beim Buchen von Zahlungseingängen zu Debitorenrechnungen das Feld "bezahlt" bei der Rechnung aktualisieren.
Schalter Lastschrift (Verfahren) für Kunden/Lieferanten
Zugangskontrolle mithilfe des Eintrags "acs" in der Benutzerkonfiguration wird nicht mehr benutzt.
Lokale Variablen auch als lokal deklarieren.
Bei Berechnung des absoluten Rabattes den Rundungsfehler mit einbeziehen.
Beim DATEV-Export das Jahr in der Datei angeben, das durch den ausgewählten Zeitraum gegeben ist, und nicht das aktuelle Jahr.
Notes darf beim Speichern einer Wiedervorlage gerne das bereits bestehende Datenbankhandle benutzen, damit im Fehlerfalle weder die Note noch die Wiedervorlage gespeichert werden.
Konzeptioneller Fehler. Da es mehr als ein Form-Objekt geben kann (in diesem Falle beim Wiederherstellen von $form mittels restore_form()), darf das Standard-Datenbankhandle nicht geschlossen werden, wenn ein Form-Objekt vernichtet wird, sondern erst, wenn das Programm beendet wird.
DATEV-Export nicht beim ersten Fehler abbrechen, sondern eine Liste aller Fehler für den ausgewählten Zeitraum ausgeben und dann erst abbrechen. Das Datenbankhandle nicht schließen, das geschieht automatisch beim Programmende.
Kosmetik; mehr Variablen umbenannt
Kosmetik; Code vereinfacht
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").