Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 3adb0cb7

Von Moritz Bunkus vor mehr als 12 Jahren hinzugefügt

  • ID 3adb0cb772af4bcdbd867b5688b3e02356a2e613
  • Vorgänger c4184d54
  • Nachfolger 1c103b3a

doc/skr04-update-3804 nach DocBook gewandelt

Unterschiede anzeigen:

doc/dokumentation.xml
43 43
        ohne große Probleme auf den derzeit aktuellen verbreiteten
44 44
        Distributionen läuft.</para>
45 45

  
46
        <para>Anfang 2012 sind das folgende Systeme, von denen bekannt ist, dass Lx-Office auf ihnen läuft:</para>
46
        <para>Anfang 2012 sind das folgende Systeme, von denen bekannt ist,
47
        dass Lx-Office auf ihnen läuft:</para>
47 48

  
48 49
        <itemizedlist>
49 50
          <listitem>
50
            <para>Ubuntu 8.04 LTS Hardy Heron, 10.04 LTS Lucid Lynx bis 11.10 Oneiric Ocelot</para>
51
            <para>Ubuntu 8.04 LTS Hardy Heron, 10.04 LTS Lucid Lynx bis 11.10
52
            Oneiric Ocelot</para>
51 53
          </listitem>
52 54

  
53 55
          <listitem>
......
74 76

  
75 77
        <para>Alternativ dazu kann die normale Installation durchgeführt
76 78
        werden (siehe <xref
77
        linkend="Manuelle-Installation-des-Programmpaketes"/>), wenn vorher
79
        linkend="Manuelle-Installation-des-Programmpaketes" />), wenn vorher
78 80
        ein Kompatibilitätspaket installiert wird, das die fehlenden Pakete
79 81
        bereitstellt. Das Paket ist auf <ulink
80 82
        url="https://sourceforge.net/projects/lx-office/files/Lx-Office%20ERP/2.6.2/">Sourceforge</ulink>
......
92 94
        <programlisting>apt-get install libbit-vector-perl libsub-exporter-perl libclone-perl libclass-factory-util-perl</programlisting>
93 95

  
94 96
        <para>Danach sollte der Installationscheck (siehe <xref
95
        linkend="Pakete"/>) die enthaltenen Pakete erkennen.</para>
97
        linkend="Pakete" />) die enthaltenen Pakete erkennen.</para>
96 98
      </sect2>
97 99

  
98 100
      <sect2 id="Pakete" xreflabel="Pakete">
......
293 295
    </sect1>
294 296

  
295 297
    <sect1 id="config.config-file">
296
     <title>Lx-Office-Konfigurationsdatei</title>
298
      <title>Lx-Office-Konfigurationsdatei</title>
297 299

  
298
     <sect2 id="config.config-file.introduction" xreflabel="Einführung in die Konfigurationsdatei">
299
      <title>Einführung</title>
300
      <sect2 id="config.config-file.introduction"
301
             xreflabel="Einführung in die Konfigurationsdatei">
302
        <title>Einführung</title>
300 303

  
301
      <para>
302
       Seit Lx-Office 2.6.3. gibt es nur noch eine Konfigurationsdatei die benötigt wird: <filename>config/lx_office.conf</filename> (kurz:
303
       "die Hauptkonfigurationsdatei"). Diese muss bei der Erstinstallation von Lx-Office bzw. der Migration von älteren Versionen angelegt
304
       werden.
305
      </para>
304
        <para>Seit Lx-Office 2.6.3. gibt es nur noch eine Konfigurationsdatei
305
        die benötigt wird: <filename>config/lx_office.conf</filename> (kurz:
306
        "die Hauptkonfigurationsdatei"). Diese muss bei der Erstinstallation
307
        von Lx-Office bzw. der Migration von älteren Versionen angelegt
308
        werden.</para>
306 309

  
307
      <para>
308
       Als Vorlage dient die Datei <filename>config/lx_office.conf.default</filename> (kurz: "die Default-Datei"):
309
      </para>
310
        <para>Als Vorlage dient die Datei
311
        <filename>config/lx_office.conf.default</filename> (kurz: "die
312
        Default-Datei"):</para>
310 313

  
311
      <programlisting>$ cp config/lx_office.conf.default config/lx_office.conf</programlisting>
314
        <programlisting>$ cp config/lx_office.conf.default config/lx_office.conf</programlisting>
312 315

  
313
      <para>
314
       Die Default-Datei wird immer zuerst eingelesen. Werte, die in der Hauptkonfigurationsdatei stehen, überschreiben die
315
       Werte aus der Default-Datei. Die Hauptkonfigurationsdatei muss also nur die Abschintte und Werte
316
       enthalten, die von denen der Default-Datei abweichen.
317
      </para>
316
        <para>Die Default-Datei wird immer zuerst eingelesen. Werte, die in
317
        der Hauptkonfigurationsdatei stehen, überschreiben die Werte aus der
318
        Default-Datei. Die Hauptkonfigurationsdatei muss also nur die
319
        Abschintte und Werte enthalten, die von denen der Default-Datei
320
        abweichen.</para>
318 321

  
319
      <para>
320
       Diese Hauptkonfigurationsdatei ist dann eine installationsspezifische Datei, d.h. sie enthält bspw. lokale Passwörter und wird auch
321
       nicht im Versionsmanagement (git) verwaltet.
322
      </para>
322
        <para>Diese Hauptkonfigurationsdatei ist dann eine
323
        installationsspezifische Datei, d.h. sie enthält bspw. lokale
324
        Passwörter und wird auch nicht im Versionsmanagement (git)
325
        verwaltet.</para>
323 326

  
324
      <para>
325
       Die Konfiguration ist ferner serverabhängig, d.h. für alle Mandaten, bzw. Datenbanken gleich.
326
      </para>
327
     </sect2>
327
        <para>Die Konfiguration ist ferner serverabhängig, d.h. für alle
328
        Mandaten, bzw. Datenbanken gleich.</para>
329
      </sect2>
328 330

  
329
     <sect2 id="config.config-file.sections-parameters">
330
      <title>Abschnitte und Parameter</title>
331
      <sect2 id="config.config-file.sections-parameters">
332
        <title>Abschnitte und Parameter</title>
331 333

  
332
      <para>
333
       Die Konfigurationsdatei besteht aus mehreren Teilen, die entsprechend kommentiert sind:
334
      </para>
334
        <para>Die Konfigurationsdatei besteht aus mehreren Teilen, die
335
        entsprechend kommentiert sind:</para>
335 336

  
336
      <itemizedlist>
337
       <listitem><para><literal>authentication</literal></para></listitem>
338
       <listitem><para><literal>authentication/database</literal></para></listitem>
339
       <listitem><para><literal>authentication/ldap</literal></para></listitem>
340
       <listitem><para><literal>system</literal></para></listitem>
341
       <listitem><para><literal>features</literal></para></listitem>
342
       <listitem><para><literal>paths</literal></para></listitem>
343
       <listitem><para><literal>applications</literal></para></listitem>
344
       <listitem><para><literal>environment</literal></para></listitem>
345
       <listitem><para><literal>print_templates</literal></para></listitem>
346
       <listitem><para><literal>task_server</literal></para></listitem>
347
       <listitem><para><literal>periodic_invoices</literal></para></listitem>
348
       <listitem><para><literal>console</literal></para></listitem>
349
       <listitem><para><literal>debug</literal></para></listitem>
350
      </itemizedlist>
337
        <itemizedlist>
338
          <listitem>
339
            <para><literal>authentication</literal></para>
340
          </listitem>
341

  
342
          <listitem>
343
            <para><literal>authentication/database</literal></para>
344
          </listitem>
345

  
346
          <listitem>
347
            <para><literal>authentication/ldap</literal></para>
348
          </listitem>
349

  
350
          <listitem>
351
            <para><literal>system</literal></para>
352
          </listitem>
353

  
354
          <listitem>
355
            <para><literal>features</literal></para>
356
          </listitem>
357

  
358
          <listitem>
359
            <para><literal>paths</literal></para>
360
          </listitem>
361

  
362
          <listitem>
363
            <para><literal>applications</literal></para>
364
          </listitem>
365

  
366
          <listitem>
367
            <para><literal>environment</literal></para>
368
          </listitem>
351 369

  
352
      <para>
353
       Die üblicherweise wichtigsten Parameter, die am Anfang einzustellen oder zu kontrollieren sind, sind:
354
      </para>
370
          <listitem>
371
            <para><literal>print_templates</literal></para>
372
          </listitem>
373

  
374
          <listitem>
375
            <para><literal>task_server</literal></para>
376
          </listitem>
377

  
378
          <listitem>
379
            <para><literal>periodic_invoices</literal></para>
380
          </listitem>
381

  
382
          <listitem>
383
            <para><literal>console</literal></para>
384
          </listitem>
385

  
386
          <listitem>
387
            <para><literal>debug</literal></para>
388
          </listitem>
389
        </itemizedlist>
355 390

  
356
      <programlisting>[authentication]
391
        <para>Die üblicherweise wichtigsten Parameter, die am Anfang
392
        einzustellen oder zu kontrollieren sind, sind:</para>
393

  
394
        <programlisting>[authentication]
357 395
admin_password = geheim
358 396

  
359 397
[authentication/database]
......
367 405
eur = 1
368 406
dbcharset = UTF-8</programlisting>
369 407

  
370
       <para>
371
        Nutzt man wiederkehrende Rechnungen, kann man unter <varname>[periodic_invoices]</varname> den Login eines Benutzers angeben, der
372
        nach Erstellung der Rechnungen eine entsprechende E-Mail mit Informationen über die erstellten Rechnungen bekommt.
373
       </para>
374

  
375
       <para>
376
        Nutzt man den <link linkend="config.task-server">Taskserver</link> für <link
377
        linkend="features.periodic-invoices">wiederkehrende Rechnungen</link>, muss unter <varname>[task_server]</varname> ein Login eines
378
        Benutzers angegeben werden, mit dem sich der Taskserver an Lx-Office bei der Datenbank anmeldet, die dem Benutzer zugewiesen ist.
379
       </para>
380

  
381
       <para>
382
        Für Entwickler finden sich unter <varname>[debug]</varname> wichtige Funktionen, um die Fehlersuche zu erleichtern.
383
       </para>
384
     </sect2>
385

  
386
     <sect2 id="config.config-file.prior-versions">
387
      <title>Versionen vor 2.6.3</title>
388

  
389
      <para>
390
       In älteren Lx-Office Versionen gab es im Verzeichnis <filename>config</filename> die Dateien <filename>authentication.pl</filename>
391
       und <filename>lx-erp.conf</filename>, die jeweils Perl-Dateien waren. Es gab auch die Möglichkeit, eine lokale Version der
392
       Konfigurationsdatei zu erstellen (<filename>lx-erp-local.conf</filename>). Dies ist ab 2.6.3 nicht mehr möglich, aber auch nicht mehr
393
       nötig.
394
      </para>
395

  
396
      <para>
397
       Beim Update von einer Lx-Office-Version vor 2.6.3 auf 2.6.3 oder jünger müssen die Einstellungen aus den alten Konfigurationsdateien
398
       manuell übertragen und die alten Konfigurationsdateien anschließend gelöscht oder verschoben werden. Ansonsten zeigt Lx-Office eine
399
       entsprechende Fehlermeldung an.
400
      </para>
401
     </sect2>
408
        <para>Nutzt man wiederkehrende Rechnungen, kann man unter
409
        <varname>[periodic_invoices]</varname> den Login eines Benutzers
410
        angeben, der nach Erstellung der Rechnungen eine entsprechende E-Mail
411
        mit Informationen über die erstellten Rechnungen bekommt.</para>
412

  
413
        <para>Nutzt man den <link
414
        linkend="config.task-server">Taskserver</link> für <link
415
        linkend="features.periodic-invoices">wiederkehrende Rechnungen</link>,
416
        muss unter <varname>[task_server]</varname> ein Login eines Benutzers
417
        angegeben werden, mit dem sich der Taskserver an Lx-Office bei der
418
        Datenbank anmeldet, die dem Benutzer zugewiesen ist.</para>
419

  
420
        <para>Für Entwickler finden sich unter <varname>[debug]</varname>
421
        wichtige Funktionen, um die Fehlersuche zu erleichtern.</para>
422
      </sect2>
423

  
424
      <sect2 id="config.config-file.prior-versions">
425
        <title>Versionen vor 2.6.3</title>
426

  
427
        <para>In älteren Lx-Office Versionen gab es im Verzeichnis
428
        <filename>config</filename> die Dateien
429
        <filename>authentication.pl</filename> und
430
        <filename>lx-erp.conf</filename>, die jeweils Perl-Dateien waren. Es
431
        gab auch die Möglichkeit, eine lokale Version der Konfigurationsdatei
432
        zu erstellen (<filename>lx-erp-local.conf</filename>). Dies ist ab
433
        2.6.3 nicht mehr möglich, aber auch nicht mehr nötig.</para>
434

  
435
        <para>Beim Update von einer Lx-Office-Version vor 2.6.3 auf 2.6.3 oder
436
        jünger müssen die Einstellungen aus den alten Konfigurationsdateien
437
        manuell übertragen und die alten Konfigurationsdateien anschließend
438
        gelöscht oder verschoben werden. Ansonsten zeigt Lx-Office eine
439
        entsprechende Fehlermeldung an.</para>
440
      </sect2>
402 441
    </sect1>
403 442

  
404 443
    <sect1 id="Anpassung-der-PostgreSQL-Konfiguration">
......
415 454
        PostgreSQL-Datenbankcluster muss ebenfalls mit UTF-8 als Locale
416 455
        angelegt worden sein.</para>
417 456

  
418
        <para>Dieses ist kann überprüft werden: ist das Encoding der Datenbank “template1” “UTF8”, so kann auch Lx-Office mit UTF-8
419
        betrieben werden.  Andernfalls ist es notwendig, einen neuen Datenbankcluster mit UTF-8-Encoding anzulegen und diesen zu
420
        verwenden. Unter Debian und Ubuntu kann dies z.B. für PostgreSQL 8.2 mit dem folgenden Befehl getan werden:</para>
457
        <para>Dieses ist kann überprüft werden: ist das Encoding der Datenbank
458
        “template1” “UTF8”, so kann auch Lx-Office mit UTF-8 betrieben werden.
459
        Andernfalls ist es notwendig, einen neuen Datenbankcluster mit
460
        UTF-8-Encoding anzulegen und diesen zu verwenden. Unter Debian und
461
        Ubuntu kann dies z.B. für PostgreSQL 8.2 mit dem folgenden Befehl
462
        getan werden:</para>
421 463

  
422 464
        <programlisting>pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 8.2 clustername</programlisting>
423 465

  
424
        <para>Die Datenbankversionsnummer muss an die tatsächlich verwendete Versionsnummer angepasst werden.</para>
466
        <para>Die Datenbankversionsnummer muss an die tatsächlich verwendete
467
        Versionsnummer angepasst werden.</para>
425 468

  
426 469
        <para>Unter anderen Distributionen gibt es ähnliche Methoden.</para>
427 470

  
......
429 472
        ist ein Neuanlegen eines weiteren Clusters nicht möglich, so kann
430 473
        Lx-Office mit ISO-8859-15 als Encoding betrieben werden.</para>
431 474

  
432
        <para>Das Encoding einer Datenbank kann in <command>psql</command> mit <literal>\l</literal> geprüft werden.</para>
475
        <para>Das Encoding einer Datenbank kann in <command>psql</command> mit
476
        <literal>\l</literal> geprüft werden.</para>
433 477
      </sect2>
434 478

  
435 479
      <sect2 id="Änderungen-an-Konfigurationsdateien">
......
438 482
        <para>In der Datei <filename>postgresql.conf</filename>, die je nach
439 483
        Distribution in verschiedenen Verzeichnissen liegen kann (z.B.
440 484
        <filename>/var/lib/pgsql/data/</filename> oder
441
        <filename>/etc/postgresql/</filename>, muss sichergestellt werden, dass
442
        TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den
485
        <filename>/etc/postgresql/</filename>, muss sichergestellt werden,
486
        dass TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den
443 487
        Parameter <varname>listen_address</varname> gesteuert. Laufen
444 488
        PostgreSQL und Lx-Office auf demselben Rechner, so kann dort der Wert
445 489
        <literal>localhost</literal> verwendet werden. Andernfalls müssen
......
447 491
        was mit dem Wert <literal>*</literal> geschieht.</para>
448 492

  
449 493
        <para>In der Datei <filename>pg_hba.conf</filename>, die im gleichen
450
        Verzeichnis wie die <filename>postgresql.conf</filename> zu finden sein
451
        sollte, müssen die Berichtigungen für den Zugriff geändert werden.
452
        Hier gibt es mehrere Möglichkeiten. Eine besteht darin, lokale
494
        Verzeichnis wie die <filename>postgresql.conf</filename> zu finden
495
        sein sollte, müssen die Berichtigungen für den Zugriff geändert
496
        werden. Hier gibt es mehrere Möglichkeiten. Eine besteht darin, lokale
453 497
        Verbindungen immer zuzulassen:</para>
454 498

  
455 499
        <programlisting>local all all trust
......
498 542
        <note>
499 543
          <para>Für einen deutlichen Performanceschub sorgt die Ausführung
500 544
          mittels FastCGI/FCGI. Die Einrichtung wird ausführlich im Abschnitt
501
          <xref linkend="Apache-Konfiguration.FCGI"/> beschrieben.</para>
545
          <xref linkend="Apache-Konfiguration.FCGI" /> beschrieben.</para>
502 546
        </note>
503 547

  
504 548
        <para>Der Zugriff auf das Programmverzeichnis muss in der Apache
......
524 568
        das Lx-Office-Archiv entpacket haben.</para>
525 569

  
526 570
        <note>
527
         <para>Vor den einzelnen Optionen muss bei einigen Distributionen ein Plus ‘<literal>+</literal>’ gesetzt werden.</para>
571
          <para>Vor den einzelnen Optionen muss bei einigen Distributionen ein
572
          Plus ‘<literal>+</literal>’ gesetzt werden.</para>
528 573
        </note>
529 574

  
530 575
        <para>Auf einigen Webservern werden manchmal die Grafiken und
......
595 640
          verwendet.</para>
596 641

  
597 642
          <warning>
598
            <para>
599
             FCGI 0.69 und höher ist extrem strict in der Behandlung von Unicode, und verweigert bestimmte Eingaben von Lx-Office. Falls es
600
             Probleme mit Umlauten in Ihrere Installation gibt, muss auf die Vorgängerversion FCGI 0.68 ausgewichen werden.
601
            </para>
643
            <para>FCGI 0.69 und höher ist extrem strict in der Behandlung von
644
            Unicode, und verweigert bestimmte Eingaben von Lx-Office. Falls es
645
            Probleme mit Umlauten in Ihrere Installation gibt, muss auf die
646
            Vorgängerversion FCGI 0.68 ausgewichen werden.</para>
602 647

  
603
            <para>
604
             Mit CPAN lässt sie sich die Vorgängerversion wie folgt installieren:
605
            </para>
648
            <para>Mit CPAN lässt sie sich die Vorgängerversion wie folgt
649
            installieren:</para>
606 650

  
607 651
            <programlisting>force install M/MS/MSTROUT/FCGI-0.68.tar.gz</programlisting>
608 652
          </warning>
......
689 733
AliasMatch ^/url/for/lx-office-erp-fcgid/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fpl
690 734
Alias       /url/for/lx-office-erp-fcgid/          /path/to/lx-office-erp/</programlisting>
691 735

  
692
          <para>Dann ist unter <filename>/url/for/lx-office-erp/</filename> die normale Version erreichbar, und unter
693
          <constant>/url/for/lx-office-erp-fcgid/</constant> die FastCGI-Version.</para>
736
          <para>Dann ist unter <filename>/url/for/lx-office-erp/</filename>
737
          die normale Version erreichbar, und unter
738
          <constant>/url/for/lx-office-erp-fcgid/</constant> die
739
          FastCGI-Version.</para>
694 740
        </sect3>
695 741
      </sect2>
696 742
    </sect1>
......
714 760
        Optionen sind:</para>
715 761

  
716 762
        <variablelist>
717
         <varlistentry>
718
          <term><varname>login</varname></term>
719
          <listitem>
720
           <para>
721
            gültiger Lx-Office-Benutzername, der benutzt wird, um die zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss in
722
            der Administration angelegt werden. Diese Option muss angegeben werden.
723
           </para>
724
          </listitem>
725
         </varlistentry>
763
          <varlistentry>
764
            <term><varname>login</varname></term>
726 765

  
727
         <varlistentry>
728
          <term><varname>run_as</varname></term>
729
          <listitem>
730
            <para>
731
             Wird der Server vom Systembenutzer <literal>root</literal> gestartet, so wechselt er auf den mit <literal>run_as</literal>
732
             angegebenen Systembenutzer.  Der Systembenutzer muss dieselben Lese- und Schreibrechte haben, wie auch der Webserverbenutzer
733
             (siehe see <xref linkend="Manuelle-Installation-des-Programmpaketes"/>). Daher ist es sinnvoll, hier denselben Systembenutzer
734
             einzutragen, unter dem auch der Webserver läuft.
735
            </para>
736
          </listitem>
737
         </varlistentry>
766
            <listitem>
767
              <para>gültiger Lx-Office-Benutzername, der benutzt wird, um die
768
              zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss
769
              in der Administration angelegt werden. Diese Option muss
770
              angegeben werden.</para>
771
            </listitem>
772
          </varlistentry>
738 773

  
739
         <varlistentry>
740
          <term><varname>debug</varname></term>
741
          <listitem>
742
            <para>
743
             Schaltet Debug-Informationen an und aus.
744
            </para>
745
          </listitem>
746
         </varlistentry>
774
          <varlistentry>
775
            <term><varname>run_as</varname></term>
776

  
777
            <listitem>
778
              <para>Wird der Server vom Systembenutzer <literal>root</literal>
779
              gestartet, so wechselt er auf den mit <literal>run_as</literal>
780
              angegebenen Systembenutzer. Der Systembenutzer muss dieselben
781
              Lese- und Schreibrechte haben, wie auch der Webserverbenutzer
782
              (siehe see <xref
783
              linkend="Manuelle-Installation-des-Programmpaketes" />). Daher
784
              ist es sinnvoll, hier denselben Systembenutzer einzutragen,
785
              unter dem auch der Webserver läuft.</para>
786
            </listitem>
787
          </varlistentry>
788

  
789
          <varlistentry>
790
            <term><varname>debug</varname></term>
791

  
792
            <listitem>
793
              <para>Schaltet Debug-Informationen an und aus.</para>
794
            </listitem>
795
          </varlistentry>
747 796
        </variablelist>
748 797
      </sect2>
749 798

  
......
787 836
            </listitem>
788 837
          </itemizedlist>
789 838

  
790
          <para>Danach kann der Task-Server mit dem folgenden Befehl gestartet werden: <command>/etc/init.d/lx-office-task-server
839
          <para>Danach kann der Task-Server mit dem folgenden Befehl gestartet
840
          werden: <command>/etc/init.d/lx-office-task-server
791 841
          start</command></para>
792 842
        </sect3>
793 843

  
......
800 850
          Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
801 851
          <literal>exec ....</literal>).</para>
802 852

  
803
          <para>Danach kann der Task-Server mit dem folgenden Befehl gestartet werden: <command>service lx-office-task-server
853
          <para>Danach kann der Task-Server mit dem folgenden Befehl gestartet
854
          werden: <command>service lx-office-task-server
804 855
          start</command></para>
805 856
        </sect3>
806 857
      </sect2>
......
882 933
      <sect2 id="Administratorpasswort">
883 934
        <title>Administratorpasswort</title>
884 935

  
885
        <para>Das Passwort, das zum Zugriff auf das Aministrationsinterface benutzt wird, wird ebenfalls in dieser Datei gespeichert. Es
886
        kann auch nur dort und nicht mehr im Administrationsinterface selber geändert werden. Der Parameter dazu heißt
887
        <varname>admin_password</varname> im Abschnitt <varname>[authentication]</varname>.</para>
936
        <para>Das Passwort, das zum Zugriff auf das Aministrationsinterface
937
        benutzt wird, wird ebenfalls in dieser Datei gespeichert. Es kann auch
938
        nur dort und nicht mehr im Administrationsinterface selber geändert
939
        werden. Der Parameter dazu heißt <varname>admin_password</varname> im
940
        Abschnitt <varname>[authentication]</varname>.</para>
888 941
      </sect2>
889 942

  
890 943
      <sect2 id="Authentifizierungsdatenbank">
891 944
        <title>Authentifizierungsdatenbank</title>
892 945

  
893
        <para>Die Verbindung zur Authentifizierungsdatenbank wird mit den Parametern in <varname>[authentication/database]</varname>
894
        konfiguriert.  Hier sind die folgenden Parameter anzugeben:</para>
946
        <para>Die Verbindung zur Authentifizierungsdatenbank wird mit den
947
        Parametern in <varname>[authentication/database]</varname>
948
        konfiguriert. Hier sind die folgenden Parameter anzugeben:</para>
895 949

  
896 950
        <variablelist>
897
         <varlistentry>
898
          <term><literal>host</literal></term>
899
          <listitem>
900
           <para>Der Rechnername oder die IP-Adresse des Datenbankservers</para>
901
          </listitem>
902
         </varlistentry>
951
          <varlistentry>
952
            <term><literal>host</literal></term>
903 953

  
904
         <varlistentry>
905
          <term><literal>port</literal></term>
906
          <listitem>
907
            <para>Die Portnummer des Datenbankservers, meist 5432</para>
908
          </listitem>
909
         </varlistentry>
954
            <listitem>
955
              <para>Der Rechnername oder die IP-Adresse des
956
              Datenbankservers</para>
957
            </listitem>
958
          </varlistentry>
910 959

  
911
         <varlistentry>
912
          <term><literal>db</literal></term>
913
          <listitem>
914
           <para>Der Name der Authentifizierungsdatenbank</para>
915
          </listitem>
916
         </varlistentry>
960
          <varlistentry>
961
            <term><literal>port</literal></term>
917 962

  
918
         <varlistentry>
919
          <term><literal>user</literal></term>
920
          <listitem>
921
            <para>Der Benutzername, mit dem sich Lx-Office beim Datenbankserver anmeldet (z.B. "<literal>postgres</literal>")</para>
922
          </listitem>
923
         </varlistentry>
963
            <listitem>
964
              <para>Die Portnummer des Datenbankservers, meist 5432</para>
965
            </listitem>
966
          </varlistentry>
924 967

  
925
         <varlistentry>
926
          <term><literal>password</literal></term>
927
          <listitem>
928
            <para>Das Passwort für den Datenbankbenutzer</para>
929
          </listitem>
930
         </varlistentry>
968
          <varlistentry>
969
            <term><literal>db</literal></term>
970

  
971
            <listitem>
972
              <para>Der Name der Authentifizierungsdatenbank</para>
973
            </listitem>
974
          </varlistentry>
975

  
976
          <varlistentry>
977
            <term><literal>user</literal></term>
978

  
979
            <listitem>
980
              <para>Der Benutzername, mit dem sich Lx-Office beim
981
              Datenbankserver anmeldet (z.B.
982
              "<literal>postgres</literal>")</para>
983
            </listitem>
984
          </varlistentry>
985

  
986
          <varlistentry>
987
            <term><literal>password</literal></term>
988

  
989
            <listitem>
990
              <para>Das Passwort für den Datenbankbenutzer</para>
991
            </listitem>
992
          </varlistentry>
931 993
        </variablelist>
932 994

  
933 995
        <para>Die Datenbank muss noch nicht existieren. Lx-Office kann sie
......
937 999
      <sect2 id="Passwortüberprüfung">
938 1000
        <title>Passwortüberprüfung</title>
939 1001

  
940
        <para>Lx-Office unterstützt Passwortüberprüfung auf zwei Arten: gegen die Authentifizierungsdatenbank und gegen einen externen LDAP-
941
        oder Active-Directory-Server. Welche davon benutzt wird, regelt der Parameter <varname>module</varname> im Abschnitt
1002
        <para>Lx-Office unterstützt Passwortüberprüfung auf zwei Arten: gegen
1003
        die Authentifizierungsdatenbank und gegen einen externen LDAP- oder
1004
        Active-Directory-Server. Welche davon benutzt wird, regelt der
1005
        Parameter <varname>module</varname> im Abschnitt
942 1006
        <varname>[authentication]</varname>.</para>
943 1007

  
944
        <para>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank gespeichert werden, so muss der Parameter
945
        <varname>module</varname> den Wert <literal>DB</literal> enthalten. In diesem Fall können sowohl der Administrator als auch die
946
        Benutzer selber ihre Psaswörter in Lx-Office ändern.</para>
1008
        <para>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
1009
        gespeichert werden, so muss der Parameter <varname>module</varname>
1010
        den Wert <literal>DB</literal> enthalten. In diesem Fall können sowohl
1011
        der Administrator als auch die Benutzer selber ihre Psaswörter in
1012
        Lx-Office ändern.</para>
947 1013

  
948
        <para>Soll hingegen ein externer LDAP- oder Active-Directory-Server benutzt werden, so muss der Parameter <varname>module</varname>
949
        auf <literal>LDAP</literal> gesetzt werden. In diesem Fall müssen zusätzliche Informationen über den LDAP-Server im Abschnitt
1014
        <para>Soll hingegen ein externer LDAP- oder Active-Directory-Server
1015
        benutzt werden, so muss der Parameter <varname>module</varname> auf
1016
        <literal>LDAP</literal> gesetzt werden. In diesem Fall müssen
1017
        zusätzliche Informationen über den LDAP-Server im Abschnitt
950 1018
        <literal>[authentication/ldap]</literal> angegeben werden:</para>
951 1019

  
952 1020
        <variablelist>
953
         <varlistentry>
954
          <term><literal>host</literal></term>
955
          <listitem>
956
            <para>Der Rechnername oder die IP-Adresse des LDAP- oder Active-Directory-Servers. Diese Angabe ist zwingend
957
            erforderlich.</para>
958
          </listitem>
959
         </varlistentry>
1021
          <varlistentry>
1022
            <term><literal>host</literal></term>
960 1023

  
961
         <varlistentry>
962
          <term><literal>port</literal></term>
963
          <listitem>
964
            <para>Die Portnummer des LDAP-Servers; meist 389.</para>
965
          </listitem>
966
         </varlistentry>
1024
            <listitem>
1025
              <para>Der Rechnername oder die IP-Adresse des LDAP- oder
1026
              Active-Directory-Servers. Diese Angabe ist zwingend
1027
              erforderlich.</para>
1028
            </listitem>
1029
          </varlistentry>
967 1030

  
968
         <varlistentry>
969
          <term><literal>tls</literal></term>
970
          <listitem>
971
            <para>Wenn Verbindungsverschlüsselung gewünscht ist, so diesen Wert auf ‘<literal>1</literal>’ setzen, andernfalls auf
972
            ‘<literal>0</literal>’ belassen</para>
973
          </listitem>
974
         </varlistentry>
1031
          <varlistentry>
1032
            <term><literal>port</literal></term>
975 1033

  
976
         <varlistentry>
977
          <term><literal>attribute</literal></term>
978
          <listitem>
979
            <para>Das LDAP-Attribut, in dem der Benutzername steht, den der Benutzer eingegeben hat. Für Active-Directory-Server ist dies
980
            meist ‘<literal>sAMAccountName</literal>’, für andere LDAP-Server hingegen ‘<literal>uid</literal>’. Diese Angabe ist zwingend
981
            erforderlich.</para>
982
          </listitem>
983
         </varlistentry>
1034
            <listitem>
1035
              <para>Die Portnummer des LDAP-Servers; meist 389.</para>
1036
            </listitem>
1037
          </varlistentry>
984 1038

  
985
         <varlistentry>
986
          <term><literal>base_dn</literal></term>
987
          <listitem>
988
            <para>Der Abschnitt des LDAP-Baumes, der durchsucht werden soll. Diese Angabe ist zwingend erforderlich.</para>
989
          </listitem>
990
         </varlistentry>
1039
          <varlistentry>
1040
            <term><literal>tls</literal></term>
991 1041

  
992
         <varlistentry>
993
          <term><literal>filter</literal></term>
994
          <listitem>
995
            <para>Ein optionaler LDAP-Filter.  Enthält dieser Filter das Wort <literal>&lt;%login%&gt;</literal>, so wird dieses durch den
996
            vom Benutzer eingegebenen Benutzernamen ersetzt. Andernfalls wird der LDAP-Baum nach einem Element durchsucht, bei dem das oben
997
            angegebene Attribut mit dem Benutzernamen identisch ist.</para>
998
          </listitem>
999
         </varlistentry>
1042
            <listitem>
1043
              <para>Wenn Verbindungsverschlüsselung gewünscht ist, so diesen
1044
              Wert auf ‘<literal>1</literal>’ setzen, andernfalls auf
1045
              ‘<literal>0</literal>’ belassen</para>
1046
            </listitem>
1047
          </varlistentry>
1000 1048

  
1001
         <varlistentry>
1002
          <term><literal>bind_dn</literal> und <literal>bind_password</literal></term>
1003
          <listitem>
1004
            <para>Wenn der LDAP-Server eine Anmeldung erfordert, bevor er durchsucht werden kann (z.B. ist dies bei Active-Directory-Servern
1005
            der Fall), so kann diese hier angegeben werden. Für Active-Directory-Server kann als ‘<literal>bind_dn</literal>’ entweder eine
1006
            komplette LDAP-DN wie z.B. ‘<literal>cn=Martin Mustermann,cn=Users,dc=firmendomain</literal>’ auch nur der volle Name des
1007
            Benutzers eingegeben werden; in diesem Beispiel also ‘<literal>Martin Mustermann</literal>’.</para>
1008
          </listitem>
1009
         </varlistentry>
1049
          <varlistentry>
1050
            <term><literal>attribute</literal></term>
1051

  
1052
            <listitem>
1053
              <para>Das LDAP-Attribut, in dem der Benutzername steht, den der
1054
              Benutzer eingegeben hat. Für Active-Directory-Server ist dies
1055
              meist ‘<literal>sAMAccountName</literal>’, für andere
1056
              LDAP-Server hingegen ‘<literal>uid</literal>’. Diese Angabe ist
1057
              zwingend erforderlich.</para>
1058
            </listitem>
1059
          </varlistentry>
1060

  
1061
          <varlistentry>
1062
            <term><literal>base_dn</literal></term>
1063

  
1064
            <listitem>
1065
              <para>Der Abschnitt des LDAP-Baumes, der durchsucht werden soll.
1066
              Diese Angabe ist zwingend erforderlich.</para>
1067
            </listitem>
1068
          </varlistentry>
1069

  
1070
          <varlistentry>
1071
            <term><literal>filter</literal></term>
1072

  
1073
            <listitem>
1074
              <para>Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort
1075
              <literal>&lt;%login%&gt;</literal>, so wird dieses durch den vom
1076
              Benutzer eingegebenen Benutzernamen ersetzt. Andernfalls wird
1077
              der LDAP-Baum nach einem Element durchsucht, bei dem das oben
1078
              angegebene Attribut mit dem Benutzernamen identisch ist.</para>
1079
            </listitem>
1080
          </varlistentry>
1081

  
1082
          <varlistentry>
1083
            <term><literal>bind_dn</literal> und
1084
            <literal>bind_password</literal></term>
1085

  
1086
            <listitem>
1087
              <para>Wenn der LDAP-Server eine Anmeldung erfordert, bevor er
1088
              durchsucht werden kann (z.B. ist dies bei
1089
              Active-Directory-Servern der Fall), so kann diese hier angegeben
1090
              werden. Für Active-Directory-Server kann als
1091
              ‘<literal>bind_dn</literal>’ entweder eine komplette LDAP-DN wie
1092
              z.B. ‘<literal>cn=Martin
1093
              Mustermann,cn=Users,dc=firmendomain</literal>’ auch nur der
1094
              volle Name des Benutzers eingegeben werden; in diesem Beispiel
1095
              also ‘<literal>Martin Mustermann</literal>’.</para>
1096
            </listitem>
1097
          </varlistentry>
1010 1098
        </variablelist>
1011 1099
      </sect2>
1012 1100

  
1013 1101
      <sect2 id="Name-des-Session-Cookies">
1014 1102
        <title>Name des Session-Cookies</title>
1015 1103

  
1016
        <para>Sollen auf einem Server mehrere Lx-Office-Installationen aufgesetzt werden, so müssen die Namen der Session-Cookies für alle
1017
        Installationen unterschiedlich sein. Der Name des Cookies wird mit dem Parameter <varname>cookie_name</varname> im Abschnitt
1104
        <para>Sollen auf einem Server mehrere Lx-Office-Installationen
1105
        aufgesetzt werden, so müssen die Namen der Session-Cookies für alle
1106
        Installationen unterschiedlich sein. Der Name des Cookies wird mit dem
1107
        Parameter <varname>cookie_name</varname> im Abschnitt
1018 1108
        <varname>[authentication]</varname>gesetzt.</para>
1019 1109

  
1020 1110
        <para>Diese Angabe ist optional, wenn nur eine Installation auf dem
......
1321 1411
      <para>Dieses Verzeichnis, wie auch das komplette
1322 1412
      <literal>users</literal>-Verzeichnis, muss vom Webserver beschreibbar
1323 1413
      sein. Dieses wurde bereits erledigt (siehe <xref
1324
      linkend="Manuelle-Installation-des-Programmpaketes"/>), kann aber erneut
1325
      überprüft werden, wenn die Konvertierung nach PDF fehlschlägt.</para>
1414
      linkend="Manuelle-Installation-des-Programmpaketes" />), kann aber
1415
      erneut überprüft werden, wenn die Konvertierung nach PDF
1416
      fehlschlägt.</para>
1326 1417
    </sect1>
1327 1418

  
1328 1419
    <sect1 id="config.eur">
1329
      <title>Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR</title>
1420
      <title>Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
1421
      EUR</title>
1330 1422

  
1331
      <sect2 id="config.eur.introduction" xreflabel="Einführung in die Konfiguration zur EUR">
1332
       <title>Einführung</title>
1423
      <sect2 id="config.eur.introduction"
1424
             xreflabel="Einführung in die Konfiguration zur EUR">
1425
        <title>Einführung</title>
1333 1426

  
1334
       <para>
1335
        Lx-Office besaß bis inklusive Version 2.6.3 einen Konfigurationsparameter namens <varname>eur</varname>, der sich in der
1336
        Konfigurationsdatei <filename>config/lx_office.conf</filename> befindet. Somit galt er für alle Mandanten, die in dieser
1337
        Installation benutzt wurden.
1338
       </para>
1427
        <para>Lx-Office besaß bis inklusive Version 2.6.3 einen
1428
        Konfigurationsparameter namens <varname>eur</varname>, der sich in der
1429
        Konfigurationsdatei <filename>config/lx_office.conf</filename>
1430
        befindet. Somit galt er für alle Mandanten, die in dieser Installation
1431
        benutzt wurden.</para>
1339 1432

  
1340
       <para>
1341
        Mit der nachfolgenden Version wurde der Parameter zum Einen in die Mandantendatenbank verschoben und dabei auch gleich in drei
1342
        Einzelparameter aufgeteilt, mit denen sich das Verhalten genauer steuern lässt.
1343
       </para>
1433
        <para>Mit der nachfolgenden Version wurde der Parameter zum Einen in
1434
        die Mandantendatenbank verschoben und dabei auch gleich in drei
1435
        Einzelparameter aufgeteilt, mit denen sich das Verhalten genauer
1436
        steuern lässt.</para>
1344 1437
      </sect2>
1345 1438

  
1346
      <sect2 id="config.eur.parameters" xreflabel="Konfigurationsparameter für EUR">
1347
       <title>Konfigurationsparameter</title>
1348

  
1349
       <para>
1350
        Es gibt drei Parameter, die die Gewinnermittlungsart, Versteuerungsart und die Warenbuchungsmethode regeln:
1351
       </para>
1352

  
1353
       <variablelist>
1354
        <varlistentry>
1355
         <term><varname>profit_determination</varname></term>
1356
         <listitem>
1357
          <para>
1358
           Dieser Parameter legt die Berechnungsmethode für die Gewinnermittlung fest. Er enthält entweder <literal>balance</literal> für
