X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=doc%2Fdokumentation.xml;h=5e86d1a0dc2131d36f786537fafaacce4499f9ac;hb=a9325fe964a8b3c4c240409ddf5020756324b1e4;hp=1c5f93ca785b7ffd1eaa451ed2afb524965975f6;hpb=854c9a6232e12ef7f54ed97c5065c19a1d9ab5f1;p=kivitendo-erp.git diff --git a/doc/dokumentation.xml b/doc/dokumentation.xml index 1c5f93ca7..5e86d1a0d 100644 --- a/doc/dokumentation.xml +++ b/doc/dokumentation.xml @@ -2,7 +2,7 @@ - kivitendo 3.0.0: Installation, Konfiguration, Entwicklung + kivitendo 3.1.0: Installation, Konfiguration, Entwicklung Aktuelle Hinweise @@ -14,6 +14,13 @@ im kivitendo-Forum: https://forum.kivitendo.org/ + + in der doc/UPGRADE Datei im doc-Verzeichnis der Installation + + + Im Schulungs- und Dienstleistungsangebot der entsprechenden kivitendo-Partner: http://www.kivitendo.de/partner.html + @@ -53,7 +60,7 @@ - Alle weiteren Unterkapitel in diesem Kapitel sind ebenfalls wichtig und dienen sollten vor einer ernsthaften Inbetriebnahme gelesen + Alle weiteren Unterkapitel in diesem Kapitel sind ebenfalls wichtig und sollten vor einer ernsthaften Inbetriebnahme gelesen werden. @@ -71,7 +78,7 @@ ohne große Probleme auf den derzeit aktuellen verbreiteten Distributionen läuft. - Mitte 2012 sind das folgende Systeme, von denen bekannt ist, + Anfang 2014 sind das folgende Systeme, von denen bekannt ist, dass kivitendo auf ihnen läuft: @@ -80,7 +87,7 @@ Debian - 6.0 "Squeeze" (hier muss allerdings das Modul FCGI in der Version >= 0.72 compiled werden) + 6.0 "Squeeze" (hier muss allerdings das Modul FCGI in der Version >= 0.72 compiled werden, und Rose::DB::Object ist zu alt) 7.0 "Wheezy" @@ -89,11 +96,11 @@ - Ubuntu 10.04 LTS "Lucid Lynx", 12.04 LTS "Precise Pangolin" und 12.10 "Oneiric Ocelot"` + Ubuntu 12.04 LTS "Precise Pangolin", 12.10 "Quantal Quetzal", 13.04 "Precise Pangolin" und 14.04 "Trusty Tahr" LTS Alpha - openSUSE 12.1 und 12.2 + openSUSE 12.2, 12.3 und 13.1 @@ -101,7 +108,7 @@ - Fedora 16 und 17 + Fedora 16 bis 19 @@ -110,7 +117,7 @@ Benötigte Perl-Pakete installieren Zum Betrieb von kivitendo werden zwingend ein Webserver (meist - Apache) und ein Datenbankserver (PostgreSQL, mindestens v8.2) + Apache) und ein Datenbankserver (PostgreSQL, mindestens v8.4) benötigt. Zusätzlich benötigt kivitendo einige Perl-Pakete, die nicht Bestandteil einer Standard-Perl-Installation sind. Um zu @@ -160,7 +167,7 @@ Rose::DB - Rose::DB::Object + Rose::DB::Object Version 0.788 oder neuer Template @@ -175,6 +182,8 @@ YAML + Seit v3.0.0 sind die folgenden Pakete hinzugekommen: File::Copy::Recursive. + Seit v2.7.0 sind die folgenden Pakete hinzugekommen: Email::MIME, Net::SMTP::SSL, Net::SSLGlue. @@ -261,12 +270,13 @@ cpan Rose::Db::Object Manuelle Installation des Programmpaketes - - Die kivitendo ERP Installationsdatei (kivitendo-erp-3.0.0.tgz) wird im Dokumentenverzeichnis des Webservers + Der aktuelle Stable-Release, bzw. beta Release wird bei github gehostet und kann + hier heruntergeladen werden. + Die kivitendo ERP Installationsdatei (kivitendo-erp-3.1.0.tgz) wird im Dokumentenverzeichnis des Webservers (z.B. /var/www/html/, /srv/www/htdocs oder /var/www/) entpackt: cd /var/www -tar xvzf kivitendo-erp-3.0.0.tgz +tar xvzf kivitendo-erp-3.1.0.tgz Wechseln Sie in das entpackte Verzeichnis: @@ -276,6 +286,10 @@ tar xvzf kivitendo-erp-3.0.0.tgz Webserverkonfiguration benutzen, um auf das tatsächliche Installationsverzeichnis zu verweisen. + Bei einer Neuinstallation der Version 3.1.0 muß das WebDAV Verzeichnis derzeit manuell angelegt werden: + + mkdir webdav + Die Verzeichnisse users, spool und webdav müssen für den Benutzer beschreibbar sein, unter dem der Webserver läuft. Die restlichen Dateien müssen für diesen Benutzer lesbar sein. Die Benutzer- und Gruppennamen sind bei verschiedenen Distributionen unterschiedlich (z.B. bei Debian/Ubuntu www-data, bei Fedora @@ -349,15 +363,14 @@ tar xvzf kivitendo-erp-3.0.0.tgz system - features (siehe Kapitel "") - paths + mail_delivery (siehe Abschnitt ") + applications environment - mail_delivery (siehe Abschnitt ") print_templates @@ -365,8 +378,14 @@ tar xvzf kivitendo-erp-3.0.0.tgz periodic_invoices + self_tests + console + testing + + testing/database + debug @@ -381,10 +400,7 @@ host = localhost port = 5432 db = kivitendo_auth user = postgres -password = - -[system] -dbcharset = UTF-8 +password = Nutzt man wiederkehrende Rechnungen, kann man unter [periodic_invoices] den Login eines Benutzers @@ -428,35 +444,30 @@ dbcharset = UTF-8 PostgreSQL muss auf verschiedene Weisen angepasst werden. - Zeichensätze/die Verwendung von UTF-8 + Zeichensätze/die Verwendung von Unicode/UTF-8 - Bei aktuellen Serverinstallationen braucht man hier meist nicht - eingreifen + kivitendo setzt zwingend voraus, dass die Datenbank Unicode/UTF-8 als Encoding einsetzt. Bei aktuellen Serverinstallationen + braucht man hier meist nicht einzugreifen. - Dieses kann überprüft werden: ist das Encoding der Datenbank - “template1” “UTF8”, so braucht man nichts weiteres diesbezüglich - unternehmen. Zum Testen: + Das Encoding des Datenbankservers kann überprüft werden. Ist das Encoding der Datenbank "template1" "Unicode" bzw. "UTF-8", so + braucht man nichts weiteres diesbezüglich unternehmen. Zum Testen: su postgres echo '\l' | psql exit - Andernfalls ist es notwendig, einen neuen Datenbankcluster mit - UTF-8-Encoding anzulegen und diesen zu verwenden. Unter Debian und - Ubuntu kann dies z.B. für PostgreSQL 8.2 mit dem folgenden Befehl + Andernfalls ist es notwendig, einen neuen Datenbankcluster mit + Unicode-Encoding anzulegen und diesen zu verwenden. Unter Debian und + Ubuntu kann dies z.B. für PostgreSQL 9.3 mit dem folgenden Befehl getan werden: - pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 8.2 clustername + pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 9.3 clustername Die Datenbankversionsnummer muss an die tatsächlich verwendete Versionsnummer angepasst werden. Unter anderen Distributionen gibt es ähnliche Methoden. - Wurde PostgreSQL nicht mit UTF-8 als Encoding initialisiert und - ist ein Neuanlegen eines weiteren Clusters nicht möglich, so kann - kivitendo mit ISO-8859-15 als Encoding betrieben werden. - Das Encoding einer Datenbank kann in psql mit \l geprüft werden. @@ -478,7 +489,7 @@ exit In der Datei pg_hba.conf, die im gleichen Verzeichnis wie die postgresql.conf zu finden sein sollte, müssen die Berichtigungen für den Zugriff geändert - werden. Hier gibt es mehrere Möglichkeiten. sinnvoll ist es nur die + werden. Hier gibt es mehrere Möglichkeiten. Sinnvoll ist es nur die nögiten Verbindungen immer zuzulassen, für eine lokal laufenden Datenbank zum Beispiel: @@ -616,7 +627,7 @@ Alias /kivitendo-erp/ /var/www/kivitendo-erp/ - Apache 2.2.11 (Ubuntu) und mod_fastcgi. + Apache 2.2.11 / 2.2.22 (Ubuntu) und mod_fastcgi. @@ -1176,8 +1187,8 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ Authentifizierungsdatenbank gespeichert. Dies ist diejenige Datenbank, deren Verbindungsparameter in der Konfigurationsdatei config/kivitendo.conf gespeichert werden. - Das zweite Set besteht aus den eigentlichen Verkehrsdaten eines Mandanten: Stammdaten (Kunden, Lieferanten, Waren), Belege - (Angebote, Liferscheine, Rechnungen), Einstellungen. Diese werden in einer Mandantendatenbank gespeichert. Die + Das zweite Set besteht aus den eigentlichen Verkehrsdaten eines Mandanten, wie beispielsweise die Stammdaten (Kunden, Lieferanten, Waren) und Belege + (Angebote, Lieferscheine, Rechnungen). Diese werden in einer Mandantendatenbank gespeichert. Die Verbindungsinformationen einer solchen Mandantendatenbank werden im Administrationsbereich konfiguriert, indem man einen Mandanten anlegt und dort die Parameter einträgt. Dabei hat jeder Mandant eine eigene Datenbank. @@ -1185,16 +1196,7 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ Mandantendatenbanken in ein und derselben Datenbank zu speichern. Arbeitet man hingegen mit mehr als einem Mandanten, wird empfohlen, für die Authentifizierungsdatenbank eine eigene Datenbank zu verwenden, die nicht gleichzeitig für einen Mandanten verwendet wird. - - kivitendo verwendet eine Datenbank zum Speichern all seiner - Informationen wie Kundendaten, Artikel, Angebote, Rechnungen etc. Um - mit kivitendo arbeiten zu können, muss eine Person einen - Benutzeraccount haben. Jedem Benutzeraccount wiederum wird genau eine - Datenbank zugewiesen, mit der dieser Benutzer arbeiten kann. Es ist - möglich und normal, dass mehreren Benutzern die selbe Datenbank - zugewiesen wird, sodass sie alle mit den selben Daten arbeiten - können. - + Mandanten, Benutzer und Gruppen @@ -1243,16 +1245,6 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für den Datenbankzugriff den vorhin angelegten Benutzer (in unseren Beispielen ist dies ‘kivitendo’). - - Wenn Sie für die kivitendo-Installation nicht Unicode (UTF-8) sondern den europäischen Schriftsatz ISO-8859-15 benutzen - wollen, so müssen Sie vor dem Anlegen der Datenbank in der Datei config/kivitendo.conf die Variable - dbcharset im Abschnitt system auf den Wert ‘ISO-8859-15’ setzen. - - Bitte beachten Sie, dass alle Datenbanken den selben Zeichensatz - verwenden müssen, da diese Einstellungen momentan global in kivitendo - vorgenommen wird und nicht nach Datenbank unterschieden werden kann. - Auch die Authentifizierungsdatenbank muss mit diesem Zeichensatz - angelegt worden sein. @@ -1304,6 +1296,28 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ C gültig"). + + Drucker- und Systemverwaltung + Im Administrationsmenü gibt es ferner noch die beiden Menüpunkte Druckeradministration und System. + + Druckeradministration + Unter dem Menüpunkt Druckeradministration lassen sich beliebig viele "Druckbefehle" im System verwalten. Diese Befehle werden mandantenweise + zugeordnet. Unter Druckerbeschreibung wird der Namen des Druckbefehls festgelegt, der dann in der Druckerauswahl des Belegs angezeigt wird. + Unter Druckbefehl definiert man den eigentlichen Druckbefehl, der direkt auf dem Webserver ausgeführt wird, bspw. 'lpr -P meinDrucker' oder ein + kompletter Pfad zu einem Skript (/usr/local/src/kivitendo/scripts/pdf_druck_in_verzeichnis.sh). + Wird ferner noch ein optionales Vorlagenkürzel verwendet, wird dieses Kürzel bei der Auswahl der Druckvorlagendatei mit einem Unterstrich ergänzt, ist + bspw. das Kürzel 'epson_drucker' definiert, so wird beim Ausdruck eines Angebots folgende Vorlage geparst: sales_quotation_epson_drucker.tex. + + + System sperren / entsperren + + Unter dem Menüpunkt System gibt es den Eintrag 'Installation sperren/entsperren'. Setz man diese Sperre so ist der Zugang zu der gesamten kivitendo Installation gesperrt. + Falls die Sperre gesetzt ist, erscheint anstelle der Anmeldemaske die Information: 'kivitendo ist momentan zwecks Wartungsarbeiten nicht zugänglich.'. + + Wichtig zu erwähnen ist hierbei noch, dass sich kivitendo automatisch 'sperrt', falls es bei einem Versionsupdate zu einem Datenbankfehler kam. Somit kann hier nicht aus Versehen + mit einem inkonsistenten Datenbestand weitergearbeitet werden. + + E-Mail-Versand aus kivitendo heraus @@ -1411,24 +1425,30 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ Vorlagenverzeichnis anlegen - Im Administrationsbereich lässt sich bei einem Benutzer/Mandanten einer dieser Vorlagensätze als Basis für die zu - druckenden Dokumente auswählen. Rufen Sie dazu die Benutzerverwaltung auf. + Es lässt sich ein initialer Vorlagensatz erstellen. Die LaTeX-System-Abhängigkeiten hierfür kann man prüfen mit: + + ./scripts/installation_check.pl -lv - Wählen Sie dort einen Benutzer aus oder legen Sie einen neuen an. In der Benutzerbearbeiten-Maske müssen Sie zwei Dinge - angeben: + Der Angemmeldete Benutzer muss in einer Gruppe sein, die über das + Recht "Konfiguration -> Mandantenverwaltung" verfügt. Siehe auch . + + Im Userbereich lässt sich unter: + "System -> + Mandantenverwaltung -> Verschiedenes" die Option + "Neue Druckvorlagen aus Vorlagensatz erstellen" auswählen. - : Der Verzeichnisname für den neuen Vorlagensatz. Dieser kann im Rahmen der üblichen - Bedingungen für Verzeichnisnamen frei gewählt werden. : Wählen Sie hier den Vorlagensatz aus, der kopiert werden soll (Standard, f-tex oder RB.) + : Der Verzeichnisname für den neuen Vorlagensatz. Dieser kann im Rahmen der üblichen + Bedingungen für Verzeichnisnamen frei gewählt werden. - Der gleiche Vorlagensatz kann, wenn er mal angelegt ist, bei mehreren Benutzern verwendet werden. - - Die Abhängigkeiten kann man prüfen mit: + Nach dem Speichern wird das Vorlagenverzeichnis angelegt und ist für den aktuellen Mandanten ausgewählt. + Der gleiche Vorlagensatz kann, wenn er mal angelegt ist, bei mehreren Mandanten verwendet werden. + Eventuell muessen Anpassungen (Logo, Erscheinungsbild, etc) noch vorgenommen werden. Den Ordner findet man im Dateisistem unter + ./templates/[Neuer Name] - /scripts/installation_check.pl -l @@ -1596,9 +1616,12 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ - RB + Der Druckvorlagensatz RB - Vollständiger Dokumentensatz mit alternativem Design + Hierbei handelt es sich um einen vollständigen Dokumentensatz mit alternativem Design. + Die konzeptionelle Idee der Vorlagen wird hier + auf Folie 5 bis 10 vorgestellt. Informationen zur Anpassung an die eigenen Firmendaten finden sich in der Datei Readme.tex im Vorlagenverzeichnis. @@ -1637,7 +1660,7 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ Wenn sich das Problem nicht auf Grund der ausgabe im Webbrowser verifizieren lässt: - editiere [kivitendo-home]/config/kivitendo.conf und ändere "keep_tmp_files" auf 1 + editiere [kivitendo-home]/config/kivitendo.conf und ändere "keep_temp_files" auf 1 keep_temp_files = 1; @@ -1681,13 +1704,6 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ print_templates auf ‘1’ stehen. Dieses ist die Standardeinstellung. - Weiterhin muss in der Datei - config/kivitendo.conf die Variable - dbcharset im Abschnitt system auf - die Zeichenkodierung gesetzt werden, die auch bei der Speicherung der - Daten in der Datenbank verwendet wird. Diese ist in den meisten Fällen - "UTF-8". - Während die Erzeugung von reinen OpenDocument-Dateien keinerlei weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF OpenOffice.org benötigt. Soll dieses Feature genutzt werden, so muss @@ -1998,7 +2014,47 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ - + + Verhalten des Bilanzberichts + + Bis Version 3.0 wurde "closedto" ("Bücher schließen zum") als Grundlage für das + Startdatum benutzt. Schließt man die Bücher allerdings monatsweise führt dies + zu falschen Werten. + In der Mandantenkonfiguration kann man dieses Verhalten genau einstellen indem man: + + + weiterhin closed_to benutzt (Default, es ändert sich nichts zu vorher) + + + immer den Jahresanfang nimmt (1.1. relativ zum Stichtag) + + + immer die letzte Eröffnungsbuchung als Startdatum nimmt + - mit Jahresanfang als Alternative wenn es keine EB-Buchungen gibt + - oder mit "alle Buchungen" als Alternative" + + + mit Jahresanfang als Alternative wenn es keine EB-Buchungen gibt + + + immer alle Buchungen seit Beginn der Datenbank nimmt + + + Folgende Hinweise zu den Optionen: + Das "Bücher schließen Datum" ist sinnvoll, wenn man nur komplette Jahre + schließt. Bei Wirtschaftsjahr = Kalendarjahr entspricht dies aber auch + Jahresanfang. + "Alle Buchungen" kann z.B. sinnvoll sein wenn man ohne Jahresabschluß + durchbucht. + Eröffnungsbuchung mit "alle Buchungen" als Fallback ist z.B. sinnvoll, wenn man + am sich Anfang des zweiten Buchungsjahres befindet, und noch keinen + Jahreswechsel und auch noch keine EB-Buchungen hat. + Bei den Optionen mit EB-Buchungen wird vorausgesetzt, daß diese immer am 1. Tag + des Wirtschaftsjahres gebucht werden. + Zur Sicherheit wird das Startdatum im Bilanzbericht jetzt zusätzlich zum + Stichtag mit angezeigt. Das hilft auch bei der Kontrolle für den + Abgleich mit der GuV. + Einstellungen pro Mandant @@ -2176,6 +2232,12 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ Abrechnungszeitraum explizit auszuweisen. Eine Variable hat dabei die Syntax <%variablenname%>. + + Sofern es sich um eine Datumsvariable handelt, kann das Ausgabeformat weiter bestimmt werden, indem an den Variablennamen + Formatoptionen angehängt werden. Die Syntax sieht dabei wie folgt aus: <%variablenname + FORMAT=Formatinformation%>. Die zur verfügung stehenden Formatinformationen werden unten genauer beschrieben. + + Diese Variablen werden in den folgenden Elementen des Auftrags ersetzt: @@ -2241,6 +2303,172 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ + + + Die invidiuellen Formatinformationen bestehen aus Paaren von Prozentzeichen und einem Buchstaben, welche beide zusammen durch den + dazugehörigen Wert ersetzt werden. So wird z.B. %Y durch das viertstellige Jahr ersetzt. Alle möglichen + Platzhalter sind: + + + + + + %a + + + Der abgekürzte Wochentagsname. + + + + + %A + + + Der ausgeschriebene Wochentagsname. + + + + + %b + + + Der abgekürzte Monatsname. + + + + + %B + + + Der ausgeschriebene Monatsname. + + + + + %C + + + Das Jahrhundert (Jahr/100) als eine zweistellige Zahl. + + + + + %d + + + Der Monatstag als Zahl zwischen 01 und 31. + + + + + %D + + + Entspricht %m/%d/%y (amerikanisches Datumsformat). + + + + + %e + + + Wie %d (Monatstag als Zahl zwischen 1 und 31), allerdings werden führende Nullen durch Leerzeichen ersetzt. + + + + + %F + + + Entspricht %Y-%m-%d (das ISO-8601-Datumsformat). + + + + + %j + + + Der Tag im Jahr als Zahl zwischen 001 und 366 inklusive. + + + + + %m + + + Der Monat als Zahl zwischen 01 und 12 inklusive. + + + + + %u + + + Der Wochentag als Zahl zwischen 1 und 7 inklusive, wobei die 1 dem Montag entspricht. + + + + + %U + + + Die Wochennummer als Zahl zwischen 00 und 53 inklusive, wobei der erste Sonntag im Jahr das Startdatum von Woche 01 ist. + + + + + %V + + + Die ISO-8601:1988-Wochennummer als Zahl zwischen 01 und 53 inklusive, wobei Woche 01 die erste Woche, von der mindestens vier Tage im Jahr liegen; Montag ist erster Tag der Woche. + + + + + %w + + + Der Wochentag als Zahl zwischen 0 und 6 inklusive, wobei die 0 dem Sonntag entspricht. + + + + + %W + + + Die Wochennummer als Zahl zwischen 00 und 53 inklusive, wobei der erste Montag im Jahr das Startdatum von Woche 01 ist. + + + + + %y + + + Das Jahr als zweistellige Zahl zwischen 00 und 99 inklusive. + + + + + %Y + + + Das Jahr als vierstellige Zahl. + + + + + %% + + + Das Prozentzeichen selber. + + + + + + Anwendungsbeispiel für die Ausgabe, von welchem Monat und Jahr bis zu welchem Monat und Jahr die aktuelle Abrechnungsperiode + dauert: Abrechnungszeitrum: <%period_start_date FORMAT=%m/%Y%> bis <%period_end_date FORMAT=%m/%Y%> + @@ -2274,8 +2502,7 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ manuell über den Workflow. - - + Dokumentenvorlagen und verfügbare Variablen @@ -3242,7 +3469,7 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ - Informationen über den Bearbeiter + Informationen über den Verkäufer @@ -3372,6 +3599,25 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ + + + Variablen für Lieferbedingungen + + + + delivery_term + Datenbank-Objekt der Lieferbedingung + + + delivery_term.description + Beschreibung der Lieferbedingung + + + delivery_term.long_description + Langtext bzw. übersetzter Langtext der Lieferbedingung + + + @@ -3703,6 +3949,15 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ + + donumber_do + + + Lieferscheinnummer desjenigen Lieferscheins, aus dem die Position stammt, sofern die Rechnung aus einem oder + mehreren Lieferscheinen erstellt wurde + + + p_discount @@ -4801,6 +5056,41 @@ Beschreibung: <%description%> gewechselt. + + Mandantenkonfiguration Lager + Die Lagerverwaltung in kivitendo funktioniert standardmässig wie folgt: + Wird ein Lager mit einem Lagerplatz angelegt, so gibt es die Möglichkeit hier über den + Menüpunkt Lager entsprechende Warenbewegungen durchzuführen. Ferner kann + jede Position eines Lieferscheins ein-, bzw. ausgelagert werden (Einkauf-, bzw. Verkauf). + Es können beliebig viele Lager mit beliebig vielen Lagerplätzen abgebildet werden. + Die Lagerbewegungen über einen Lieferschein erfolgt durch Anklicken jeder Einzelposition und + das Auswählen dieser Position zu einem Lager mit Lagerplatz. + Dieses Verfahren lässt sich schrittweise vereinfachen, je nachdem wie die Einstellungen in + der Mandatenkonfiguration gesetzt werden. + + + Hier wird ein zusätzlicher Knopf (Auslagern über Standard-Lagerplatz) + in dem Lieferschein-Beleg hinzugefügt, der dann alle Lagerbewegungen über den Standardlagerplatz (konfigurierbar pro Ware) durchführt. + + + + Das obige Auslagern schlägt fehl, wenn die entsprechende Menge für + die Lagerbewegung nicht vorhanden ist, möchte man dies auch ignorieren und ggf. dann nachpflegen, so kann man eine Negativ-Warenmenge mit dieser Option + erlauben. Hierfür muss ein entsprechender Lagerplatz (Fehlbestand, o.ä.) konfiguriert sein. + + + Zusätzliche Funktionshinweise: + + Ist dieser konfiguriert, wird dies auch als Standard-Voreinstellung bei der Neuerfassung von + Stammdaten-> Waren / Dienstleistung / Erzeugnis verwendet. + + + Wird beim 'Auslagern über Standardlagerplatz' + keine Standardlagerplatz zu der Ware gefunden, so wird mit dieser Option einfach der Standardlagerplatz verwendet. + + + + @@ -5222,7 +5512,7 @@ $main::lxdebug->message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form->{ verfügbar: [debug] -file = /tmp/kivitendo-debug.log +file_name = /tmp/kivitendo-debug.log ist der Key file im Programm als $::lx_office_conf->{debug}{file} @@ -5474,21 +5764,6 @@ file = /tmp/kivitendo-debug.log Mit FastCGI ist die neuste Version auf 0,26 Sekunden selbst in den kritischen Pfaden, unter 0,15 sonst. - - - Bekannte Probleme - - - Encoding Awareness - - UTF-8 kodierte Installationen sind sehr anfällig gegen - fehlerhfate Encodings unter FCGI. latin9 Installationen behandeln - falsch kodierte Zeichen eher unwissend, und geben sie einfach - weiter. UTF-8 verweigert bei fehlerhaften Programmpfaden kurzerhand - das Ausliefern. Es wird noch daran gearbeitet, alle Fehler da zu - beseitigen. - - @@ -5498,29 +5773,17 @@ file = /tmp/kivitendo-debug.log xreflabel="Einführung in die Datenbank-Upgradedateien"> Einführung - Der alte Mechanismus für SQL-Upgradescripte, der auf einer - Versionsnummer beruht und dann in sql/Pg-upgrade nach einem Script für - diese Versionsnummer sucht, schränkt sehr ein, z.B. was die parallele - Entwicklung im stable- und unstable-Baum betrifft. - - Dieser Mechanismus wurde für kivitendo 2.4.1 deutlich erweitert. - Es werden weiterhin alle Scripte aus sql/Pg-upgrade ausgeführt. - Zusätzlich gibt es aber ein zweites Verzeichnis, sql/Pg-upgrade2. In - diesem Verzeichnis muss pro Datenbankupgrade eine Datei existieren, - die neben den eigentlich auszuführenden SQL- oder Perl-Befehlen einige - Kontrollinformationen enthält. - - Neu sind die Kontrollinformationen, die Abhängigkeiten und - Prioritäten definieren können werden, sodass Datenbankscripte zwar in - einer sicheren Reihenfolge ausgeführt werden (z.B. darf ein "ALTER - TABLE" erst ausgeführt werden, wenn die Tabelle mit "CREATE TABLE" - angelegt wurde), diese Reihenfolge aber so flexibel ist, dass man - keine Versionsnummern mehr braucht. - - kivitendo merkt sich dabei, welches der Upgradescripte in - sql/Pg-upgrade2 bereits durchgeführt wurde und führt diese nicht - erneut aus. Dazu dient die Tabelle "schema_info", die bei der - Anmeldung automatisch angelegt wird. + Datenbankupgrades werden über einzelne Upgrade-Scripte gesteuert, die sich im Verzeichnis sql/Pg-upgrade2 + befinden. In diesem Verzeichnis muss pro Datenbankupgrade eine Datei existieren, die neben den eigentlich auszuführenden SQL- oder + Perl-Befehlen einige Kontrollinformationen enthält. + + Kontrollinformationen definieren Abhängigkeiten und Prioritäten, sodass Datenbankscripte zwar in einer sicheren Reihenfolge + ausgeführt werden (z.B. darf ein ALTER TABLE erst ausgeführt werden, wenn die Tabelle mit CREATE + TABLE angelegt wurde), diese Reihenfolge aber so flexibel ist, dass man keine Versionsnummern braucht. + + kivitendo merkt sich dabei, welches der Upgradescripte in sql/Pg-upgrade2 bereits durchgeführt wurde und + führt diese nicht erneut aus. Dazu dient die Tabelle "schema_info", die bei der Anmeldung automatisch angelegt + wird. # @tag: beispiel-upgrade-file42 # @description: Ein schönes Beispielscript -# @depends: release_3_0_0 +# @depends: release_3_1_0 package SL::DBUpgrade2::beispiel_upgrade_file42; use strict; @@ -5781,6 +6044,13 @@ sub run { point. + + Character set + + All files included in a language pack must use UTF-8 as their encoding. + + File structure @@ -5817,27 +6087,6 @@ sub run { - - charset - - - This file should be present. - - The charset file describes which - charset a language package is written in and applies to all - other language files in the package. It is possible to write - some language packages without an explicit charset, but it is - still strongly recommended. You'll never know in what - environment your language package will be used, and neither - UTF-8 nor Latin1 are guaranteed. - - The whole content of this file is a string that can be - recognized as a valid charset encoding. Example: - - UTF-8 - - - all @@ -5983,11 +6232,11 @@ filenames Alle Tests liegen im Unterverzeichnis t/. - Ein Script (bzw. ein Test) in f/ enthält einen oder mehrere Testfälle. + Ein Script (bzw. ein Test) in t/ enthält einen oder mehrere Testfälle. Alle Dateinamen von Tests enden auf .t. Es sind selbstständig ausführbare Perl-Scripte. - Die Test-Suite besteht aus der Gesamtheit aller Tests, sprich aller Scripte in f/, deren + Die Test-Suite besteht aus der Gesamtheit aller Tests, sprich aller Scripte in t/, deren Dateiname auf .t endet. @@ -6007,7 +6256,16 @@ filenames Test::Harness 3.0.0 oder höher. Dieses Modul ist ab Perl 5.10.1 Bestandteil der Perl-Distribution und kann für frühere Versionen aus dem CPAN bezogen werden. + LWP::Simple aus dem Paket libwww-perl (Debian-Panetname: + libwww-perl; Fedora Core: perl-libwww-perl; openSUSE: + perl-libwww-perl) + URI::Find (Debian-Panetname: liburi-find-perl; Fedora Core: + perl-URI-Find; openSUSE: perl-URI-Find) + + Weitere Voraussetzung ist, dass die Testsuite ihre eigene Datenbank anlegen kann, um Produktivdaten nicht zu gefährden. Dazu + müssen in der Konfigurationsdatei im Abschnit testing/database Datenbankverbindungsparameter angegeben + werden. Der hier angegebene Benutzer muss weiterhin das Recht haben, Datenbanken anzulegen und zu löschen. @@ -6016,14 +6274,14 @@ filenames Es gibt mehrere Möglichkeiten zum Ausführen der Tests: entweder, man lässt alle Tests auf einmal ausführen, oder man führt - gezielt einzelne Scripte aus. Für beide Fälle gibt es das Helferscript t/test.sh. + gezielt einzelne Scripte aus. Für beide Fälle gibt es das Helferscript t/test.pl. - Will man die komplette Test-Suite ausführen, so muss man einfach nur t/test.sh ohne weitere Parameter aus + Will man die komplette Test-Suite ausführen, so muss man einfach nur t/test.pl ohne weitere Parameter aus dem kivitendo-Basisverzeichnis heraus ausführen. - Um einzelne Test-Scripte auszuführen, übergibt man deren Namen an t/test.sh. Beispielsweise: + Um einzelne Test-Scripte auszuführen, übergibt man deren Namen an t/test.pl. Beispielsweise: - t/test.sh t/form/format_amount.t t/background_job/known_jobs.t + t/test.pl t/form/format_amount.t t/background_job/known_jobs.t @@ -6060,7 +6318,7 @@ filenames Ideen für neue Test-Scripte, die keine konkreten Funktionen testen - Ideen, die abgesehen von Funktions noch nicht umgesetzt wurden: + Ideen, die abgesehen von Funktionen noch nicht umgesetzt wurden: Überprüfung auf fehlende symbolische Links @@ -6085,7 +6343,7 @@ filenames Namen sind englisch, komplett klein geschrieben und einzelne Wörter mit Unterstrichten getrennt (beispielsweise bad_function_params.t). - Unterverzeichnisse sollten grob nach dem Themenbereich benannt sind, mit dem sich die Scripte darin befassen + Unterverzeichnisse sollten grob nach dem Themenbereich benannt sein, mit dem sich die Scripte darin befassen (beispielsweise background_jobs für Tests rund um Hintergrund-Jobs). Test-Scripte sollten einen überschaubaren Bereich von Funktionalität testen, der logisch zusammenhängend ist