use SL::DB::AccTransaction;
use SL::DB::Assembly;
use SL::DB::AuditTrail;
+use SL::DB::AuthGroup;
+use SL::DB::AuthGroupRight;
+use SL::DB::AuthUser;
+use SL::DB::AuthUserConfig;
+use SL::DB::AuthUserGroup;
use SL::DB::BackgroundJob;
use SL::DB::BackgroundJobHistory;
use SL::DB::BankAccount;
use SL::DB::Language;
use SL::DB::MakeModel;
use SL::DB::Note;
+use SL::DB::Object::Hooks;
+use SL::DB::Object;
use SL::DB::Order;
use SL::DB::OrderItem;
use SL::DB::Part;
use SL::DB::TranslationPaymentTerm;
use SL::DB::Unit;
use SL::DB::UnitsLanguage;
+use SL::DB::VC;
use SL::DB::Vendor;
use SL::DB::VendorTax;
use SL::DB::Warehouse;
],
primary_key_columns => [ 'assembly_id' ],
+
+ allow_inline_column_values => 1,
);
1;
primary_key_columns => [ 'id' ],
+ allow_inline_column_values => 1,
+
foreign_keys => [
business => {
class => 'SL::DB::Business',
marge_price_factor => { type => 'numeric', default => 1, precision => 5, scale => 15 },
itime => { type => 'timestamp', default => 'now()' },
mtime => { type => 'timestamp' },
+ pricegroup_id => { type => 'integer' },
],
primary_key_columns => [ 'id' ],
],
primary_key_columns => [ 'id' ],
+
+ allow_inline_column_values => 1,
);
1;
addr4 => { type => 'text' },
homephone => { type => 'text' },
workphone => { type => 'text' },
+ deleted => { type => 'boolean', default => 'false' },
],
primary_key_columns => [ 'id' ],
trans_id => { type => 'integer', not_null => 1 },
trans_type_id => { type => 'integer', not_null => 1 },
project_id => { type => 'integer' },
- chargenumber => { type => 'text' },
+ chargenumber => { type => 'text', default => '', not_null => 1 },
comment => { type => 'text' },
bestbefore => { type => 'date' },
id => { type => 'serial', not_null => 1 },
primary_key_columns => [ 'id' ],
+ allow_inline_column_values => 1,
+
foreign_keys => [
business => {
class => 'SL::DB::Business',
sub _parse_multipart_formdata {
my ($target, $temp_target, $input) = @_;
- my ($name, $filename, $headers_done, $content_type, $boundary_found, $need_cr, $previous, $encoding, $transfer_encoding);
+ my ($name, $filename, $headers_done, $content_type, $boundary_found, $need_cr, $previous, $p_attachment, $encoding, $transfer_encoding);
# We SHOULD honor encodings and transfer-encodings here, but as hard as I
# looked I couldn't find a reasonably recent webbrowser that makes use of
substr $line, $-[0], $+[0] - $-[0], "";
}
- $previous = _store_value($filename ? $target : $temp_target, $name, '') if ($name);
- $temp_target->{FILENAME} = $filename if ($filename);
+ if ($name) {
+ # legacy, some old upload routines expect this to be here
+ $temp_target->{FILENAME} = $filename if defined $filename;
+
+ # name can potentially be both a normal variable or a file upload
+ # a file upload can be identified by its "filename" attribute
+ # the thing is, if a [+] clause vivifies atructur in one of the
+ # branches it must be done in both, or subsequent "[]" will fail
+ my $temp_target_slot = _store_value($temp_target, $name);
+ my $target_slot = _store_value($target, $name);
+
+ # set the reference for appending of multiline data to the correct one
+ $previous = defined $filename ? $target_slot : $temp_target_slot;
+
+ # for multiple uploads: save the attachments in a SL/Mailer like structure
+ if (defined $filename) {
+ my $target_attachment = _store_value($target, "ATTACHMENTS.$name", {});
+ my $temp_target_attachment = _store_value($temp_target, "ATTACHMENTS.$name", {});
+
+ $$target_attachment->{data} = $previous;
+ $$temp_target_attachment->{filename} = $filename;
+
+ $p_attachment = $$temp_target_attachment;
+ }
+ }
next;
}
if ($line =~ m|^content-type\s*:\s*(.*?)[;\$]|i) {
$content_type = $1;
+ $p_attachment->{content_type} = $1;
if ($content_type =~ /^text/ && $line =~ m|;\s*charset\s*:\s*("?)(.*?)\1$|i) {
$encoding = $2;
if ($transfer_encoding && $transfer_encoding !~ /^[78]bit|binary$/) {
die 'Transfer encodings beyond 7bit/8bit and binary are not implemented.';
}
+ $p_attachment->{transfer_encoding} = $transfer_encoding;
next;
}
# Workaround for a bug: converting $from->{$key} directly
# leads to 'undef'. I don't know why. Converting a copy works,
# though.
- $to->{$key} = $iconv->convert("" . $from->{$key});
+ $to->{$key} = $iconv->convert("" . $from->{$key}) if defined $from->{$key} && !defined $to->{$key};
} else {
$to->{$key} ||= {} if 'HASH' eq ref $from->{$key};
$to->{$key} ||= [] if 'ARRAY' eq ref $from->{$key};
-2.7.0-unstable
+2.7.0-beta1
my $temp_numberformat = $myconfig{numberformat};
- # Numberformat must be '1000.00' for Winston
+ # Numberformat must be '1000,00' for Winston
- $myconfig{numberformat} = '1000.00';
+ $myconfig{numberformat} = '1000,00';
foreach my $number (@category_cent) {
$form->{$number} = ( $form->{$number} !=0 ) ? $form->format_amount(\%myconfig, $form->{$number}, '2', '') : '';
bind_password =
[system]
-# EUR: Einnahmen-Überschussrechnung (net income method). Set this to 1
-# if your company uses the net income method and to 0 for balancing.
-# Additional note in german: Sollversteuerung = 0; Istversteuerung = 1
-# !!out of use since 2.7!!
-# See doc/umstellung_eur.txt
-# eur = 0
-
# Set language for login and admin forms. Currently "de" (German),
# "de_DE" (new German) and "en" (English, not perfect) are available.
language = de
** BITTE FERTIGEN SIE VOR DEM UPGRADE EIN BACKUP IHRER DATENBANK(EN) AN! **
+Upgrade auf v2.7.0
+==================
+
+1. Templateumstellungen
+
+Das Druckvorlagensystem wurde umgestellt, dadurch ist der Name "print" für
+Druckvorlagen jetzt reserviert. Wenn eine Ihrer Vorlagensätze "print" heisst,
+benennen Sie ihn um bevor Sie das Update starten.
+
+2. Neue Abhängigkeiten
+
+Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
+
+$ scripts/installation_check.pl
+
+Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
+der Installationsanweisung.
+
+Es sind zwei neue Abhängigkeiten dazugekommen.
+
+* JSON
+* String::ShellQuote
+
+3. CSV-Import wurde neu in Perl implementiert
+
+Der PHP-Code wurde entfernt. Automatische Skripte, die per Aufruf von
+lxo-import/partsB.php?cron=1 die Datei parts.csv importiert haben,
+funktionieren nicht mehr. Stattdessen kann scripts/csv-import-from-shell.sh
+benutzt werden. Im Unterschied zur PHP-Version werden unbekannte Warengruppen
+nicht mehr automatisch angelegt, stattdessen bricht das Skript ab.
+
+
Upgrade auf v2.6.3
==================
Es gibt keine local-Variante der lx_office.conf, arbeitet man mit git sollte
man lx_office.conf nicht einchecken.
-Eine etwas ausführlichere Beschreibung findet sich in der Datei:
-doc/konfigurationsdatei.txt
+Eine etwas ausführlichere Beschreibung findet sich in Kapitel 2.3
+"Lx-Office-Konfigurationsdatei" in doc/Lx-Office-Dokumentation.pdf
2. Eine neu hinzugekommene Komponente ist der Task-Server. Hierbei
handelt es sich um einen Dämonen, der im Hintergrund läuft, in
Version v2.6.3 oder später installiert haben, so ist außerdem wichtig,
seinen Parameter "FcgidMaxRequestLen" deutlich zu erhöhen, weil sich
dieser im Release mod_fcgid-Release v2.6.3 deutlich geändert
-hat. Details dazu finden sich in der Datei doc/INSTALL.fcgi.
+hat. Details dazu finden sich in Kapitel 2.5.2 "Konfiguration für
+FastCGI/FCGI" in doc/Lx-Office-Dokumentation.pdf
Upgrade auf v2.6.2
In der config/lx-erp.conf ist als neue Option $show_best_before hinzugekommen.
Die Variable kontrolliert die Anzeige von Mindesthaltbarkeitsdaten. Sie ist
standardmäßig deaktiviert.
-
-
-Upgrade auf v2.6.0
-==================
-
-Mit Version 2.6.0 wurde der Code zur Benutzerauthentifizierung neu
-geschrieben. Die Umstellung erfordert eine manuelle
-Konfiguration. Bestehende Benutzeraccounts können aber von Lx-Office
-automatisch übernommen werden.
-
- Bevor Sie sich das erste mal einloggen
- --------------------------------------
-
-Kopieren Sie bitte die Datei "lx-erp.conf" und
-ggfs. "lx-erp-local.conf" in das neue Unterverzeichnis "config/". Die
-alte Datei im Lx-Office-Stammverzeichnis kann daraufhin gelöscht
-werdern.
-
-Als nächstes muss die neue datenbankgestützte Benutzerverwaltung
-konfiguriert werden. Die dafür notwendigen Einstellungen werden in der
-Datei "config/authentification.pl" vorgenommen, für die eine
-kommentierte Vorlage in "config/authentication.pl.default"
-bereitliegt.
-
-Weitere Informationen zu dieser Datei finden Sie in der Dokumentation
-"doc/INSTALL/index.html" und dort in den Kapiteln
-"Benutzerauthentifizierung und Administratorpasswort" sowie "Benutzer-
-und Gruppenverwaltung".
-
-Nach der Einrichtung der Datei "config/authentication.pl" muss im
-Webbrowser das Administrationsinterface aufgerufen werden. Nach
-erfolgter Anmeldung werden Sie durch den Upgradeprozess geleitet.
-
-Die weiteren erforderlichen Datenbankupgrades werden erst vorgenommen,
-wenn sich ein Benutzer erfolgreich anmeldet.
-
- Neue Perl-Module
- ----------------
-
-Mit Version 2.6.0 werden zusätzlich die folgenden Perl-Module benötigt,
-die bis Version 2.4.3 inklusive noch keine Voraussetzung waren:
-
-* PDF::API2
-
-
-Upgrade von v2.4.0 und neuer auf v2.4.3
-=======================================
-
-Ein Upgrade von v2.4.0 oder neuer auf v2.4.3 aus zwei Teilen: den
-Dateien (einfaches Entpacken und Kopieren in das
-Installationsverzeichnis genügen) sowie dem Datenbankupgrade.
-
- Neue Variablen in der Datei lx-erp.conf
- ---------------------------------------
-
-Wenn Sie eine eigene Version der Konfigurationsdatei "lx-erp.conf"
-einsetzen und diese nicht mit der Standardkonfigurationsdatei
-überschreiben, so beachten Sie bitte, dass die folgenden neuen
-Variablen hinzugekommen sind und von Ihnen manuell ergänzt werden
-sollten: $html2ps_bin, $ghostscript_bin, $pg_dump_exe und
-$pg_restore_exe. Die Variable '$jscalendar' kann hingegen entfernt
-werden, da sie nicht mehr benötigt wird.
-
-Die Standardwerte für diese Variablen finden Sie in der Datei
-"lx-erp.conf.default".
-
- Neue Abhängigkeiten von Perl-Modulen
- ------------------------------------
-
-Bitte beachten Sie auch die Liste der benötigten Perl-Module am Anfang
-der Datei "doc/INSTALL". Seit Version 2.4.0 sind die folgenden Module
-neu hinzugekommen:
-
-- Achive::Zip
-- Template
-- Text::CSV_XS
-- Text::Iconv
-- Time::HiRes
-- YAML
-
-Nach Möglichkeit sollten auch die aktuellen Versionen der
-Datenbankpakete "DBI" und "DBD::Pg" installiert werden.
-
- Datenbankupgrade
- ----------------
-
-Das Datenbankupgrade wird automatisch gestartet, wenn sich der erste
-Benutzer nach dem Upgrade der Dateien an Lx-Office anmeldet.
-
-** BITTE FERTIGEN SIE VOR DEM UPGRADE EIN BACKUP IHRER DATENBANK(EN) AN! **
-
-
-Upgrade von v2.4.0 auf 2.4.1 sowie von 2.4.1 auf 2.4.2
-======================================================
-
-Ein Upgrade von v2.4.0 auf v2.4.1 oder von v2.4.1 auf v2.4.2 besteht
-aus zwei Teilen: den Dateien (einfaches Entpacken und Kopieren in das
-Installationsverzeichnis genügen) sowie dem Datenbankupgrade.
-
-Bitte beachten Sie auch die Liste der benötigten Perl-Module am Anfang
-der Datei "doc/INSTALL". Besonders nach einem Upgrade auf 2.4.2 muss
-sichergestellt werden, dass das Modul "YAML" installiert ist.
-
-Das Datenbankupgrade wird automatisch gestartet, wenn sich der erste
-Benutzer nach dem Upgrade der Dateien an Lx-Office anmeldet.
-
-** BITTE FERTIGEN SIE VOR DEM UPGRADE EIN BACKUP IHRER DATENBANK(EN) AN! **
-
-Anders als beim Upgrade auf 2.4.0 handelt es bei den Datenbankupgrades
-auf 2.4.1 und 2.4.2 nur um automatisch ablaufende Scripte, die keine
-Benutzereingaben erfordern.
-
-
-Upgrade von v2.2.0 bis 2.2.2 auf 2.4.0
-======================================
-
-Ein direktes Upgrade von den unmodifizierten Versionen 2.2.0, 2.2.1
-und 2.2.2 auf 2.4.0 ist möglich. Ein solches Upgrade besteht aus zwei
-Teilen: den Dateien (einfaches Entpacken und Kopieren in das
-Installationsverzeichnis genügen) sowie dem Datenbankupgrade.
-
-Bitte beachten Sie auch die Liste der benötigten Perl-Module am Anfang
-der Datei "doc/INSTALL".
-
-Das Datenbankupgrade wird automatisch gestartet, wenn sich der erste
-Benutzer nach dem Upgrade der Dateien an Lx-Office anmeldet.
-
-** BITTE FERTIGEN SIE VOR DEM UPGRADE EIN BACKUP IHRER DATENBANK(EN) AN! **
-
-Das Datenbankupgrade enthält zwei interaktive Upgradepfade für neue
-Features in Lx-Office 2.4.0: Einheiten sowie Buchungsgruppen.
-
-
-
-Einführung von Einheiten
-------------------------
-
-In Versionen von Lx-Office vor 2.4.0 konnte der Benutzer bei den
-Stammdaten aber auch in den Einkaufs- und Verkaufsdialogen beliebige
-Texte als "Einheit" angeben. Lx-Office 2.4.0 ändert dies nun. Der
-Administrator kann unter "System -> Einheiten -> Maßeinheiten" die bei
-Waren und Erzeugnissen verwendbaren und bei "System -> Einheiten ->
-Dienstleistungseinheiten" die bei Dienstleistungen verwendbaren
-Einheiten festlegen. Lx-Office 2.4.0 bringt bereits für beide Typen
-einige Standardeinheiten mit.
-
-Einheiten können wiederum auf anderen Einheiten basieren. So ist
-z.B. "kg" als das 1000fache der Einheit "g" definiert. Der Benutzer
-muss beim Anlegen von Artikeln in den Stammdaten eine Einheit aus
-einer Drop-Down-Liste auswählen. In den Einkaufs- und Verkaufsmasken
-werden dann dem Benutzer nur noch diejenigen Einheiten zur Auswahl
-angeboten, die sich in die in den Stammdaten hinterlegte Einheit
-umrechnen lassen. So würden z.B. für eine Ware, deren
-Stammdateneinheit "kg" ist, nur die Einheiten "g", "kg", "t" zur
-Auswahl aufgelistet, nicht aber "Stück" oder "Tag", "Stunde".
-
-Das Datenbankupgrade muss nun alle im System verwendeten Einheiten in
-den Stammdaten sowie in den Einkaufs- und Verkaufsdaten so anpassen,
-dass dort nur noch Einheiten auftreten, die im System verwendet werden
-können. Da dies nur eingeschränkt automatisch möglich ist, werden dem
-Benutzer, der das Datenbankupgrade nach dem Login durchführt, einige
-Masken angezeigt, in denen er neue Einheiten in der Datenbank anlegen
-kann, und in denen er "alte" Einheiten durch "neue" Einheiten ersetzen
-lassen kann.
-
-Zuletzt muss er noch für all die Waren, für die früher gar keine
-Einheit eingetragen wurde, eine Standardeinheit getrennt nach Waren /
-Erzeugnissen und Dienstleistungen festlegen, die statt dessen
-eingesetzt wird.
-
-
-Einführung von Steuerzonen und Buchungsgruppen
-----------------------------------------------
-
-In den Versionen von Lx-Office vor 2.4.0 wurden bei Artikeln und
-Dienstleistungen jeweils ein Konto für Erlöse und ein Konto für den
-Aufwand hinterlegt. Über diese Konten wurde dann auch definiert
-welcher Steuersatz zu berechnen ist. Wollte man einen Artikel mal mit
-und mal ohne Steuer verkaufen (Inland, Ausland), waren hierfür zwei
-Artikel notwendig.
-
-In der Version 2.4.0 können nun bei jedem Artikel für die
-verschiedenen Fälle
-- Inland
-- EU mit UStId
-- EU ohne UStId
-- Außerhalb EU
-verschiedene Erlös- und Aufwandskonten definiert werden. Dadurch
-werden dann auch jeweils die richtigen Steuersätze berechnet.
-
-Damit jetzt nicht bei jedem Artikel mehrere Konten definiert werden
-müssen, werden alle Konten, die zu einer bestimmten Warengruppe
-gehören, in einer Buchungsgruppe zusammengefasst. Diese
-Buchungsgruppen werden zunächst unter "System" definiert und können
-dann den Artikeln und Dienstleistungen zugewiesen werden.
-
-Beim Datenbankupdate werden aus der Datenbank alle Kombinationen von
-Erlös- und Aufwandskonten geholt, die bereits verwendet wurden. Für
-diese Kombinationen müssen im Upgradeprozess Buchungsgruppen angelegt
-werden, indem man den einzelnen Kombinationen einen Namen zuweist. Die
-Konten für nicht Inland sind mit den Standardkonten vorbelegt, können
-aber vor dem Speichern geändert werden.
-
-Diese neu angelegten Buchungsgruppen werden automatisch den
-vorhandenen Artikeln und Dienstleistungen zugewiesen. Buchungsgruppen
-können genau wie vorher die Kontenzuordnung nachträglich nicht mehr
-geändert werden.
-
-Möchte man in der Buchhaltung eine neue Kombination von Erlös- und
-Aufwandskonten für bestimmte Artikel und Waren verwenden, legt man
-zunächst die entsprechenden konnten (z.B. 8401 und 3401) an und
-erstellt dann eine neue Buchungsgruppe mit diesen Konten. Die
-Benennung der Buchungsgruppe kann frei erfolgen.
-
-Beim Anlegen einer neuen Waren oder Dienstleistung werden dann durch
-Auswahl dieser Buchungsgruppe automatisch alle Konten auf einen Schlag
-korrekt zugeordnet.
-
-Wird in einer Verkaufs- oder Einkaufsmaske eine andere Steuerzone als
-Inland ausgewählt, werden bei den Artikeln auch automatisch die
-anderen Erlös- und Aufwandskonten der Buchungsgruppe verwendet.
-
-Dokumentenvorlagen, Umbennante Vorlagenvariablen
-------------------------------------------------
-
-Einige Variablen, die in Dokumentenvorlagen verwendet werden, mussten
-aufgrund von Namenskonflikten umbenannt werden. Dazu gehören:
-
-* Adress- und Kontaktinformationen des angemeldeten Mitarbeiters. Die
- Variablen "company", "address" und "businessnumber" haben alle einen
- Präfix "employee_" bekommen und heißen nun "employee_company",
- "employee_address" und "employee_businessnumber".
-
-Zu beachten ist außerdem, dass der Befehl <%include ...%> in
-Dokumentenvorlagen nicht mehr zur Verfügung steht.
# Veränderungen von Lx-Office ERP #
###################################
-- Alternatives Vorlagenstemsystem f-tex
- * Setup Script
+2012-02-08 - Release 2.7.0 beta 1
+
+Größere neue Features
+
+- Der CSV Import wurde komplett neu geschrieben
+ Features:
+ * Vorschau der Importdaten
+ * Serverseitiges Cachen der Daten
+ * Fehlererkennung
+ * Wählbare Trennzeich, Escapezeichen und Encoding
+ * speicherbare Profile
+
+- Der SEPA Export generiert jetzt SEPA v2.5
+
+- Vereinheitlichte Dokumentation
+ Die einzelnen manpage artigen Dokumentationstexte wurden in ein einziges PDF
+ Dokument vereinheitlicht.
+
+- Alternativer Vorlagensatz f-tex
* mehrsprachig
* leichte Integration des Firmenbriefkopfs
* Ausgabe von Bruttopreisen in den Positionen fuer Endverbraucher moeglich
- siehe doc/2011-12-14_alternatives_vorlagensystem_f-tex.txt
+ * siehe templates/print/f-tex/README
-- Ein neuer Vorlagensatz RB kam hinzu, der einige Ideen aufgreift, die
- in folgendem Vortrag erwähnt wurden:
+- Alternativer Vorlagensatz RB
+ Basierend auf dem Vortrag aus dem Anwendertreffen 2011:
http://www.lx-office.org/uploads/media/Lx-Office_Anwendertreffen_LaTeX-Druckvorlagen-31.01.2011_01.pdf
-- Master-Druckvorlagen in eigene Unterverzeichnisse
- (z.B. print/Default/, print/German/) verschoben. Beim Anlegen eines Vorlagensatzes
- werden symbolische Links und Unterverzeichnisse rekursiv kopiert.
- Der eingebaute Vorlageneditor zeigt alle *.tex-Dateien an und lässt
- sie bearbeiten.
+
+Kleinere neue Features und Detailverbesserungen:
+
+- Lx-Office behandelt jetzt Unicode Eingaben in DNF korrekt
+
+- Änderungen an Zahlungen in Belegen
+ Diese lassen sich jetzt entweder immer,gar nicht oder am selben Tag noch
+ ändern. Dies ist lx_office.conf einstellbar.
+
+- Projektnummer pro Beleg
+ Diese sind jetzt auch in Debitoren- und Kreditorenbuchungen verfügbar.
+
+- Berichten über Verkaus- und Einkaufsrechnungen
+ In Debitoren- und Kreditorenbuchungen berücksichtigt die
+ Projektnummernfilterung jetzt auch positionsbezogene Projektnummern.
+
+- Es kann eine Standardsprache eingestellt werden
+ Diese wird dann automatisch bei neu anzulegenden Kunden und Lieferanten
+ vorausgewählt.
+
+- Buchungsjournal
+ Es kann jetzt nach Bearbeiter und Buchungsdatum gefiltert werden.
+
+- á (LATIN SMALL LETTER A WITH ACUTE) in LaTeX-Vorlagen
+ Klassisch wurde á wegen Zeichensatzverwirrung durch ein Bullet ersetzt. Das
+ ist jetzt nicht mehr so. Dafür kann mit <bullet> ein Aufzählungspunkt erzeugt
+ werden.
+
+- Kontenrahmen
+ Bebuchte und steuerrelevante Konten lassen sich nicht mehr löschen und nur
+ noch bedingt umkonfigurieren.
+
+- Kunden und Lieferantenstammdaten
+ Hier kann jetzt eine Währung eingestellt werden, die als Voreinstellung in
+ den Ver- und Einkaufsmasken dient.
+
+
+Sicherheit:
+
+- Passwörter tauchen jetzt nicht mehr in der Sessiontabelle auf
+
+- Passwörter werden jetzt per Default als SHA256 gespeichert.
+
+
+API-Änderungen:
+
+- Umstellung der Variable $::lx_office_conf{system}{eur}
+ Die ehemalige globale Einstellung system/eur wird aufgespalten in drei
+ Einstellungen die in der defaults Tabelle gehalten werden;
+ "Gewinnermittlungsart", "Versteuerungsart" und "Warenbuchungsmethode". Siehe
+ Dakumentation, Abschnitt "Konfiguration zur
+ Einnahmenüberschussrechnung/Bilanzierung: EUR"
- Der alte, manuelle Mechanismus "pagebreak-Block", um in
LaTeX-Vorlagen Zwischensummen zu berechnen und den Seitenumbruch
manuell zu kontrollieren, wurde entfernt.
-- Zahlungen bei Debitoren-, Kreditorenbuchungen, Verkaufs- und
- Einkaufsrechnungen lassen sich entweder immer, gar nicht oder
- am selben Tag noch ändern. Dies ist lx_office.conf einstellbar.
+- Änderungen an globalen Containern
+ Globale Container sind jetzt auf einige wenige beschränkt, alle anderen
+ wurden darin untergebracht oder entfernt.
+ * $::instance_conf - Daten die lokal auf einer Mandantendatenbank gelten
+ * %::request - Requestlokaler Speicher
+ * $::cgi - liegt jetzt in $::request{cgi}
+ * $::eur - siehe $::instance_conf
+ * %::debug_options - liegt jetzt in $::lx_office_conf{debug}{options}
+ * $::all_units - entfernt, die Einheitenfunktionen cachen jetzt selbst
+ * %::called_subs - ersatzlos entfernt
-- Projektnummer pro Beleg läßt sich auch für Debitoren- und
- Kreditorenbuchungen angeben.
+- Druckvorlagen verstehen jetzt die übliche dot-Notation für Methoden
+ Beispiel <%part.sellprice%> sofern als part ein Objekt übergeben wurde.
-- Bei den Berichten für Verkaus- und Einkaufsrechnungen wird auch auf die
- positionsbezogenen Projektnummern für Debitoren- und Kreditorenbuchungen
- gefiltert.
+- Druckvorlagen verstehen jetzt das Suffix NOFORMAT
+ Damit können Formatierungen im Vorlagensatz selbst gemacht werden.
+ Beispiel: <%amount NOFORMAT%>
-- Es kann eine Standardsprache eingestellt werden, die automatisch bei neu
- anzulegenden Kunden und Lieferanten vorausgewählt ist.
+- Vorlagen bekommen jetzt Metadaten über sich selbst mitgeteilt
+ Die einzelnen Daten liegen in template_meta, diese Vorlagendokumentation.
-- Umstellung der Variablen eur in lx_office.conf zu drei neuen Variablen in
- Tabelle defaults, zur Einstellung von Gewinnermittlungsart, Versteuerungsart
- und Warenbuchungsmethode. Siehe Datei doc/umstellung_eur.txt
+- Default Vorlagen
+ Wenn eine Vorlage nicht gefunden wird, wird jetzt default.<extension>
+ benutzt. Das macht es möglich zentral verwaltete Vorlagensätze zu schreiben.
-- Buchungsjournal um Filter nach Bearbeiter und Buchungsdatum (ungleich
- Rechnungsdatum) erweitert
+- Master-Druckvorlagen liegen jetzt in eigenen Unterverzeichnissen
+ Das neue System ist templates/print/<name>. Beim Anlegen eines Vorlagensatzes
+ werden symbolische Links und Unterverzeichnisse rekursiv kopiert. Der
+ eingebaute Vorlageneditor zeigt alle *.tex-Dateien an und lässt sie
+ bearbeiten.
-- Mastertemplates für den Ausdruck sind in eigene Unterverzeichnisse gewandert.
- Dadurch wird das Hinzufügen neuer Vorlagensätze einfacher.
-- Zwei Rechterweiterung für 'eingeschränktere' Vertriebspartnerfunktion
- Schreibschutz für Preise in Angebot und Suchfunktion in Stammdaten Kunden nur für Mitarbeiter freigeben, die auch
- gleichzeitig als Verkäufer für den Kunden eingetragen sind. Rechtebeschreibung im Admin-Menü wie folgt:
- * Preise und Rabatt in Formularen frei anpassen (falls deaktiviert,
- wird allerdings NUR das textfield auf READONLY gesetzt / kann je nach Browserversion und technischen Fähigkeiten des Anwenders umgangen werden).
- * Kunden und Lieferanten erfassen. Alle Lieferanten bearbeiten. Nur Kunden bearbeiten bei denen der Verkäufer gleich Bearbeiter (login) ist
+Entfernte Features:
- Kleinere neue Features und Detailverbesserungen:
- - á (LATIN SMALL LETTER A WITH ACUTE) wird in Latex-Vorlagen nicht mehr durch
- ein "Bullet" ersetzt. Dafür kann mit <bullet> ein Aufzählungspunkt erzeugt
- werden.
+- Der PHP basierte CSV-Import wurde zugunsten des neuen Imports entfernt.
- - Bebuchte Konten und als Steuerautomatik-Konten dienende Konten lassen sich
- löschen und nur bedingt umkonfigurieren (Häkchen bei Forderungen o.
- Verbindlichkeiten).
+- Das Feature "Lizenzverwaltung" wurde entfernt.
- - Häkchen bei der Konto-Konfiguration f. Forderungen u. Verbindlichkeiten
- als Radio-Buttons.
+- Das XUL Menü wurde ersatzlos entfernt.
+ Das Menü funktionierte nur nur mit Firefox, und wurde wegen
+ Sicherheitsproblemen und eingestellter Unterstützung für XUL seitens der
+ Firefox-Entwickler entfernt.
- - Für Kunden und Lieferanten kann jetzt in den Stammdaten eine Währung
- eingestellt werden, die als Voreinstellung in den Ver- und Einkaufs-
- Masken dient.
- - Das XUL-/XML-Menü, das nur mit Firefox funktionierte, wurde wegen
- Sicherheitsproblemen und eingestellter Unterstützung für XUL
- seitens der Firefox-Entwickler entfernt.
+Experimentelle Features:
+- Es ist möglich benutzerdefinierte Variablen vom Typ "Kunde" anzulegen
+ Die Details werden sich wahrscheinlich noch ändern.
+
+- Rechterweiterungen für eingeschränkte Vertriebspartnerfunktion
+ Das Recht "Kunden und lieferanten erstellen und bearbeiten" wurde
+ aufgespalten. Das bisherige Recht erlaubt es nur noch Kunden zu editieren,
+ bei denen man selbst als Verkäufer eingetragen ist. Das zweite Recht gibt
+ Vollzugriff.
- Liste gefixter Bugs aus dem Bugtracker:
+Liste gefixter Bugs aus dem Bugtracker:
+
+ - Bugfix 79: Bug bei Buchung Zahlungsausgang mit Skonto
+ - Bugfix 276: lx-erp.conf: $eur
+ - Bugfix 415: Ware erfassen Layout
+ - Bugfix 550: Fehlende Variable
+ - Bugfix 635: Fehlendes Feld "Konto-Inhaber" bei Kunden/Lieferanten
+ - Bugfix 807: InstallationCheck prueft nicht Version von Template-Toolkit, v2 ist aber erforderlich
+ - Bugfix 865: Beim PDF- Export Kontenblätter wird ab Seite 2 Zeile 1 und 3 vertauscht und "Soll" und "Haben" aufeinandergedruckt
+ - Bugfix 872: Lieferdatum erscheint nicht bei Rechnungsposten
+ - Bugfix 910: mod_perl Kompatibilität
+ - Bugfix 1020: Zu viel Automatismus
+ - Bugfix 1045: Lagerbewegung
+ - Bugfix 1056: Workflow-Variable fuer Auftragsdatum ueberlebt Auftrag -> Lieferschein -> Rechnung nicht
+ - Bugfix 1067: Sicherheitsluecke CRM vs ERP?
+ - Bugfix 1082: Bei einem Lieferschein wird die Abteilung nicht mitgespeichert
+ - Bugfix 1085: Wiederkehrende/zyklische Rechnungen
+ - Bugfix 1179: Ort des Perl-Binaries muss konfigurierbar sein
+ - Bugfix 1187: Lieferschein-Verkaeufer-Bug - Die Dritte
+ - Bugfix 1191: Update vom Freitag hat Benutzerdefinierte Variablen/Kundenverwaltung geschossen
+ - Bugfix 1275: Alte Lieferadressen lassen sich nicht entsorgen
+ - Bugfix 1361: Bestelldatum als Feld einführen / Systemdatum
+ - Bugfix 1413: Anzeige des Kreditlimits während der Rechnungserstellung zeigt sinnlose Werte
+ - Bugfix 1415: Typo in UstVA-Vorschau
+ - Bugfix 1420: Loeschen von Stornos bereitet eine Reihe von Problemen: (1)Stornorechnungen nicht beschreibbar
+ - Bugfix 1434: Saldo bei Lagerbewegungen aufnehmen
+ - Bugfix 1443: Berichte der Waren: Bericht nach Projekt nicht moeglich
+ - Bugfix 1446: Username + Passwort
+ - Bugfix 1478: Wörterbuch-Attacken gegen Lx-Office erschweren / abwehren
+ - Bugfix 1493: Menuepunkt "Druck" ausblendbar machen
+ - Bugfix 1500: Auswertung mathematischer Werte in Zahlenfeldern
+ - Bugfix 1519: 16x16 Icons funktionieren nicht bei Multiline Menüeinträgen im HTML Menü.
+ - Bugfix 1522: alternatives LaTeX Template system "fancy LaTeX"
+ - Bugfix 1538: Beim Bearbeiten von Preisgruppen: Button Historie reagiert nicht
+ - Bugfix 1549: Artikelbericht Gekauft/Verkauft Lagerwert
+ - Bugfix 1558: Verkaufsbericht listet Bestandteile eines Erzeugnisses statt des Erzeugnisses auf
+ - Bugfix 1566: Variablen Mahnung
+ - Bugfix 1590: rechnung->zahlung-buchen: ERROR: invalid input syntax for type date: ""
+ - Bugfix 1609: malformed script header beim speichern einer ware
+ - Bugfix 1610: Berichte Waren zusätzlicher Button "alle" erwünscht
+ - Bugfix 1611: Sammelrechnug offene Forderung leer
+ - Bugfix 1635: Berichte Waren zeigt falsche Verkaufszahlen
- Bugfix 1640: Buchungen werden falsch zugeordnet, wenn man Konten umkonfiguriert
- - Bugfix 1753: Benutzerdefinierte Variable f. Waren: bearbeitbar nicht auswählbar
- - Bugfix 1738: Entwürfe können nicht gelöscht werden
+ - Bugfix 1648: bebuchte Konten sollten nicht in Überschriften umgewandelt werden können
+ - Bugfix 1649: Preisgruppe wird nicht angezeigt über: Auftrag -> Lieferschein -> Rechnung
+ - Bugfix 1669: parameter eur sollte Mandantenabhaengig sein und nicht Installationsabhaengig
+ - Bugfix 1670: mod_fcgid: HTTP request length 134525 (so far) exceeds MaxRequestLen (131072)
+ - Bugfix 1673: Auftrag drucken druckt nicht und Problem mit Workflow "Als neu speichern"
+ - Bugfix 1675: Anführungszeichen in der Artikelbeschreibung werden ersetzt.
+ - Bugfix 1676: DATEV Export bei gemischter Rechnung/Gutschrift schlägt fehl
+ - Bugfix 1677: Artikel-fremd-sprachen werden nicht verwendet
+ - Bugfix 1678: Autoreload bei Änderungen in lx_office.conf
+ - Bugfix 1679: missing javascript referenced in templates/webpages/ir/form_header.html
+ - Bugfix 1681: Stammdaten - Berichte - Erzeugnisse: Spalte Einkaufspreise nicht gerundet
+ - Bugfix 1683: Druck -> Lieferschein: Fehlende Rechte
+ - Bugfix 1684: Benutzte Einheiten lassen sich umbenennen
+ - Bugfix 1685: UStVA HTML Vorschau Zahlenformat
+ - Bugfix 1687: git edbbcd58bbc9e0: FastCGI: incomplete headers beim Speichern einer Ware
+ - Bugfix 1690: "PDF (OpenDocument/OASIS)" nicht mehr in Druckformatauswahl nach Update 2.6.1 -> 2.6.3
+ - Bugfix 1693: Soll und Istversteurung / Steuerrecht Deutschland
+ - Bugfix 1696: Listenpreis wird in der Detailanzeige falsch dargestellt
+ - Bugfix 1698: Erneuern löscht Bemerkungen bei Debitorenbuchung erfassen
+ - Bugfix 1699: SEPA-Zahlungsverkehr funktioniert nicht
+ - Bugfix 1702: Software Error beim Aufruf der Lizenzen unter commit aae0a190cc593
+ - Bugfix 1703: XUL Menues funktionieren mit Firefox6 nicht mehr
+ - Bugfix 1705: Firefox 6 und XUL - Druckerbutton funktioniert nicht
+ - Bugfix 1706: Firefox 6 und XUL - Menue haengt immer wieder mal (loest keine Aktionen mehr aus bis reload)
+ - Bugfix 1708: Fehlender Übertrag der Lieferadresse von Angebot -> Auftragsbestätigung
+ - Bugfix 1712: ergenzung der Doku/Dokumentvariabeln
+ - Bugfix 1713: Schreibfehler Menüeintrag
+ - Bugfix 1715: Benutzername in der Kopfzeile nicht angezeigt
+ - Bugfix 1717: Im Lieferschein kann mehr ausgelagert werden, als dort als Menge angegeben ist
+ - Bugfix 1720: locale/$dir/LANGUAGE wird nicht als UTF8 eingelesen
+ - Bugfix 1723: Drucken vor dem Speichern - Button mißverständlich
+ - Bugfix 1724: Falsche Funktionalität der Buttons, wenn "Drucken" vor "Speichern" geklickt wird
+ - Bugfix 1725: In Mahnungen steht currency nicht als Variable zur Verfügung?
+ - Bugfix 1728: URL auf Debitorenbuchungen bei Mahnungen zeigt auf Rechnugsmaske
+ - Bugfix 1730: Kunde wird falsch angezeigt bei bestimmter Auswahllistenbegrenzung
+ - Bugfix 1731: Illegal division by zero
+ - Bugfix 1733: sumcarriedforward stimmt nicht bei englischen Rechnungen bzw mit 1,000.00 Nummernformat
+ - Bugfix 1734: Als "periodic invoice" erstellte Rechnung läßt sich nicht löschen.
+ - Bugfix 1735: PDF-Dateiname (Druck / eMail-Attachment) nach Benutzer anstatt nach Rechnungs-Sprache lokalisiert
+ - Bugfix 1737: Lieferschein speichern setzt zugehörigen Auftrag auf geliefert.
+ - Bugfix 1738: Entwürfe können nicht gelöscht werden
+ - Bugfix 1740: Feature Request: Variablen im Druckbefehl
+ - Bugfix 1743: Beim installation_check auf Developer-Pakete hinweisen
+ - Bugfix 1745: add missing LaTeX escaping for "soft hyphen" "" -> "\-"
+ - Bugfix 1747: Name der temporären Druckdateien nicht "zufällig" genug
+ - Bugfix 1749: 07ccbf8dd hat Zahlungseingang kaputtgemacht
+ - Bugfix 1752: Rechnung -> Druckvorschau ignoriert Änderung des Steuersatz beim Beleg
+ - Bugfix 1753: Benutzerdefinierte Variable f. Waren: bearbeitbar nicht auswählbar.
+ - Bugfix 1756: Ertrag in Bruttorechnung ist falsch
+ - Bugfix 1758: Detailansicht Kunde Link Auftrag / Angebot Rechtefehler
- Bugfix 1759: Währung bei Kunden / Lieferanten vorbelegen
+ - Bugfix 1762: Artikel-Suchmaske ignoriert Kundengruppen-Rabatte
+ - Bugfix 1765: Dienstleistungen koennen auch mehrere Lieferanten haben
+ - Bugfix 1767: zurück-Knopf bei "Was ist dieser Artikel?" liefert Fehlermeldung
+ - Bugfix 1769: Sprache speichern oder löschen gibt Fehler "action= nicht definiert!"
- Bugfix 1770: Währung / currency überlebt Workflow über Lieferschein nicht
- - Bugfix 1770: (zweiter Teil) Preisgruppen überleben Workflow nicht
- - Bugfix 1773: SQL Fehler bei Anzeige von Angeboten
- - Bugfix 1725: In Mahnungen steht currency nicht als Variable zur Verfügung?
- Bugfix 1771: Zahlungsausgang: Lieferant wird nicht ausgewählt, wenn Name 2 Leerzeichen hintereinander enthält
- - Bugfix 1566: Variablen für Verkäufer und USTID in Mahnungsdruck hinzugefügt
- - Bugfix 1588: Einzelteile eines Erzeugnisses von Verkaufsbericht ausnehmen
- - Bugfix 1756: Ertrag in Bruttorechnungen korrekt berechnen
- - Bugfix 1760 - 1760: Bei einem Lieferschein wird die Abteilung nicht mitgespeichert
- - Bugfix 1752: Rechnung -> Druckvorschau ignoriert Änderung des Steuersatz beim Beleg
- - Bugfix 1708: Fehlender Übertrag der Lieferadresse von Angebot -> Auftragsbestätigung
- - Bugfix 1648: bebuchte Konten sollten nicht in Überschriften umgewandelt werden können
+ - Bugfix 1773: SQL Fehler bei Anzeige von Angeboten
+ - Bugfix 1774: Benutzergruppen lassen sich nicht mehr speichern.
- Bugfix 1775: Wechselkurs in Einkaufrechnung kann nicht eingegeben werden
-
+ - Bugfix 1778: Kundenauswahl Angebote, etc.
+ - Bugfix 1779: Berichte zu Verkaufslieferscheinen, Checkbox "Verkaeufer" hat keine Funktion
+ - Bugfix 1782: Release Management Dokumentation
+ - Bugfix 1787: Winstonexport with . instead of , in numbers
+ - Bugfix 1789: Metainformationen fehlen bei Mahnungen
+ - Bugfix 1794: undef error - Can't locate object method "full_name_dep"
+ - Bugfix 1797: GuV wirft SQL Fehler
2011-06-15 - Release 2.6.3
password =
[system]
-eur = 1
dbcharset = UTF-8</programlisting>
<para>Nutzt man wiederkehrende Rechnungen, kann man unter
password =
[system]
-eur = 1
dbcharset = UTF-8</pre><p>Nutzt man wiederkehrende Rechnungen, kann man unter
<code class="varname">[periodic_invoices]</code> den Login eines Benutzers
angeben, der nach Erstellung der Rechnungen eine entsprechende E-Mail
* Changelog aktualisieren.
- Im Changelog sollten sämtliche behobenen Bugs seit der letzten Version
- aufgeführt sein. (TODO ist mit ein bisschen SQL Magie direkt aus der
- Bugzilla Datenbank holbar, diese Magie hier möglichst dokumentieren).
+ aufgeführt sein.
+
+ Beispiel für semiautomatisches bearbeiten:
+
+ o Letztes Releasedatum: git log --pretty=format:%cd <release-tag> | head -1
+ o Alle Bugs seit dem mit der Buzilla advanced search suchen:
+ + Bugs changed
+ + Only bugs changed between <letztes Releasedatum> and Now
+ + where only one or more of the following changed: "Resolution"
+ + and the new value was: "FIXED"
+ o columns ändern auf nur "Full Summary"
+ o copy&paste in eine Datei
+ o perl -pale '$_=" - Bugfix $F[0]: @F[1..$#F]"' oder awk/sed drüber
+
- Ausserdem einmal durch das git scrollen und sinnvolle grössere Änderungen
ins changelog übertragen. Muss nur einmal gemacht werden, möglichst danach
nur noch inkrementell.
* SL::DB::Helper::ALL auf Vollständigkeit prüfen
- (TODO: Mag da einer ein Script für schreiben?)
+ (TODO: Mag da einer ein Script für schreiben?
+ find SL/DB -type f | grep -v MetaSetup | grep -v Helper | grep -v Manager | sort
+ hilft, kriegt aber die Sortierung durcheinander)
* VERSION updaten
- Der git tag ist "release-<version>"
- Das DB Ipgradescript ist "release_<snake_case_version>"
-* Datenbankupgradescript "release_2_6_1" (mit aktueller Releasenummer)
- erstellen und alle Leafscripte als Abhängigkeit einsetzen. Leafscripte
- kriegt man mit
+* Nur finales Release: Datenbankupgradescript "release_2_6_1" (mit aktueller
+ Releasenummer) erstellen und alle Leafscripte als Abhängigkeit einsetzen.
+ Leafscripte kriegt man mit
$ scripts/dbupgrade2_tool.pl --nodeps
-* Voraussichtliches finales Releasedatum im changelog eintragen
+* Voraussichtliches Releasedatum im changelog eintragen
* Finaler Testlauf: