From: Holger Lindemann Date: Fri, 10 Feb 2012 17:46:35 +0000 (+0100) Subject: Merge branch 'master' of git@vc.linet-services.de:public/lx-office-erp X-Git-Tag: release-2.7.0beta2~8 X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/commitdiff_plain/35b746e48500af6da78e70a0a9c11b618c1cfde8?hp=6822dd4cb68abaefd701c85f43f6217d2b9e82d0 Merge branch 'master' of git@vc.linet-services.de:public/lx-office-erp --- diff --git a/SL/DB/Helper/ALL.pm b/SL/DB/Helper/ALL.pm index 946c3046b..ba615b9aa 100644 --- a/SL/DB/Helper/ALL.pm +++ b/SL/DB/Helper/ALL.pm @@ -5,6 +5,11 @@ use strict; 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; @@ -46,6 +51,8 @@ use SL::DB::InvoiceItem; 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; @@ -77,6 +84,7 @@ use SL::DB::Translation; 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; diff --git a/SL/DB/MetaSetup/Assembly.pm b/SL/DB/MetaSetup/Assembly.pm index 038795183..801662db6 100644 --- a/SL/DB/MetaSetup/Assembly.pm +++ b/SL/DB/MetaSetup/Assembly.pm @@ -20,6 +20,8 @@ __PACKAGE__->meta->setup( ], primary_key_columns => [ 'assembly_id' ], + + allow_inline_column_values => 1, ); 1; diff --git a/SL/DB/MetaSetup/Customer.pm b/SL/DB/MetaSetup/Customer.pm index 1279c4e9c..8735268c0 100644 --- a/SL/DB/MetaSetup/Customer.pm +++ b/SL/DB/MetaSetup/Customer.pm @@ -58,6 +58,8 @@ __PACKAGE__->meta->setup( primary_key_columns => [ 'id' ], + allow_inline_column_values => 1, + foreign_keys => [ business => { class => 'SL::DB::Business', diff --git a/SL/DB/MetaSetup/DeliveryOrderItem.pm b/SL/DB/MetaSetup/DeliveryOrderItem.pm index 6bdfe4300..3065ebcf8 100644 --- a/SL/DB/MetaSetup/DeliveryOrderItem.pm +++ b/SL/DB/MetaSetup/DeliveryOrderItem.pm @@ -32,6 +32,7 @@ __PACKAGE__->meta->setup( 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' ], diff --git a/SL/DB/MetaSetup/Department.pm b/SL/DB/MetaSetup/Department.pm index 93aa92cdc..921601460 100644 --- a/SL/DB/MetaSetup/Department.pm +++ b/SL/DB/MetaSetup/Department.pm @@ -17,6 +17,8 @@ __PACKAGE__->meta->setup( ], primary_key_columns => [ 'id' ], + + allow_inline_column_values => 1, ); 1; diff --git a/SL/DB/MetaSetup/Employee.pm b/SL/DB/MetaSetup/Employee.pm index f86174fbb..a99121dfd 100644 --- a/SL/DB/MetaSetup/Employee.pm +++ b/SL/DB/MetaSetup/Employee.pm @@ -26,6 +26,7 @@ __PACKAGE__->meta->setup( addr4 => { type => 'text' }, homephone => { type => 'text' }, workphone => { type => 'text' }, + deleted => { type => 'boolean', default => 'false' }, ], primary_key_columns => [ 'id' ], diff --git a/SL/DB/MetaSetup/Inventory.pm b/SL/DB/MetaSetup/Inventory.pm index e732f88ce..e2093efe8 100644 --- a/SL/DB/MetaSetup/Inventory.pm +++ b/SL/DB/MetaSetup/Inventory.pm @@ -23,7 +23,7 @@ __PACKAGE__->meta->setup( 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 }, diff --git a/SL/DB/MetaSetup/Vendor.pm b/SL/DB/MetaSetup/Vendor.pm index e32563f3b..6511ea286 100644 --- a/SL/DB/MetaSetup/Vendor.pm +++ b/SL/DB/MetaSetup/Vendor.pm @@ -58,6 +58,8 @@ __PACKAGE__->meta->setup( primary_key_columns => [ 'id' ], + allow_inline_column_values => 1, + foreign_keys => [ business => { class => 'SL::DB::Business', diff --git a/SL/Request.pm b/SL/Request.pm index dab57457a..3b8262f2c 100644 --- a/SL/Request.pm +++ b/SL/Request.pm @@ -51,7 +51,7 @@ sub _input_to_hash { 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 @@ -103,14 +103,38 @@ sub _parse_multipart_formdata { 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; @@ -124,6 +148,7 @@ sub _parse_multipart_formdata { 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; } @@ -151,7 +176,7 @@ sub _recode_recursively { # 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}; diff --git a/VERSION b/VERSION index 3759d9ef4..892989d0c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.7.0-unstable +2.7.0-beta1 diff --git a/bin/mozilla/ustva.pl b/bin/mozilla/ustva.pl index 61ed2962d..89818c93c 100644 --- a/bin/mozilla/ustva.pl +++ b/bin/mozilla/ustva.pl @@ -855,9 +855,9 @@ sub generate_ustva { 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', '') : ''; diff --git a/config/lx_office.conf.default b/config/lx_office.conf.default index 387eff279..396c5760d 100644 --- a/config/lx_office.conf.default +++ b/config/lx_office.conf.default @@ -57,13 +57,6 @@ bind_dn = 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 diff --git a/doc/Lx-Office-Dokumentation.pdf b/doc/Lx-Office-Dokumentation.pdf index b3fc2856a..9e681a0d0 100644 Binary files a/doc/Lx-Office-Dokumentation.pdf and b/doc/Lx-Office-Dokumentation.pdf differ diff --git a/doc/UPGRADE b/doc/UPGRADE index ac1b37eb2..2082788a2 100644 --- a/doc/UPGRADE +++ b/doc/UPGRADE @@ -4,6 +4,38 @@ Wichtige Hinweise zum Upgrade von älteren Versionen ** 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 ================== @@ -20,8 +52,8 @@ angelegt und authentication.pl und lx-erp.conf gelöscht oder verschoben wurden. 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 @@ -51,7 +83,8 @@ Zumindest folgende Module sind neu benötigt: 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 @@ -118,238 +151,3 @@ Zumindest folgende Module sind neu benötigt: 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. diff --git a/doc/changelog b/doc/changelog index 65b4c2360..b5249fee4 100644 --- a/doc/changelog +++ b/doc/changelog @@ -2,99 +2,257 @@ # 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 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. + 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/. 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 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 diff --git a/doc/dokumentation.xml b/doc/dokumentation.xml index e56893c8c..80d23d301 100644 --- a/doc/dokumentation.xml +++ b/doc/dokumentation.xml @@ -398,7 +398,6 @@ user = postgres password = [system] -eur = 1 dbcharset = UTF-8 Nutzt man wiederkehrende Rechnungen, kann man unter diff --git a/doc/html/ch02s03.html b/doc/html/ch02s03.html index dcb930633..694c2391c 100644 --- a/doc/html/ch02s03.html +++ b/doc/html/ch02s03.html @@ -53,7 +53,6 @@ user = postgres password = [system] -eur = 1 dbcharset = UTF-8

Nutzt man wiederkehrende Rechnungen, kann man unter [periodic_invoices] den Login eines Benutzers angeben, der nach Erstellung der Rechnungen eine entsprechende E-Mail diff --git a/doc/release_management.txt b/doc/release_management.txt index a31e13a0b..078f92bf8 100644 --- a/doc/release_management.txt +++ b/doc/release_management.txt @@ -36,8 +36,20 @@ als freundliche Checkliste zum ausdrucken und erweitern. * 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 | head -1 + o Alle Bugs seit dem mit der Buzilla advanced search suchen: + + Bugs changed + + Only bugs changed between 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. @@ -109,7 +121,9 @@ als freundliche Checkliste zum ausdrucken und erweitern. * 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 @@ -121,13 +135,13 @@ als freundliche Checkliste zum ausdrucken und erweitern. - Der git tag ist "release-" - Das DB Ipgradescript ist "release_" -* 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: