Beim Buchen von Verkaufsrechnungen muss die Umbuchung der Warenbestandskonten mit Steuerschlüssel 0 ( = keine Steuer) vermerkt werden.
Script verschieben
Bei Kreditorenbuchungen die Umsatzsteuer-Steuerschlüssel und bei Debitorenbuchungen die Vorsteuer-Steuerschlüssel nicht anzeigen.
Kreditoren-, Debitoren- und Dialogbuchenmasken:1. Die Checkboxen "Korrektur" entfernt.2. Die Eingabezeilen für den Steuerbetrag in einfache Anzeigen des von Lx-Office ausgerechneten Steuerbetrages umgewandelt.
Grund ist, dass Steuern, die mit "Korrektur" eingegeben wurden und nicht exakt dem Steuersatz entsprachen, die zum ausgewählten Steuerschlüssel gehörten, dafür gesorgt haben, dass diese Transaktion nicht über die DATEV-Schnittstelle exportiert werden kann.
Das "readonly"-Attribut muss innerhalb des HTML-Tags stehen.
strict deaktivieren, solange upgradescripte nicht strict sind.
Reportgenerator strict
Mehr Perlcode strict gemacht.
Das gute alte set_permissions Script. Sollte endlich auch mal ins unstable.
Re-Datum und Knopf neben einander anordnen mit "nowrap"
Zahlenformatierung mit H/S in eigene Funktion gesteckt.
Vergessener Lauf von locales.pl
Spalte 'ordnumber' darf nicht NULL sein.
Beim Umwandeln in Aufträge die Auftragsnummer auf keinen Fall vorbelegt lassen.
DATEV-Schnittstelle: Auslagerung von KNE-Schreibfunktionen in eigenes Modul. Kosmetik. Einrückung. Coderefactoring für bessere Lesbarkeit.
Typo in Template korrigiert: webpages -> ct -> form_header'is_sustomer' nach 'is_customer' Ferner die Feldbeschreibung angepasst:Kundennummer beim Kunden ist fast gut, Lieferanten-Nr. beim Kunden diebessere Idee (wir befinden uns ja dort in Stammdaten -> Berichte ->...
Lagerbestandswert zum Lagerbericht ergänzt.
Bei Kreditorenbuchungsberichten in der Typ-Spalte auch Stornos gesondert ausweisen.
Stornierte Rechnung und Stornorechnung falsch herum markiert in der Typ-Spalte.
Feld auffüllen in eigene Funktion verlagert.
Beim Upgrade und Einführung des neuen Lagers die Zeilen in inventorymit leerer Chargennummer befüllen (nicht mit NULL), weil der Rest desLagercodes von leeren Strings ausgeht, wenn keine Chargennummerverwendet wird. Ansonsten wertet Lx-Office zwei Einträge ohne...
<pagebreak> auch in der Langbeschreibung auswerten.
Die JavaScript-Funktion heißt jetzt "focus()".
Die JavaScript-Funktion heißt "focus()".
PostgreSQL-Versionen vor 8.0 erlauben nicht, in einem Befehl neue Spalten hinzuzufügen und gleichzeitig den Defaultwert zu setzen.
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 Speichern von Wiedervorlagen aus dem Wiedervorlagebericht heraus wurden Kopien der Notizen erstellt anstatt eine bereits bestehende Notiz zu aktualisieren.
Import von Bankdaten,
Tabelle wie in CRM/update/BLZ.sql beschrieben anlegen,Menü erweitern:
[System--Import CSV--BLZ]module=lxo-import/blz.php
Der ReportGenerator escapet HTML-Sonderzeichen, sodass auch wortwörtlich so zu sehen ist -- also ihm nur ein normales Leerzeichen übergeben.
Beim Buchen von Zahlungseingängen zu Debitorenrechnungen das Feld "bezahlt" bei der Rechnung aktualisieren.
Schalter Lastschrift (Verfahren) für Kunden/Lieferanten
Drucken von ps/pdf auf "Drucker" geht nicht. Führt zu einem Fehler im Apache Error-Log.
Zugangskontrolle mithilfe des Eintrags "acs" in der Benutzerkonfiguration wird nicht mehr benutzt.
Bugfix: subtotal wurde nicht ans template weitergereicht.
Lokale Variablen auch als lokal deklarieren.
Die Emailadresse gibt es nicht, also auch nicht anzeigen.
Drucken von offenen Forderungen/Verbindlichkeiten: Die nachfolgende Funktion erwartet, dass die Zählung bei 1 beginnt, $row_idx startet aber bei 0.
Optionen des Scripts dokumentiert.
Bei der Auswahl von Artikeln auch wirklich den Ausgewählten weiterverarbeiten. Bei mehr als zehn angezeigten Artikeln wird ansonsten ein falscher genommen, weil der reguläre Ausdruck nicht zwangsweise bis zum Stringende gematcht hat.
Locales Quoting war fehlerhaft.
Bugfix: Pushlisten müssen mit Komma getrennt werden.
Beim Export der Kunden-/Lieferantenstammdatenberichte auch die Suchfelder mit übergeben, damit nicht die komplette Liste exportiert wird.
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.
Doppeltes Escapen von Anführungszeichen vermeiden.
Auch versteckte Variablen HTML-escapen.
Attribut "name" HTML-escapen.
Nicht doppelt quoten.
Doppeltes Quoting von Anführungszeichen vermeiden.
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.
Doppeltes HTML-Quoting vermeiden (das CGI-Modul quotet selber schon).
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.
Gelieferte Menge abholen kann nur bei schon gespeicherten Aufträgen funktionieren.
Beim XML/XUL-Menü nicht den Menüpunkt "Programm/Version" als Einstiegsseite hardcodieren, sondern die Standardseite aufrufen, die auch von den anderen Menüs aufgerufen wird. Unterschied ist, dass die TODO-Liste bisher nicht angezeigt wurde.
Typo
Typo. Fix für Bug 850.
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.
Auslagern von Hersteller/Modell-Zeilen in eigene Templates. Hersteller/Modell auch wieder für Waren aktiviert, nicht nur für Erzeugnisse. Fix für Bug 843.
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.
Datenbankupgrade für Einführung der Lagerverwaltung: 1. SQL-sicheres Quoten der Eingaben; 2. Beim Anlegen des Lagers alle Tabellenfelder füllen, weil ansonsten später das Lager nicht verfügbar erscheint. Fix für Bug 834.
Keine Umlaute direkt eingeben, damit auch hinterher UTF-8 herauskommt.
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.
Überbleibsel der Aktualisierung des DHTML-Tab-Scripts.
Ausgabe einer ordentlichen Fehlermeldung beim Datenbankupgrade, wenn das Verzeichnis users nicht beschreibbar ist.
Etwas differenziertere Beschreibung, welche Verzeichnisse überhaupt vom Webserver beschreibbar sein müssen.
Beim Anlegen eines Lieferscheins die Kunden-/Lieferantendetails auslesen (z.B. Sprache).
Beim Anlegen der Authentifizierungsdatenbank template1 als Template vorschlagen, weil hier oftmals die PL/PgSQL-Sprache angelegt wird.
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.
Klarstellung zum PostgreSQL-Parameter TCP_IP, den es in v8 nicht mehr gibt.
Konsistenz: Der Button, der das Detail-Popup-Fenster für Kunden und Lieferanten öffnet, sollte überall gleich beschriftet sein (mit "D").
Kunden-/Lieferantendetails-Popup-Fenster: Schleifen für die Sprung-Links in eigenen Block ausgelagert, damit die Schleifenvariable "contact" nicht den Wert aus $form überschreibt.
Multibox: Einen weiteren Parameter ergänzt, mit dem gesteuert wird, ob überhaupt zugelassen werden soll, dass ein Textfeld anstelle einer Drop-Down-Box angezeigt wird, ohne dass man dafür explizit mit limit rumspielen muss.
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.
Sprache
Grammatik/Rechtschreibkorrektur
Sortieren nach Vorgangsbezeichnung ermöglichen. Fix für Bug 749.
Das Feld "transaction_description" gibt es auch in der Tabelle "delivery_orders".