X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=doc%2Fdokumentation.xml;h=d11db124d62ae23b9d633a640c466c46a9a7edc3;hb=30756de3ea4e7ed2ac0f4382503891fa5d3b4aa1;hp=3635f6228746fe6c888efffa6069e7ff9c34be19;hpb=dbda14c263efd93aca3b7114015a47d86b8581e3;p=kivitendo-erp.git diff --git a/doc/dokumentation.xml b/doc/dokumentation.xml index 3635f6228..d11db124d 100644 --- a/doc/dokumentation.xml +++ b/doc/dokumentation.xml @@ -2,7 +2,7 @@ - kivitendo 3.0.0: Installation, Konfiguration, Entwicklung + kivitendo 3.2.0: Installation, Konfiguration, Entwicklung Aktuelle Hinweise @@ -12,7 +12,14 @@ im kivitendo-Forum: https://forum.kivitendo.org/ + url="https://forum.kivitendo.org:32443">https://forum.kivitendo.org:32443 + + + 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,9 @@ YAML + Seit Version v3.2.0 sind die folgenden Pakete hinzugekommen: GD, HTML::Restrict, Image::Info + 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. @@ -202,8 +212,7 @@ Debian und Ubuntu - Alle benötigten Perl-Pakete stehen für Debian und Ubuntu als Debian-Pakete zur Verfügung. Sie können mit folgendem Befehl - installiert werden: + Für Debian und Ubuntu stehen die meisten der benötigten Perl-Pakete als Debian-Pakete zur Verfügung. Sie können mit folgendem Befehl installiert werden: apt-get install apache2 libarchive-zip-perl libclone-perl \ libconfig-std-perl libdatetime-perl libdbd-pg-perl libdbi-perl \ @@ -213,13 +222,16 @@ librose-db-perl librose-object-perl libsort-naturally-perl \ libstring-shellquote-perl libtemplate-perl libtext-csv-xs-perl \ libtext-iconv-perl liburi-perl libxml-writer-perl libyaml-perl \ + libimage-info-perl libgd-gd2-perl \ libfile-copy-recursive-perl postgresql + + Für das Paket HTML::Restrict gibt es kein Debian-Paket, dies muß per CPAN installiert werden. Der entsprechende Befehl wird beim Aufruf von installation_check.pl angezeigt. Fedora Core - Für Fedora Core stehen die meisten der benötigten Perl-Pakete als RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl installeirt werden: + Für Fedora Core stehen die meisten der benötigten Perl-Pakete als RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl installiert werden: yum install httpd perl-Archive-Zip perl-Clone perl-DBD-Pg \ perl-DBI perl-DateTime perl-Email-Address perl-Email-MIME perl-FCGI \ @@ -261,12 +273,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.2.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.2.0.tgz Wechseln Sie in das entpackte Verzeichnis: @@ -276,6 +289,10 @@ tar xvzf kivitendo-erp-3.0.0.tgz Webserverkonfiguration benutzen, um auf das tatsächliche Installationsverzeichnis zu verweisen. + Bei einer Neuinstallation von Version 3.1.0 oder Version 3.2.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 +366,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 +381,14 @@ tar xvzf kivitendo-erp-3.0.0.tgz periodic_invoices + self_tests + console + testing + + testing/database + debug @@ -439,10 +461,10 @@ exit 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 8.2 mit dem folgenden Befehl + 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. @@ -470,7 +492,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: @@ -608,7 +630,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. @@ -1168,8 +1190,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. @@ -1177,16 +1199,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 @@ -1286,6 +1299,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 @@ -1376,7 +1411,7 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ Drucken mit kivitendo Das Drucksystem von kivitendo benutzt von Haus aus LaTeX-Vorlagen. Um drucken zu können, braucht der Server ein geeignetes - LaTeX System. Am einfachsten ist dazu eine texlive Installation. Unter Debianoiden Betriebssystemen installiert man + LaTeX System. Am einfachsten ist dazu eine texlive Installation. Unter debianoiden Betriebssystemen installiert man die Pakete mit: aptitude install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \ @@ -1393,24 +1428,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. + 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 müssen Anpassungen (Logo, Erscheinungsbild, etc) noch vorgenommen werden. Den Ordner findet man im Dateisystem unter + ./templates/[Neuer Name] - Die Abhängigkeiten kann man prüfen mit: - - /scripts/installation_check.pl -l @@ -1430,7 +1471,7 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ Feature-Übersicht Keine Redundanz. Es wird ein- und dieselbe LaTeX-Vorlage für alle briefartigen Dokumente verwendet. Also - Angebot, Rechnung, Performarechnung, Lieferschein, aber eben nicht für Paketaufkleber etc.. + Angebot, Rechnung, Proformarechnung, Lieferschein, aber eben nicht für Paketaufkleber etc.. Leichte Anpassung an das Firmen-Layout durch verwendung eines Hintergrund-PDF. Dieses kann leicht mit dem eigenen Lieblingsprogramm erstellt werden (Openoffice, Inkscape, Gimp, Adobe*) @@ -1465,33 +1506,33 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ Editiere den Bereich "" in der datei letter.lco. - oder etwas Detaillierter: + oder etwas detaillierter: Es wird eine Datei sample.lco erstellt und diese nach letter.lco verlinkt. Eigentlich - ist dies die Datei die für die Firmenspezifischen Anpassungen gedacht ist. Da die Einstiegshürde in LaTeX nicht ganz niedrig - ist, wird in dieser Datei auf ein Hintergrundpdf verwiesen. Ich empfehle über dieses PDF die persönlichen Layoutanpassungen - vorzunehmen und sample.lco unverändert zu lassen. Die die Anpassung über eine - *.lco-Datei die letztlich auf letter.lco verlinkt ist ist aber auch möglich. + ist dies die Datei die für die firmenspezifischen Anpassungen gedacht ist. Da die Einstiegshürde in LaTeX nicht ganz niedrig + ist, wird in dieser Datei auf ein Hintergrund-PDF verwiesen. Ich empfehle über dieses PDF die persönlichen Layoutanpassungen + vorzunehmen und sample.lco unverändert zu lassen. Die Anpassung über eine + *.lco-Datei, die letztlich auf letter.lco verlinkt ist ist aber auch möglich. Es wird eine Datei sample_head.pdf mit ausgeliefert, diese wird nach letter_head.pdf - verlinkt. Damit gibt es schon mal eine Funktionsfähige Vorlage. Schau Dir nach Abschluss der Installation die Datei - sample_haed.pdf an und erstelle ein entsprechendes PDF passend zum Briefkopf Deiner Firma, diese dann im + verlinkt. Damit gibt es schon mal eine funktionsfähige Vorlage. Schau Dir nach Abschluss der Installation die Datei + sample_head.pdf an und erstelle ein entsprechendes PDF passend zum Briefkopf Deiner Firma, diese dann im Template Verzeichniss ablegen und statt sample_head.pdf nach letter_head.pdf verlinken. - letzlich muss letter_head.pdf auf das passende Hintergrund-PDF verweisen, welches gewünschten Briefkopf - enthält. Bei Updates oder nach erneutem + Letzlich muss letter_head.pdf auf das passende Hintergrund-PDF verweisen, welches gewünschten Briefkopf + enthält. Es wird eine Datei mydata.tex.example ausgeliefert, die nach mytdata.tex verlinkt ist. Bei verwendetem Hintergrund-PDF wird nur der Eintrag für das Land verwendet. Die Datei muss also nicht angefasst - werden. Die Anderen Werte sind für das Modul 'lp' (Label Print in erp - zur Zeit nicht im öffentlichen Zweig). + werden. Die anderen Werte sind für das Modul 'lp' (Label Print in erp - zur Zeit nicht im öffentlichen Zweig). Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc. sollten über die Hintergrund-PDF-Datei oder die @@ -1503,17 +1544,17 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ f-tex Funktionsübersicht Das Konzept von kivitendo sieht vor, für jedes Dokument (Auftragsbestätigung, Lieferschein, Rechnung, etc.) eine LaTeX-Vorlage - vorzuhalten, dies ist sehr Wartungsunfreundlich. Auch das Einlesen einer einheitlichen Quelle für den Briefkopf bringt nur + vorzuhalten, dies ist sehr wartungsunfreundlich. Auch das Einlesen einer einheitlichen Quelle für den Briefkopf bringt nur bedingte Vorteile, da hier leicht die Pflege der Artikel-Tabellen aus dem Ruder läuft. Bei dem vorliegenden Ansatz wird für alle briefartigen Dokumente mit Artikel-Tabellen eine einheitliche LaTeX-Vorlage verwendet, welche über Codeweichen die - Besonderheiten der jeweiligen Dokumente Berücksichtigt. + Besonderheiten der jeweiligen Dokumente berücksichtigt: Tabellen mit oder ohne Preis Sprache der Tabellenüberschriften etc. Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus Angebotsnummer) - Darstellung von Brutto oder Netto-Preisen in der Auflistung (Endverbraucher versus Gewerblicher + Darstellung von Brutto oder Netto-Preisen in der Auflistung (Endverbraucher versus gewerblicher Kunde) @@ -1523,15 +1564,15 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ LaTeX hat ohnehin eine sehr steile Lehrnkurve. Die Datei letter.tex ist sehr komplex und verstärkt damit diesen Effekt noch einmal erheblich. Wer LaTeX-Erfahrung hat, oder geübt ist Scriptsparachen nachzuvollziehen kann natürlich auch innerhalb der Tabellendarstellung gut persönliche Anpassungen vornehmen. Aber man kann sich hier bei Veränderungen sehr - schnell häftig in den Fuss schiessen. + schnell heftig in den Fuss schiessen. - Wer nicht so tief in die Materie einsteigen will oder leicht zu frustrieren ist, sollte sein Hintergrund PDF auf Basis der - mitglieferten Datei sample_head.pdf erstellen, und sich an der Form der dargestellten Tabellen wie sie + Wer nicht so tief in die Materie einsteigen will oder leicht zu frustrieren ist, sollte sein Hintergrund-PDF auf Basis der + mitglieferten Datei sample_head.pdf erstellen, und sich an der Form der dargestellten Tabellen, wie sie ausgeliefert werden, erfreuen. - Kleiner Tipp: Nicht zu viel auf einmal wollen, lieber kleine kontinuierliche Schritte gehen. + Kleiner Tipp: Nicht zu viel auf einmal wollen, lieber kleine, kontinuierliche Schritte gehen. @@ -1546,8 +1587,8 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ Zuordung einer Default-Preisgruppe handhaben) - man darf beim Anlegen des Vorgangs nicht vergessen Dieses Häkchen zu setzen. (das ist in der Praxis wenn man sowohl - Endverbraucher- wie Gewerbekunden beliefert der eigentliche Knackpunkt) + man darf beim Anlegen des Vorgangs nicht vergessen, dieses Häkchen zu setzen. (Das ist in der Praxis, wenn man sowohl + Endverbraucher als auch Gewerbekunden beliefert, der eigentliche Knackpunkt) @@ -1558,10 +1599,10 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ an (einmal mit der Namensendung "_E"). Gewinn: - Die Entscheidung, ob Netopreise ausgewiesen werden, ist nicht mehr fix mit einer Preisliste Verbunden. + Die Entscheidung, ob Netopreise ausgewiesen werden, ist nicht mehr fix mit einer Preisliste verbunden. Die Default-Zahlart kann im Kundendatensatz hinterlegt werden, und man muss nicht mehr daran denken, "alle Preise Netto" auszuwählen. - Die Entscheidung, ob Netto- oder Bruttopreise ausgewiesen werden, kann direkt beim Drucken reviediert werden, + Die Entscheidung, ob Netto- oder Bruttopreise ausgewiesen werden, kann direkt beim Drucken revidiert werden, ohne dass sich der Auftragswert ändert. @@ -1578,17 +1619,20 @@ 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. Allgemeine Hinweise zu LaTeX Vorlagen - In den allermeisten Installationen sollte drucken jetzt schon - funktionieren. Sollte ein Fehler auftreten wirft TeX sehr lange - Fehlerbeschreibungen, der eigentliche Fehler ist immer die erste Zeite + In den allermeisten Installationen sollte das Drucken jetzt schon + funktionieren. Sollte ein Fehler auftreten, wirft TeX sehr lange + Fehlerbeschreibungen, der eigentliche Fehler ist immer die erste Zeile, die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler sind zum Beispiel: @@ -1619,7 +1663,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; @@ -1973,7 +2017,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 @@ -2151,6 +2235,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: @@ -2216,6 +2306,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%> + @@ -2249,8 +2505,7 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ manuell über den Workflow. - - + Dokumentenvorlagen und verfügbare Variablen @@ -2880,6 +3135,14 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ + + greeting + + + Anrede + + + homepage @@ -3217,7 +3480,7 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ - Informationen über den Bearbeiter + Informationen über den Verkäufer @@ -3347,6 +3610,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.description_long + Langtext bzw. übersetzter Langtext der Lieferbedingung + + + @@ -3641,7 +3923,7 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/ netprice - Nettopreis + Alternative zu sellprice, aber netprice entspricht dem effektiven Einzelpreis und beinhaltet Zeilenrabatt und Preisfaktor. netprice wird rückgerechnet aus Zeilensumme / Menge. Diese Variable ist nützlich, wenn man den gewährten Rabatt in der Druckvorlage nicht anzeigen möchte, aber Menge * Einzelpreis trotzdem die angezeigte Zeilensumme ergeben soll. netprice hat nichts mit Netto/Brutto im Sinne von Steuern zu tun. @@ -3678,6 +3960,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 @@ -4776,6 +5067,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. + + + + @@ -5197,7 +5523,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} @@ -5458,29 +5784,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; @@ -5929,11 +6243,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. @@ -5953,7 +6267,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. @@ -5962,14 +6285,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 @@ -6006,7 +6329,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 @@ -6031,7 +6354,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