1359
           Betriebsvermögensvergleich/Bilanzierung oder <literal>income</literal> für die Einnahmen-Überschuss-Rechnung.
1360
          </para>
1361
         </listitem>
1362
        </varlistentry>
1363

  
1364
        <varlistentry>
1365
         <term><varname>accounting_method</varname></term>
1366
         <listitem>
1367
          <para>
1368
           Dieser Parameter steuert die Buchungs- und Berechnungsmethoden für die Versteuerungsart. Er enthält entweder
1369
           <literal>accrual</literal> für die Soll-Versteuerung oder <literal>cash</literal> für die Ist-Versteuerung.
1370
          </para>
1371
         </listitem>
1372
        </varlistentry>
1373

  
1374
        <varlistentry>
1375
         <term><varname>inventory_system</varname></term>
1376
         <listitem>
1377
          <para>
1378
           Dieser Parameter legt die Warenbuchungsmethode fest. Er enthält entweder <literal>perpetual</literal> für die Bestandsmethode
1379
           oder <literal>periodic</literal> für die Aufwandsmethode.
1380
          </para>
1381
         </listitem>
1382
        </varlistentry>
1383
       </variablelist>
1384

  
1385
       <para>
1386
        Zum Vergleich der Funktionalität bis und nach 2.6.3: <varname>eur</varname> = 1 bedeutete Einnahmen-Überschuss-Rechnung,
1387
        Ist-Versteuerung und Aufwandsmethode. <varname>eur</varname> = 0 bedeutete hingegen Bilanzierung, Soll-Versteuerung und
1388
        Bestandsmethode.
1389
       </para>
1390

  
1391
       <para>
1392
        Die Konfiguration "<varname>eur</varname>" unter <varname>[system]</varname> in der <link
1393
        linkend="config.config-file">Konfigurationsdatei</link> <filename>config/lx_office.conf</filename> wird nun nicht mehr benötigt und
1394
        kann entfernt werden. Dies muss manuell geschehen.
1395
       </para>
1439
      <sect2 id="config.eur.parameters"
1440
             xreflabel="Konfigurationsparameter für EUR">
1441
        <title>Konfigurationsparameter</title>
1442

  
1443
        <para>Es gibt drei Parameter, die die Gewinnermittlungsart,
1444
        Versteuerungsart und die Warenbuchungsmethode regeln:</para>
1445

  
1446
        <variablelist>
1447
          <varlistentry>
1448
            <term><varname>profit_determination</varname></term>
1449

  
1450
            <listitem>
1451
              <para>Dieser Parameter legt die Berechnungsmethode für die
1452
              Gewinnermittlung fest. Er enthält entweder
1453
              <literal>balance</literal> für
1454
              Betriebsvermögensvergleich/Bilanzierung oder
1455
              <literal>income</literal> für die
1456
              Einnahmen-Überschuss-Rechnung.</para>
1457
            </listitem>
1458
          </varlistentry>
1459

  
1460
          <varlistentry>
1461
            <term><varname>accounting_method</varname></term>
1462

  
1463
            <listitem>
1464
              <para>Dieser Parameter steuert die Buchungs- und
1465
              Berechnungsmethoden für die Versteuerungsart. Er enthält
1466
              entweder <literal>accrual</literal> für die Soll-Versteuerung
1467
              oder <literal>cash</literal> für die Ist-Versteuerung.</para>
1468
            </listitem>
1469
          </varlistentry>
1470

  
1471
          <varlistentry>
1472
            <term><varname>inventory_system</varname></term>
1473

  
1474
            <listitem>
1475
              <para>Dieser Parameter legt die Warenbuchungsmethode fest. Er
1476
              enthält entweder <literal>perpetual</literal> für die
1477
              Bestandsmethode oder <literal>periodic</literal> für die
1478
              Aufwandsmethode.</para>
1479
            </listitem>
1480
          </varlistentry>
1481
        </variablelist>
1482

  
1483
        <para>Zum Vergleich der Funktionalität bis und nach 2.6.3:
1484
        <varname>eur</varname> = 1 bedeutete Einnahmen-Überschuss-Rechnung,
1485
        Ist-Versteuerung und Aufwandsmethode. <varname>eur</varname> = 0
1486
        bedeutete hingegen Bilanzierung, Soll-Versteuerung und
1487
        Bestandsmethode.</para>
1488

  
1489
        <para>Die Konfiguration "<varname>eur</varname>" unter
1490
        <varname>[system]</varname> in der <link
1491
        linkend="config.config-file">Konfigurationsdatei</link>
1492
        <filename>config/lx_office.conf</filename> wird nun nicht mehr
1493
        benötigt und kann entfernt werden. Dies muss manuell geschehen.</para>
1396 1494
      </sect2>
1397 1495

  
1398 1496
      <sect2 id="config.eur.setting-parameters">
1399
       <title>Festlegen der Parameter</title>
1400

  
1401
       <para>
1402
        Beim Anlegen eines neuen Mandanten bzw. einer neuen Datenbank in der Admininstration können diese Optionen nun unabhängig
1403
        voneinander eingestellt werden.
1404
       </para>
1405

  
1406
       <para>
1407
        Beim Upgrade bestehender Mandanten wird eur ausgelesen und die Variablen werden so gesetzt, daß sich an der Funktionalität nichts
1408
        ändert.
1409
       </para>
1410

  
1411
       <para>
1412
        Die aktuelle Konfiguration wird unter Nummernkreise und Standardkonten unter dem neuen Punkt "Einstellungen" angezeigt (read-only).
1413
        Eine spätere Änderung ist für einen bestehenden Mandanten nicht mehr möglich. Dies war auch vorher nicht möglich, bzw. vorhandene
1414
        Daten wurden so belassen und haben damit die Ergebnisse verfälscht.
1415
       </para>
1497
        <title>Festlegen der Parameter</title>
1498

  
1499
        <para>Beim Anlegen eines neuen Mandanten bzw. einer neuen Datenbank in
1500
        der Admininstration können diese Optionen nun unabhängig voneinander
1501
        eingestellt werden.</para>
1502

  
1503
        <para>Beim Upgrade bestehender Mandanten wird eur ausgelesen und die
1504
        Variablen werden so gesetzt, daß sich an der Funktionalität nichts
1505
        ändert.</para>
1506

  
1507
        <para>Die aktuelle Konfiguration wird unter Nummernkreise und
1508
        Standardkonten unter dem neuen Punkt "Einstellungen" angezeigt
1509
        (read-only). Eine spätere Änderung ist für einen bestehenden Mandanten
1510
        nicht mehr möglich. Dies war auch vorher nicht möglich, bzw.
1511
        vorhandene Daten wurden so belassen und haben damit die Ergebnisse
1512
        verfälscht.</para>
1416 1513
      </sect2>
1417 1514

  
1418 1515
      <sect2 id="config.eur.inventory-system-perpetual">
1419
       <title>Bemerkungen zu Bestandsmethode</title>
1420

  
1421
       <para>
1422
        Die Bestandsmethode ist eigentlich eine sehr elegante Methode, funktioniert in Lx-Office aber nur unter bestimmten Bedingungen:
1423
        Voraussetzung ist, daß auch immer alle Einkaufsrechnungen gepflegt werden, und man beim Jahreswechsel nicht mit einer leeren
1424
        Datenbank anfängt, da bei jedem Verkauf anhand der gesamten Rechnungshistorie der Einkaufswert der Ware nach dem FIFO-Prinzip aus
1425
        den Einkaufsrechnungen berechnet wird.
1426
       </para>
1427

  
1428
       <para>
1429
        Die Bestandsmethode kann vom Prinzip her also nur funktioneren, wenn man mit den Buchungen bei Null anfängt, und man kann auch nicht
1430
        im laufenden Betrieb von der Aufwandsmethode zur Bestandsmethode wechseln.
1431
       </para>
1516
        <title>Bemerkungen zu Bestandsmethode</title>
1517

  
1518
        <para>Die Bestandsmethode ist eigentlich eine sehr elegante Methode,
1519
        funktioniert in Lx-Office aber nur unter bestimmten Bedingungen:
1520
        Voraussetzung ist, daß auch immer alle Einkaufsrechnungen gepflegt
1521
        werden, und man beim Jahreswechsel nicht mit einer leeren Datenbank
1522
        anfängt, da bei jedem Verkauf anhand der gesamten Rechnungshistorie
1523
        der Einkaufswert der Ware nach dem FIFO-Prinzip aus den
1524
        Einkaufsrechnungen berechnet wird.</para>
1525

  
1526
        <para>Die Bestandsmethode kann vom Prinzip her also nur funktioneren,
1527
        wenn man mit den Buchungen bei Null anfängt, und man kann auch nicht
1528
        im laufenden Betrieb von der Aufwandsmethode zur Bestandsmethode
1529
        wechseln.</para>
1432 1530
      </sect2>
1433 1531

  
1434 1532
      <sect2 id="config.eur.knonw-issues">
1435
       <title>Bekannte Probleme</title>
1533
        <title>Bekannte Probleme</title>
1436 1534

  
1437
       <para>
1438
        Bei bestimmten Berichten kann man derzeit noch inviduell einstellen, ob man nach Ist- oder Sollversteuerung auswertet, und es werden
1439
        im Code Variablen wie $accrual oder $cash gesetzt. Diese Codestellen wurden noch nicht angepasst, sondern nur die, wo bisher
1440
        die Konfigurationsvariable <varname>$::lx_office_conf{system}-&gt;{eur}</varname> ausgewertet wurde.
1441
       </para>
1535
        <para>Bei bestimmten Berichten kann man derzeit noch inviduell
1536
        einstellen, ob man nach Ist- oder Sollversteuerung auswertet, und es
1537
        werden im Code Variablen wie $accrual oder $cash gesetzt. Diese
1538
        Codestellen wurden noch nicht angepasst, sondern nur die, wo bisher
1539
        die Konfigurationsvariable
1540
        <varname>$::lx_office_conf{system}-&gt;{eur}</varname> ausgewertet
1541
        wurde.</para>
1442 1542

  
1443
       <para>
1444
        Es fehlen Hilfetext beim Neuanlegen eines Mandanten, was die Optionen bewirken, z.B. mit zwei Standardfällen.
1445
       </para>
1543
        <para>Es fehlen Hilfetext beim Neuanlegen eines Mandanten, was die
1544
        Optionen bewirken, z.B. mit zwei Standardfällen.</para>
1545
      </sect2>
1546
    </sect1>
1547

  
1548
    <sect1 id="config.skr04-update-3804">
1549
      <title>SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</title>
1550

  
1551
      <sect2 id="config.skr04-update-3804.introduction">
1552
        <title>Einführung</title>
1553

  
1554
        <para>Die Umsatzsteuerumstellung auf 19% für SKR04 für die
1555
        Steuerschlüssel "EU ohne USt-ID Nummer" ist erst 2010 erfolgt.
1556
        Lx-Office beinhaltet ein Upgradeskript, das das Konto 3804 automatisch
1557
        erstellt und die Steuereinstellungen korrekt einstellt. Hat der
1558
        Benutzer aber schon selber das Konto 3804 angelegt, oder gab es schon
1559
        Buchungen im Zeitraum nach dem 01.01.2007 auf das Konto 3803, wird das
1560
        Upgradeskript vorsichtshalber nicht ausgeführt, da der Benutzer sich
1561
        vielleicht schon selbst geholfen hat und mit seinen Änderungen
1562
        zufrieden ist. Die korrekten Einstellungen kann man aber auch per Hand
1563
        ausführen. Nachfolgend werden die entsprechenden Schritte anhand von
1564
        Screenshots dargestellt.</para>
1565

  
1566
        <para>Für den Fall, daß Buchungen mit der Steuerschlüssel "EU ohne
1567
        USt.-IdNr." nach dem 01.01.2007 erfolgt sind, ist davon auszugehen,
1568
        dass diese mit dem alten Umsatzsteuersatz von 16% gebucht worden sind,
1569
        und diese Buchungen sollten entsprechend kontrolliert werden.</para>
1570
      </sect2>
1571

  
1572
      <sect2 id="config.skr04-update-3804.create-chart">
1573
        <title>Konto 3804 manuell anlegen</title>
1574

  
1575
        <para>Die folgenden Schritte sind notwendig, um das Konto manuell
1576
        anzulegen und zu konfigurieren. Zuerst wird in
1577
        <guimenu>System</guimenu> -&gt;
1578
        <guisubmenu>Kontenübersicht</guisubmenu> -&gt; <guimenuitem>Konto
1579
        erfassen</guimenuitem> das Konto angelegt.</para>
1580

  
1581
        <screenshot>
1582
          <screeninfo>Konto 3804 erfassen</screeninfo>
1583

  
1584
          <mediaobject>
1585
            <imageobject>
1586
              <imagedata fileref="images/skr04-update-3804/konto3804.png" />
1587
            </imageobject>
1588
          </mediaobject>
1589
        </screenshot>
1590

  
1591
        <para>
1592
         Als Zweites muss Steuergruppe 13 für Konto 3803 angepasst werden. Dazu unter <guimenu>System</guimenu> -&gt;
1593
         <guisubmenu>Steuern</guisubmenu> -&gt; <guimenuitem>Bearbeiten</guimenuitem> den Eintrag mit Steuerschlüssel 13 auswählen und ihn
1594
         wie im folgenden Screenshot angezeigt anpassen.
1595
        </para>
1596

  
1597
        <screenshot>
1598
          <screeninfo>Steuerschlüssel 13 für 3803 (16%) anpassen</screeninfo>
1599

  
1600
          <mediaobject>
1601
            <imageobject>
1602
              <imagedata fileref="images/skr04-update-3804/steuer3803.png" />
1603
            </imageobject>
1604
          </mediaobject>
1605
        </screenshot>
1606

  
1607
        <para>
1608
         Als Drittes wird ein neuer Eintrag mit Steuerschlüssel 13 für Konto 3804 (19%) angelegt. Dazu unter <guimenu>System</guimenu> -&gt;
1609
         <guisubmenu>Steuern</guisubmenu> -&gt; <guimenuitem>Erfassen</guimenuitem> auswählen und die Werte aus dem Screenshot übernehmen.
1610
        </para>
1611

  
1612
        <screenshot>
1613
          <screeninfo>Steuerschlüssel 13 für 3804 (19%) anlegen</screeninfo>
1614

  
1615
          <mediaobject>
1616
            <imageobject>
1617
              <imagedata fileref="images/skr04-update-3804/steuer3804.png" />
1618
            </imageobject>
1619
          </mediaobject>
1620
        </screenshot>
1621

  
1622
        <para>
1623
         Als Nächstes sind alle Konten anzupassen, die als Steuerautomatikkonto die 3803 haben, sodass sie ab dem 1.1.2007 auch
1624
         Steuerautomatik auf 3804 bekommen. Dies betrifft in der Standardkonfiguration die Konten 4315 und 4726. Als Beispiel für 4315
1625
         müssen Sie dazu unter <guimenu>System</guimenu> -&gt; <guisubmenu>Kontenübersicht</guisubmenu> -&gt; <guimenuitem>Konten
1626
         anzeigen</guimenuitem> das Konto 4315 anklicken und die Einstellungen wie im Screenshot gezeigt vornehmen.
1627
        </para>
1628

  
1629
        <screenshot>
1630
          <screeninfo>Konto 4315 anpassen</screeninfo>
1631

  
1632
          <mediaobject>
1633
            <imageobject>
1634
              <imagedata fileref="images/skr04-update-3804/konto4315.png" />
1635
            </imageobject>
1636
          </mediaobject>
1637
        </screenshot>
1638

  
1639
        <para>
1640
         Als Letztes sollte die Steuerliste unter <guimenu>System</guimenu> -&gt; <guisubmenu>Steuern</guisubmenu> -&gt;
1641
         <guimenuitem>Bearbeiten</guimenuitem> kontrolliert werden. Zum Vergleich der Screenshot.
1642
        </para>
1643

  
1644
        <screenshot>
1645
          <screeninfo>Steuerliste vergleichen</screeninfo>
1646

  
1647
          <mediaobject>
1648
            <imageobject>
1649
              <imagedata fileref="images/skr04-update-3804/steuerliste.png" />
1650
            </imageobject>
1651
          </mediaobject>
1652
        </screenshot>
1446 1653
      </sect2>
1447 1654
    </sect1>
1448 1655

  
......
1465 1672
  <chapter id="features" xreflabel="Features und Funktionen">
1466 1673
    <title>Features und Funktionen</title>
1467 1674

  
1468
    <sect1 id="features.periodic-invoices" xreflabel="Wiedekehrende Rechnungen">
1469
     <title>Wiederkehrende Rechnungen</title>
1675
    <sect1 id="features.periodic-invoices"
1676
           xreflabel="Wiedekehrende Rechnungen">
1677
      <title>Wiederkehrende Rechnungen</title>
1470 1678

  
1471
     <sect2 id="features.periodic-invoices.introduction" xreflabel="Einführung in wiederkehrende Rechnungen">
1472
      <title>Einführung</title>
1679
      <sect2 id="features.periodic-invoices.introduction"
1680
             xreflabel="Einführung in wiederkehrende Rechnungen">
1681
        <title>Einführung</title>
1473 1682

  
1474
      <para>
1475
       Wiederkehrende Rechnungen werden als normale Aufträge definiert und konfiguriert, mit allen dazugehörigen Kunden- und
1476
       Artikelangaben. Die konfigurierten Aufträge werden später automatisch in Rechnungen umgewandelt, so als ob man den Workflow benutzen
1477
       würde, und auch die Auftragsnummer wird übernommen, sodass alle wiederkehrenden Rechnungen, die aus einem Auftrag erstellt wurden,
1478
       später leicht wiederzufinden sind.
1479
      </para>
1683
        <para>Wiederkehrende Rechnungen werden als normale Aufträge definiert
1684
        und konfiguriert, mit allen dazugehörigen Kunden- und Artikelangaben.
1685
        Die konfigurierten Aufträge werden später automatisch in Rechnungen
1686
        umgewandelt, so als ob man den Workflow benutzen würde, und auch die
1687
        Auftragsnummer wird übernommen, sodass alle wiederkehrenden
1688
        Rechnungen, die aus einem Auftrag erstellt wurden, später leicht
1689
        wiederzufinden sind.</para>
1690
      </sect2>
1480 1691

  
1481
     </sect2>
1692
      <sect2 id="features.periodic-invoices.configuration"
1693
             xreflabel="Konfiguration von wiederkehrenden Rechnungen">
1694
        <title>Konfiguration</title>
1482 1695

  
1483
     <sect2 id="features.periodic-invoices.configuration" xreflabel="Konfiguration von wiederkehrenden Rechnungen">
1484
      <title>Konfiguration</title>
1696
        <para>Um einen Auftrag für wiederkehrende Rechnung zu konfigurieren,
1697
        findet sich beim Bearbeiten des Auftrags ein neuer Knopf
1698
        "Konfigurieren", der ein neues Fenster öffnet, in dem man die nötigen
1699
        Parameter einstellen kann. Hinter dem Knopf wird außerdem noch
1700
        angezeigt, ob der Auftrag als wiederkehrende Rechnung konfiguriert ist
1701
        oder nicht.</para>
1485 1702

  
1486
      <para>
1487
       Um einen Auftrag für wiederkehrende Rechnung zu konfigurieren, findet sich beim Bearbeiten des Auftrags ein neuer Knopf
1488
       "Konfigurieren", der ein neues Fenster öffnet, in dem man die nötigen Parameter einstellen kann.  Hinter dem Knopf wird außerdem noch
1489
       angezeigt, ob der Auftrag als wiederkehrende Rechnung konfiguriert ist oder nicht.
1490
      </para>
1703
        <para>Folgende Parameter kann man konfigurieren:</para>
1491 1704

  
1492
      <para>
1493
       Folgende Parameter kann man konfigurieren:
1494
      </para>
1705
        <variablelist>
1706
          <varlistentry>
1707
            <term>Status</term>
1495 1708

  
1496
      <variablelist>
1497
       <varlistentry>
1498
        <term>Status</term>
1499
        <listitem>
1500
         <para>
1501
          Bei aktiven Rechnungen wird automatisch eine Rechnung erstellt, wenn die Periodizität erreicht ist (z.B. Anfang eines neuen
1502
          Monats).
1503
         </para>
1504

  
1505
         <para>
1506
          Ist ein Auftrag nicht aktiv, so werden für ihn auch keine wiederkehrenden Rechnungen erzeugt. Stellt man nach längerer
1507
          nicht-aktiver Zeit einen Auftrag wieder auf aktiv, wird beim nächsten Periodenwechsel für alle Perioden, seit der letzten aktiven
1508
          Periode, jeweils eine Rechnung erstellt. Möchte man dies verhindern, muss man vorher das Startdatum neu setzen.
1509
         </para>
1510

  
1511
         <para>
1512
          Für gekündigte Aufträge werden nie mehr Rechnungen erstellt. Man kann sich diese Aufträge aber gesondert in den Berichten anzeigen
1513
          lassen.
1514
         </para>
1515
        </listitem>
1516
       </varlistentry>
1709
            <listitem>
1710
              <para>Bei aktiven Rechnungen wird automatisch eine Rechnung
1711
              erstellt, wenn die Periodizität erreicht ist (z.B. Anfang eines
1712
              neuen Monats).</para>
1713

  
1714
              <para>Ist ein Auftrag nicht aktiv, so werden für ihn auch keine
1715
              wiederkehrenden Rechnungen erzeugt. Stellt man nach längerer
1716
              nicht-aktiver Zeit einen Auftrag wieder auf aktiv, wird beim
1717
              nächsten Periodenwechsel für alle Perioden, seit der letzten
1718
              aktiven Periode, jeweils eine Rechnung erstellt. Möchte man dies
1719
              verhindern, muss man vorher das Startdatum neu setzen.</para>
1720

  
1721
              <para>Für gekündigte Aufträge werden nie mehr Rechnungen
1722
              erstellt. Man kann sich diese Aufträge aber gesondert in den
1723
              Berichten anzeigen lassen.</para>
1724
            </listitem>
1725
          </varlistentry>
1517 1726

  
1518
       <varlistentry>
1519
        <term>Periodizität</term>
1520
        <listitem>
1521
         <para>
1522
          Ob monatlich, quartalsweise oder jährlich auf neue Rechnungen überprüft werden soll. Für jede Periode seit dem Startdatum wird
1523
          überprüft, ob für die Periode (beginnend immer mit dem ersten Tag der Periode) schon eine Rechnung erstellt wurde. Unter Umständen
1524
          können bei einem Startdatum in der Vergangenheit gleich mehrere Rechnungen erstellt werden.
1525
         </para>
1526
        </listitem>
1527
       </varlistentry>
1727
          <varlistentry>
1728
            <term>Periodizität</term>
1528 1729

  
1529
       <varlistentry>
1530
        <term>Buchen auf</term>
1531
        <listitem>
1532
         <para>
1533
          Das Forderungskonto, in der Regel "Forderungen aus Lieferungen und Leistungen". Das Gegenkonto ergibt sich aus den Buchungsgruppen
1534
          der betreffenden Waren.
1535
         </para>
1536
        </listitem>
1537
       </varlistentry>
1730
            <listitem>
1731
              <para>Ob monatlich, quartalsweise oder jährlich auf neue
1732
              Rechnungen überprüft werden soll. Für jede Periode seit dem
1733
              Startdatum wird überprüft, ob für die Periode (beginnend immer
1734
              mit dem ersten Tag der Periode) schon eine Rechnung erstellt
1735
              wurde. Unter Umständen können bei einem Startdatum in der
1736
              Vergangenheit gleich mehrere Rechnungen erstellt werden.</para>
1737
            </listitem>
1738
          </varlistentry>
1538 1739

  
1539
       <varlistentry>
1540
        <term>Startdatum</term>
1541
        <listitem>
1542
         <para>
1543
          ab welchem Datum auf Rechnungserstellung geprüft werden soll
1544
         </para>
1545
        </listitem>
1546
       </varlistentry>
1740
          <varlistentry>
1741
            <term>Buchen auf</term>
1547 1742

  
1548
       <varlistentry>
1549
        <term>Enddatum</term>
1550
        <listitem>
1551
         <para>
1552
          ab wann keine Rechnungen mehr erstellt werden sollen
1553
         </para>
1554
        </listitem>
1555
       </varlistentry>
1743
            <listitem>
1744
              <para>Das Forderungskonto, in der Regel "Forderungen aus
1745
              Lieferungen und Leistungen". Das Gegenkonto ergibt sich aus den
1746
              Buchungsgruppen der betreffenden Waren.</para>
1747
            </listitem>
1748
          </varlistentry>
1556 1749

  
1557
       <varlistentry>
1558
        <term>Automatische Verlängerung um x Monate</term>
1559
        <listitem>
1560
         <para>
1561
          Sollen die wiederkehrenden Rechnungen bei Erreichen des eingetragenen Enddatums weiterhin erstellt werden, so kann man hier die
1562
          Anzahl der Monate eingeben, um die das Enddatum automatisch nach hinten geschoben wird.
1563
         </para>
1564
        </listitem>
1565
       </varlistentry>
1750
          <varlistentry>
1751
            <term>Startdatum</term>
1566 1752

  
1567
       <varlistentry>
1568
        <term>Drucken</term>
1569
        <listitem>
1570
         <para>
1571
          Sind Drucker konfiguriert, so kann man sich die erstellten Rechnungen auch gleich ausdrucken lassen.
1572
         </para>
1573
        </listitem>
1574
       </varlistentry>
1575
      </variablelist>
1576

  
1577
      <para>
1578
       Nach Erstellung der Rechnungen kann eine E-Mail mit Informationen zu den erstellten Rechnungen verschickt werden. Konfiguriert wird
1579
       dies in der <link linkend="config.config-file.sections-parameters">Konfigurationsdatei</link>
1580
       <filename>config/lx_office.conf</filename> im Abschnitt <varname>[periodic_invoices]</varname>.
1581
      </para>
1582
     </sect2>
1583

  
1584
     <sect2 id="features.periodic-invoices.reports">
1585
      <title>Auflisten</title>
1586

  
1587
      <para>
1588
       Unter Verkauf-&gt;Berichte-&gt;Aufträge finden sich zwei neue Checkboxen, &quot;Wiederkehrende Rechnungen aktiv&quot; und
1589
       &quot;Wiederkehrende Rechnungen inaktiv&quot;, mit denen man sich einen Überglick über die wiederkehrenden Rechnungen verschaffen
1590
       kann.
1591
      </para>
1592
     </sect2>
1593

  
1594
     <sect2 id="features.periodic-invoices.task-server">
1595
      <title>Erzeugung der eigentlichen Rechnungen</title>
1596

  
1597
      <para>
1598
       Die zeitliche und periodische Überprüfung, ob eine wiederkehrende Rechnung automatisch erstellt werden soll, geschieht durch den
1599
       <link linkend="config.task-server">Taskserver</link>, einen externen Dienst, der automatisch beim Start des Servers gestartet
1600
       werden sollte.
1601
      </para>
1602
     </sect2>
1603

  
1604
     <sect2 id="features.periodic-invoices.create-for-current-month">
1605
      <title>Erste Rechnung für aktuellen Monat erstellen</title>
1606

  
1607
      <para>
1608
       Will man im laufenden Monat eine monatlich wiederkehrende Rechnung inkl. des laufenden Monats starten, stellt man das Startdatum auf
1609
       den Monatsanfang und wartet ein paar Minuten, bis der Taskserver den neu konfigurieren Auftrag erkennt und daraus eine Rechnung
1610
       generiert hat. Alternativ setzt man das Startdatum auf den Monatsersten des Folgemonats und erstellt die erste Rechnung direkt
1611
       manuell über den Workflow.
1612
      </para>
1613
     </sect2>
1753
            <listitem>
1754
              <para>ab welchem Datum auf Rechnungserstellung geprüft werden
1755
              soll</para>
1756
            </listitem>
1757
          </varlistentry>
1758

  
1759
          <varlistentry>
1760
            <term>Enddatum</term>
1761

  
1762
            <listitem>
1763
              <para>ab wann keine Rechnungen mehr erstellt werden
1764
              sollen</para>
1765
            </listitem>
1766
          </varlistentry>
1767

  
1768
          <varlistentry>
1769
            <term>Automatische Verlängerung um x Monate</term>
1770

  
1771
            <listitem>
1772
              <para>Sollen die wiederkehrenden Rechnungen bei Erreichen des
1773
              eingetragenen Enddatums weiterhin erstellt werden, so kann man
1774
              hier die Anzahl der Monate eingeben, um die das Enddatum
1775
              automatisch nach hinten geschoben wird.</para>
1776
            </listitem>
1777
          </varlistentry>
1778

  
1779
          <varlistentry>
1780
            <term>Drucken</term>
1781

  
1782
            <listitem>
1783
              <para>Sind Drucker konfiguriert, so kann man sich die erstellten
1784
              Rechnungen auch gleich ausdrucken lassen.</para>
1785
            </listitem>
1786
          </varlistentry>
1787
        </variablelist>
1788

  
1789
        <para>Nach Erstellung der Rechnungen kann eine E-Mail mit
1790
        Informationen zu den erstellten Rechnungen verschickt werden.
1791
        Konfiguriert wird dies in der <link
1792
        linkend="config.config-file.sections-parameters">Konfigurationsdatei</link>
1793
        <filename>config/lx_office.conf</filename> im Abschnitt
1794
        <varname>[periodic_invoices]</varname>.</para>
1795
      </sect2>
1796

  
1797
      <sect2 id="features.periodic-invoices.reports">
1798
        <title>Auflisten</title>
1799

  
1800
        <para>Unter Verkauf-&gt;Berichte-&gt;Aufträge finden sich zwei neue
1801
        Checkboxen, "Wiederkehrende Rechnungen aktiv" und "Wiederkehrende
1802
        Rechnungen inaktiv", mit denen man sich einen Überglick über die
1803
        wiederkehrenden Rechnungen verschaffen kann.</para>
1804
      </sect2>
1805

  
1806
      <sect2 id="features.periodic-invoices.task-server">
1807
        <title>Erzeugung der eigentlichen Rechnungen</title>
1808

  
1809
        <para>Die zeitliche und periodische Überprüfung, ob eine
1810
        wiederkehrende Rechnung automatisch erstellt werden soll, geschieht
1811
        durch den <link linkend="config.task-server">Taskserver</link>, einen
1812
        externen Dienst, der automatisch beim Start des Servers gestartet
1813
        werden sollte.</para>
1814
      </sect2>
1815

  
1816
      <sect2 id="features.periodic-invoices.create-for-current-month">
1817
        <title>Erste Rechnung für aktuellen Monat erstellen</title>
1818

  
1819
        <para>Will man im laufenden Monat eine monatlich wiederkehrende
1820
        Rechnung inkl. des laufenden Monats starten, stellt man das Startdatum
1821
        auf den Monatsanfang und wartet ein paar Minuten, bis der Taskserver
1822
        den neu konfigurieren Auftrag erkennt und daraus eine Rechnung
1823
        generiert hat. Alternativ setzt man das Startdatum auf den
1824
        Monatsersten des Folgemonats und erstellt die erste Rechnung direkt
1825
        manuell über den Workflow.</para>
1826
      </sect2>
1614 1827
    </sect1>
1615 1828

  
1616 1829
    <sect1 id="dokumentenvorlagen-und-variablen">
......
1625 1838
        <function>&lt;%variablenname%&gt;</function> verwendet wird. Für
1626 1839
        LaTeX- und HTML-Vorlagen kann man die Form dieser Tags auch verändern
1627 1840
        (siehe <xref
1628
        linkend="dokumentenvorlagen-und-variablen.tag-style"/>).</para>
1841
        linkend="dokumentenvorlagen-und-variablen.tag-style" />).</para>
1629 1842

  
1630 1843
        <para>Früher wurde hier nur über LaTeX gesprochen. Inzwischen
1631 1844
        unterstützt Lx-Office aber auch OpenDocument-Vorlagen. Sofern es nicht
......
1901 2114
        <para>Die kurzen Varianten dieser Vorlagentitel müssen dann entweder
1902 2115
        Standardwerte anzeigen, oder die angeforderten Werte selbst auswerten,
1903 2116
        siehe dazu <xref
1904
        linkend="dokumentenvorlagen-und-variablen.allgemeine-variablen.meta"/>.</para>
2117
        linkend="dokumentenvorlagen-und-variablen.allgemeine-variablen.meta" />.</para>
1905 2118
      </sect2>
1906 2119

  
1907 2120
      <sect2 id="dokumentenvorlagen-und-variablen.allgemeine-variablen">
......
4207 4420
        <function>strict</function> werden alle Variablen die nicht explizit
4208 4421
        mit <function>Package</function>, <function>my</function> oder
4209 4422
        <function>our</function> angegeben werden als Tippfehler angemarkert,
4210
        dies hat, seit der Einführung, u.a. schon so manche langwierige Bug-Suche verkürzt.
4211
        Da globale Variablen aber implizit mit Package angegeben werden, werden
4212
        die nicht geprüft, und somit kann sich schnell ein Tippfehler einschleichen.</para>
4423
        dies hat, seit der Einführung, u.a. schon so manche langwierige
4424
        Bug-Suche verkürzt. Da globale Variablen aber implizit mit Package
4425
        angegeben werden, werden die nicht geprüft, und somit kann sich
4426
        schnell ein Tippfehler einschleichen.</para>
4213 4427
      </sect2>
4214 4428

  
4215 4429
      <sect2>
4216 4430
        <title>Kanonische globale Variablen</title>
4217 4431

  
4218 4432
        <para>Um dieses Problem im Griff zu halten gibt es einige wenige
4219
        globale Variablen, die kanonisch sind, d.h. sie haben bestimmte vorgegebenen Eigenschaften,
4220
        und alles andere sollte anderweitig umhergereicht werden.</para>
4433
        globale Variablen, die kanonisch sind, d.h. sie haben bestimmte
4434
        vorgegebenen Eigenschaften, und alles andere sollte anderweitig
4435
        umhergereicht werden.</para>
4221 4436

  
4222 4437
        <para>Diese Variablen sind im Moment die folgenden neun:</para>
4223 4438

  
......
4259 4474
          </listitem>
4260 4475
        </itemizedlist>
4261 4476

  
4262
        <para>Damit diese nicht erneut als Müllhalde missbraucht werden, im Folgenden
4263
        eine kurze Erläuterung der bestimmten vorgegebenen Eigenschaften (Konventionen):</para>
4477
        <para>Damit diese nicht erneut als Müllhalde missbraucht werden, im
4478
        Folgenden eine kurze Erläuterung der bestimmten vorgegebenen
4479
        Eigenschaften (Konventionen):</para>
4264 4480

  
4265 4481
        <sect3>
4266 4482
          <title>$::form</title>
......
4295 4511
          Ledger</productname> als Gottobjekt für alles misbraucht. Sämtliche
4296 4512
          alten Funktionen unter SL/ mutieren <varname>$::form</varname>, das
4297 4513
          heißt, alles was einem lieb ist (alle Variablen die einem ans Herz
4298
          gewachsen sind), sollte man vor einem Aufruf (!) von zum
4299
          Beispiel <function>IS-&gt;retrieve_customer()</function> in
4300
          Sicherheit bringen. </para>
4514
          gewachsen sind), sollte man vor einem Aufruf (!) von zum Beispiel
4515
          <function>IS-&gt;retrieve_customer()</function> in Sicherheit
4516
          bringen.</para>
4301 4517

  
4302
          <para>
4303
           Z.B. das vom Benutzer eingestellte Zahlenformat, bevor man Berechnung in einem
4304
           bestimmten Format durchführt (SL/Form.pm Zeile 3552, Stand version 2.7beta), um
4305
           dies hinterher wieder auf den richtigen Wert zu setzen:
4306
          </para>
4518
          <para>Z.B. das vom Benutzer eingestellte Zahlenformat, bevor man
4519
          Berechnung in einem bestimmten Format durchführt (SL/Form.pm Zeile
4520
          3552, Stand version 2.7beta), um dies hinterher wieder auf den
4521
          richtigen Wert zu setzen:</para>
4307 4522

  
4308 4523
          <programlisting>  my $saved_numberformat    = $::myconfig{numberformat};
4309 4524
  $::myconfig{numberformat} = $numberformat;
4310 4525
  # (...) div Berechnungen
4311 4526
  $::myconfig{numberformat} = $saved_numberformat;</programlisting>
4312 4527

  
4313
          <para>
4314
           Das Objekt der Klasse Form hat leider im Moment noch viele zentrale Funktionen die vom internen Zustand abhängen, deshalb bitte
4315
           nie einfach zerstören oder überschreiben (zumindestens nicht kurz vor einem Release oder in Absprache über bspw. die devel-Liste
4316
           ;-).  Es geht ziemlich sicher etwas kaputt.
4317
          </para>
4318

  
4319
          <para>
4320
           <varname>$::form</varname> ist gleichzeitig der Standard Scope in den <productname>Template::Toolkit</productname> Templates
4321
           außerhalb der Controller: der Ausdruck <function>[% var %]</function> greift auf <varname>$::form-&gt;{var}</varname> zu.  Unter
4322
           Controllern ist der Standard Scope anders, da lautet der Zugriff <function>[% FORM.var %]</function>. In Druckvorlagen sind
4323
           normale Variablen ebenfall im <varname>$::form</varname> Scope, d.h.  <function>&lt;%var%&gt;</function> zeigt auf
4324
           <varname>$::form-&gt;{var}</varname>.  Nochmal von der anderen Seite erläutert, innerhalb von (Web-)Templates sieht man häufiger
4325
           solche Konstrukte:
4326
          </para>
4528
          <para>Das Objekt der Klasse Form hat leider im Moment noch viele
4529
          zentrale Funktionen die vom internen Zustand abhängen, deshalb bitte
4530
          nie einfach zerstören oder überschreiben (zumindestens nicht kurz
4531
          vor einem Release oder in Absprache über bspw. die devel-Liste ;-).
4532
          Es geht ziemlich sicher etwas kaputt.</para>
4533

  
4534
          <para><varname>$::form</varname> ist gleichzeitig der Standard Scope
4535
          in den <productname>Template::Toolkit</productname> Templates
4536
          außerhalb der Controller: der Ausdruck <function>[% var
4537
          %]</function> greift auf <varname>$::form-&gt;{var}</varname> zu.
4538
          Unter Controllern ist der Standard Scope anders, da lautet der
4539
          Zugriff <function>[% FORM.var %]</function>. In Druckvorlagen sind
4540
          normale Variablen ebenfall im <varname>$::form</varname> Scope, d.h.
4541
          <function>&lt;%var%&gt;</function> zeigt auf
4542
          <varname>$::form-&gt;{var}</varname>. Nochmal von der anderen Seite
4543
          erläutert, innerhalb von (Web-)Templates sieht man häufiger solche
4544
          Konstrukte:</para>
4327 4545

  
4328 4546
          <programlisting>[%- IF business %]
4329 4547
# (... Zeig die Auswahlliste Kunden-/Lieferantentyp an)
4330 4548
[%- END %]</programlisting>
4331 4549

  
4332
          <para>
4333
           Entweder wird hier dann $::form-&gt;{business} ausgewertet oder aber der Funktion <function>$form-&gt;parse_html_template</function>
4334
           wird explizit noch ein zusätzlicher Hash übergeben, der dann auch in den (Web-)Templates zu Verfügung steht, bspw. so:
4335
          </para>
4550
          <para>Entweder wird hier dann $::form-&gt;{business} ausgewertet
... Dieser Diff wurde abgeschnitten, weil er die maximale Anzahl anzuzeigender Zeilen überschreitet.

Auch abrufbar als: Unified diff