Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
authorNiclas Zimmermann <niclas@kivitendo-premium.de>
Thu, 22 Nov 2012 10:14:30 +0000 (11:14 +0100)
committerNiclas Zimmermann <niclas@kivitendo-premium.de>
Thu, 22 Nov 2012 10:14:30 +0000 (11:14 +0100)
252 files changed:
SL/AM.pm
SL/Auth.pm
SL/CA.pm
SL/Controller/CsvImport/Part.pm
SL/Controller/Helper/Paginated.pm
SL/Controller/Helper/Sorted.pm
SL/FU.pm
SL/Form.pm
SL/IC.pm
SL/IS.pm
SL/InstallationCheck.pm
SL/Layout/Base.pm
SL/Layout/Css.pm
SL/Layout/Dispatcher.pm
SL/Layout/Javascript.pm
SL/Layout/Top.pm
SL/Layout/V4.pm [deleted file]
SL/OE.pm
SL/RP.pm
SL/Template/Plugin/L.pm
SL/Template/Simple.pm
VERSION
bin/mozilla/admin.pl
bin/mozilla/ap.pl
bin/mozilla/ar.pl
bin/mozilla/ca.pl
bin/mozilla/cp.pl
bin/mozilla/ct.pl
bin/mozilla/gl.pl
bin/mozilla/ic.pl
bin/mozilla/io.pl
bin/mozilla/ir.pl
bin/mozilla/is.pl
bin/mozilla/oe.pl
bin/mozilla/projects.pl
bin/mozilla/vk.pl
css/Mobile/menuv4.css [deleted symlink]
css/kivitendo/background_jobs.css [changed from symlink to file mode: 0644]
css/kivitendo/dhtmlsuite/menu-bar.css
css/kivitendo/dhtmlsuite/menu-item.css
css/kivitendo/frame_header [deleted symlink]
css/kivitendo/frame_header/header.css [new file with mode: 0644]
css/kivitendo/jquery.autocomplete.css [changed from symlink to file mode: 0644]
css/kivitendo/jquery.multiselect2side.css [changed from symlink to file mode: 0644]
css/kivitendo/list_accounts.css [new file with mode: 0644]
css/kivitendo/main.css
css/kivitendo/menu.css
css/kivitendo/tabcontent.css
css/kivitendo/ui-lightness [deleted symlink]
css/kivitendo/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png [new file with mode: 0644]
css/kivitendo/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png [new file with mode: 0644]
css/kivitendo/ui-lightness/images/ui-bg_flat_10_000000_40x100.png [new file with mode: 0644]
css/kivitendo/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png [new file with mode: 0644]
css/kivitendo/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png [new file with mode: 0644]
css/kivitendo/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png [new file with mode: 0644]
css/kivitendo/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png [new file with mode: 0644]
css/kivitendo/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png [new file with mode: 0644]
css/kivitendo/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png [new file with mode: 0644]
css/kivitendo/ui-lightness/images/ui-icons_222222_256x240.png [new file with mode: 0644]
css/kivitendo/ui-lightness/images/ui-icons_228ef1_256x240.png [new file with mode: 0644]
css/kivitendo/ui-lightness/images/ui-icons_ef8c08_256x240.png [new file with mode: 0644]
css/kivitendo/ui-lightness/images/ui-icons_ffd27a_256x240.png [new file with mode: 0644]
css/kivitendo/ui-lightness/images/ui-icons_ffffff_256x240.png [new file with mode: 0644]
css/kivitendo/ui-lightness/jquery-ui-1.8.12.custom.css [new file with mode: 0644]
css/lx-office-erp/main.css
css/lx-office-erp/menu.css
doc/UPGRADE
doc/changelog
doc/dokumentation.xml
doc/html/ch01.html
doc/html/ch02.html
doc/html/ch02s02.html
doc/html/ch02s03.html
doc/html/ch02s04.html
doc/html/ch02s05.html
doc/html/ch02s06.html
doc/html/ch02s07.html
doc/html/ch02s08.html
doc/html/ch02s09.html
doc/html/ch02s10.html
doc/html/ch02s11.html
doc/html/ch02s12.html
doc/html/ch02s13.html
doc/html/ch02s14.html
doc/html/ch02s15.html
doc/html/ch02s16.html [new file with mode: 0644]
doc/html/ch03.html
doc/html/ch03s02.html
doc/html/ch04.html
doc/html/ch04s04.html
doc/html/ch04s05.html
doc/html/index.html
doc/html/system/docbook-xsl/images/note.png [new file with mode: 0644]
doc/html/system/docbook-xsl/images/warning.png [new file with mode: 0644]
doc/kivitendo-Dokumentation.pdf
doc/release_management.txt
image/bg_css_kivi_menu.png [new file with mode: 0644]
image/bg_kivi_titel.png [new file with mode: 0644]
image/icons/16x16/Program--Version.png
image/icons/24x24/Program--Version.png
image/icons/32x32/Program--Version.png
image/kivitendo.png
image/maps/icons16.png
image/maps/icons24.png
image/maps/icons32.png
locale/de/all
menu.ini
scripts/build_doc.sh
scripts/find-use.pl
sql/Pg-upgrade2-auth/remove_menustyle_v4.sql [new file with mode: 0644]
sql/Pg-upgrade2/chart_type_skonto.sql [new file with mode: 0644]
sql/Pg-upgrade2/rename_buchungsgruppe_16_19_to_19.sql [new file with mode: 0644]
sql/Pg-upgrade2/ustva_setup_2007_update_chart_taxkeys_tax_skr04.sql [new file with mode: 0644]
templates/print/Default/balance_sheet.html [deleted file]
templates/print/Default/bin_list.html [deleted file]
templates/print/Default/bin_list.tex [deleted file]
templates/print/Default/bwa.html [deleted file]
templates/print/Default/check.tex [deleted file]
templates/print/Default/income_statement.html [deleted file]
templates/print/Default/invoice.html [deleted file]
templates/print/Default/invoice.tex [deleted file]
templates/print/Default/pick_list.html [deleted file]
templates/print/Default/pick_list.tex [deleted file]
templates/print/Default/purchase_order.html [deleted file]
templates/print/Default/purchase_order.tex [deleted file]
templates/print/Default/receipt.tex [deleted file]
templates/print/Default/request_quotation.html [deleted file]
templates/print/Default/request_quotation.tex [deleted file]
templates/print/Default/sales_order.html [deleted file]
templates/print/Default/sales_order.tex [deleted file]
templates/print/Default/sales_quotation.html [deleted file]
templates/print/Default/sales_quotation.tex [deleted file]
templates/print/Default/statement.html [deleted file]
templates/print/Default/statement.tex [deleted file]
templates/print/Default/taxbird.txb [deleted file]
templates/print/Default/ustva-2012.tex [deleted file]
templates/print/Default/ustva.html [deleted file]
templates/print/Default/ustva.tex [deleted file]
templates/print/Default/winston.xml [deleted file]
templates/print/German/balance_sheet.html [deleted file]
templates/print/German/bin_list.html [deleted file]
templates/print/German/bin_list.tex [deleted file]
templates/print/German/bwa.html [deleted file]
templates/print/German/check.tex [deleted file]
templates/print/German/credit_note.tex [deleted file]
templates/print/German/income_statement.html [deleted file]
templates/print/German/invoice.html [deleted file]
templates/print/German/invoice.odt [deleted file]
templates/print/German/invoice.tex [deleted file]
templates/print/German/pick_list.html [deleted file]
templates/print/German/pick_list.tex [deleted file]
templates/print/German/purchase_order.html [deleted file]
templates/print/German/purchase_order.tex [deleted file]
templates/print/German/receipt.tex [deleted file]
templates/print/German/request_quotation.html [deleted file]
templates/print/German/request_quotation.tex [deleted file]
templates/print/German/sales_delivery_order.tex [deleted file]
templates/print/German/sales_order.html [deleted file]
templates/print/German/sales_order.tex [deleted file]
templates/print/German/sales_quotation.html [deleted file]
templates/print/German/sales_quotation.odt [deleted file]
templates/print/German/sales_quotation.tex [deleted file]
templates/print/German/statement.html [deleted file]
templates/print/German/statement.tex [deleted file]
templates/print/German/taxbird.txb [deleted file]
templates/print/German/ustva-2012.tex [deleted file]
templates/print/German/ustva.html [deleted file]
templates/print/German/ustva.tex [deleted file]
templates/print/German/winston.xml [deleted file]
templates/print/German/zahlungserinnerung.tex [deleted file]
templates/print/German/zahlungserinnerung_invoice.tex [deleted file]
templates/print/Standard/balance_sheet.html [new file with mode: 0644]
templates/print/Standard/bin_list.tex [new file with mode: 0644]
templates/print/Standard/bwa.html [new file with mode: 0644]
templates/print/Standard/check.tex [new file with mode: 0644]
templates/print/Standard/credit_note.odt [new file with mode: 0644]
templates/print/Standard/credit_note.tex [new file with mode: 0755]
templates/print/Standard/income_statement.html [new file with mode: 0644]
templates/print/Standard/invoice.odt [new file with mode: 0644]
templates/print/Standard/invoice.tex [new file with mode: 0644]
templates/print/Standard/kivitendo-seite1.pdf [new file with mode: 0644]
templates/print/Standard/kivitendo-seiteff.pdf [new file with mode: 0644]
templates/print/Standard/kivitendobriefkopf.tex [new file with mode: 0644]
templates/print/Standard/mahnung.tex [new file with mode: 0644]
templates/print/Standard/mahnung_invoice.tex [new file with mode: 0644]
templates/print/Standard/mitBriefpapier.sty [new file with mode: 0644]
templates/print/Standard/ohneBriefpapier.sty [new file with mode: 0644]
templates/print/Standard/pick_list.tex [new file with mode: 0644]
templates/print/Standard/proforma.tex [new file with mode: 0644]
templates/print/Standard/purchase_delivery_order.tex [new file with mode: 0644]
templates/print/Standard/purchase_order.tex [new file with mode: 0644]
templates/print/Standard/receipt.tex [new file with mode: 0644]
templates/print/Standard/request_quotation.tex [new file with mode: 0644]
templates/print/Standard/sales_delivery_order.odt [new file with mode: 0644]
templates/print/Standard/sales_delivery_order.tex [new file with mode: 0644]
templates/print/Standard/sales_order.odt [new file with mode: 0644]
templates/print/Standard/sales_order.tex [new file with mode: 0644]
templates/print/Standard/sales_quotation.odt [new file with mode: 0644]
templates/print/Standard/sales_quotation.tex [new file with mode: 0644]
templates/print/Standard/statement.tex [new file with mode: 0644]
templates/print/Standard/taxbird.txb [new file with mode: 0644]
templates/print/Standard/ustva-2012.tex [new file with mode: 0644]
templates/print/Standard/ustva.html [new file with mode: 0644]
templates/print/Standard/ustva.tex [new file with mode: 0644]
templates/print/Standard/winston.xml [new file with mode: 0644]
templates/print/Standard/zahlungserinnerung.tex [new file with mode: 0644]
templates/print/Standard/zwischensumme.sty [new file with mode: 0644]
templates/print/f-tex/README [deleted file]
templates/print/f-tex/default.tex
templates/webpages/admin/adminlogin.html
templates/webpages/admin/backup_dataset.html
templates/webpages/admin/backup_dataset_email_done.html
templates/webpages/admin/check_auth_database.html
templates/webpages/admin/check_auth_tables.html
templates/webpages/admin/create_dataset.html
templates/webpages/admin/create_standard_group_ask.html
templates/webpages/admin/dbadmin.html
templates/webpages/admin/dbcreate.html
templates/webpages/admin/dbdelete.html
templates/webpages/admin/dbupgrade_header.html
templates/webpages/admin/delete_dataset.html
templates/webpages/admin/delete_group_confirm.html
templates/webpages/admin/edit_group.html
templates/webpages/admin/edit_group_membership.html
templates/webpages/admin/edit_groups.html
templates/webpages/admin/edit_user.html
templates/webpages/admin/list_users.html
templates/webpages/admin/restore_dataset.html
templates/webpages/admin/restore_dataset_start_header.html
templates/webpages/admin/test_db_connection.html
templates/webpages/admin/update_dataset.html
templates/webpages/admin/user_migration.html
templates/webpages/admin/user_migration_complete.html
templates/webpages/admin/user_migration_done.html
templates/webpages/am/config.html
templates/webpages/am/language_header.html
templates/webpages/amcvar/search_filter.html
templates/webpages/ap/form_footer.html
templates/webpages/ca/list.html
templates/webpages/cp/invoices.html
templates/webpages/csv_import/form.html
templates/webpages/ct/form_header.html
templates/webpages/do/form_header.html
templates/webpages/gl/form_header.html
templates/webpages/ic/assembly_row.html
templates/webpages/ic/form_header.html
templates/webpages/ic/search.html
templates/webpages/ir/form_footer.html
templates/webpages/is/form_footer.html
templates/webpages/login_screen/user_login.html
templates/webpages/menu/menunew.html
templates/webpages/menu/menuv4.html [deleted file]

index 0e64e5a..c7a88d2 100644 (file)
--- a/SL/AM.pm
+++ b/SL/AM.pm
@@ -269,7 +269,7 @@ sub save_account {
     do_query($form, $dbh, $query, $form->{"id"}, $form->{"accno"});
   }
 
-  my @values;
+  @values = ();
 
 
   if ($form->{id}) {
index b9840fc..d63b6a2 100644 (file)
@@ -489,8 +489,9 @@ sub read_user {
     @user_data{qw(id login)}    = @{$ref}{qw(id login)};
   }
 
-  # The XUL/XML backed menu has been removed.
-  $user_data{menustyle} = 'v3' if lc($user_data{menustyle} || '') eq 'xml';
+  # The XUL/XML & 'CSS new' backed menus have been removed.
+  my %menustyle_map = ( xml => 'new', v4 => 'v3' );
+  $user_data{menustyle} = $menustyle_map{lc($user_data{menustyle} || '')} || $user_data{menustyle};
 
   # Set default language if selected language does not exist (anymore).
   $user_data{countrycode} = $::lx_office_conf{system}->{language} unless $user_data{countrycode} && -d "locale/$user_data{countrycode}";
index 52d2b0b..577d6b9 100644 (file)
--- a/SL/CA.pm
+++ b/SL/CA.pm
@@ -203,22 +203,6 @@ sub all_transactions {
     $project = qq| AND ac.project_id = ? |;
     @project_values = (conv_i($form->{project_id}));
   }
-  my $acc_cash_where = "";
-  my $ar_cash_where = "";
-  my $ap_cash_where = "";
-
-
-  if ($form->{method} eq "cash") {
-    $where = qq| (ac.trans_id IN (SELECT id FROM ar WHERE datepaid>= ? AND datepaid<= ? UNION SELECT id FROM ap WHERE datepaid>= ? AND datepaid<= ? UNION SELECT id FROM gl WHERE transdate>= ? AND transdate<= ?)) |;
-    @where_values = ();
-    push(@where_values, conv_date($form->{fromdate}));
-    push(@where_values, conv_date($form->{todate}));
-    push(@where_values, conv_date($form->{fromdate}));
-    push(@where_values, conv_date($form->{todate}));
-    push(@where_values, conv_date($form->{fromdate}));
-    push(@where_values, conv_date($form->{todate}));
- }
-
 
   if ($form->{accno}) {
 
index 3c781aa..1538f2d 100644 (file)
@@ -365,7 +365,7 @@ sub handle_makemodel {
   my $found_any;
 
   my @makemodels;
-  foreach my $idx (map { substr $_, 5 } grep { m/^make_\d+$/ && $entry->{raw_data}->{$_} } keys %{ $entry->{raw_data} }) {
+  foreach my $idx (sort map { substr $_, 5 } grep { m/^make_\d+$/ && $entry->{raw_data}->{$_} } keys %{ $entry->{raw_data} }) {
     my $vendor = $entry->{raw_data}->{"make_${idx}"};
     $vendor    = $self->vc_by->{id}->               { $vendor }
               || $self->vc_by->{number}->{vendors}->{ $vendor }
@@ -457,10 +457,10 @@ sub setup_displayable_columns {
                                  { name => 'image',              description => $::locale->text('Image')                                                },
                                  { name => 'lastcost',           description => $::locale->text('Last Cost')                                            },
                                  { name => 'listprice',          description => $::locale->text('List Price')                                           },
-                                 { name => 'make_X',             description => $::locale->text('Make (with X being a number)')                         },
+                                 { name => 'make_X',             description => $::locale->text('Make (vendor\'s database ID, number or name; with X being a number)') . ' [1]' },
                                  { name => 'microfiche',         description => $::locale->text('Microfiche')                                           },
-                                 { name => 'model_X',            description => $::locale->text('Model (with X being a number)')                        },
-                                 { name => 'lastcost_X',         description => $::locale->text('Lastcost (with X being a number)')                     },
+                                 { name => 'model_X',            description => $::locale->text('Model (with X being a number)') . ' [1]'               },
+                                 { name => 'lastcost_X',         description => $::locale->text('Lastcost (with X being a number)') . ' [1]'            },
                                  { name => 'not_discountable',   description => $::locale->text('Not Discountable')                                     },
                                  { name => 'notes',              description => $::locale->text('Notes')                                                },
                                  { name => 'obsolete',           description => $::locale->text('Obsolete')                                             },
index d3da20d..1683aad 100644 (file)
@@ -7,7 +7,9 @@ our @EXPORT = qw(make_paginated get_paginate_spec get_current_paginate_params _s
 
 use constant PRIV => '__paginatedhelper_priv';
 
-my $controller_paginate_spec;
+use List::Util qw(min);
+
+my %controller_paginate_spec;
 
 sub make_paginated {
   my ($class, %specs)       = @_;
@@ -20,7 +22,7 @@ sub make_paginated {
   $specs{ONLY}              = [ $specs{ONLY} ] if !ref $specs{ONLY};
   $specs{ONLY_MAP}          = @{ $specs{ONLY} } ? { map { ($_ => 1) } @{ $specs{ONLY} } } : { '__ALL__' => 1 };
 
-  $controller_paginate_spec = \%specs;
+  $controller_paginate_spec{$class} = \%specs;
 
   my %hook_params           = @{ $specs{ONLY} } ? ( only => $specs{ONLY} ) : ();
   $class->run_before('_save_current_paginate_params', %hook_params);
@@ -38,7 +40,7 @@ sub make_paginated {
 sub get_paginate_spec {
   my ($class_or_self) = @_;
 
-  return $controller_paginate_spec;
+  return $controller_paginate_spec{ref($class_or_self) || $class_or_self};
 }
 
 sub get_current_paginate_params {
@@ -60,7 +62,8 @@ sub get_current_paginate_params {
                         :                                         ();
   my $calculated_params = "SL::DB::Manager::$spec->{MODEL}"->paginate(%paginate_params, args => \%paginate_args);
   %paginate_params      = (
-    %paginate_params,
+    page         => min($paginate_params{page}, $calculated_params->{max}),
+    per_page     => $paginate_params{per_page},
     num_pages    => $calculated_params->{max},
     common_pages => $calculated_params->{common},
   );
index c9e5779..98c0a7c 100644 (file)
@@ -11,7 +11,7 @@ our @EXPORT = qw(make_sorted get_sort_spec get_current_sort_params set_report_ge
 
 use constant PRIV => '__sortedhelperpriv';
 
-my $controller_sort_spec;
+my %controller_sort_spec;
 
 sub make_sorted {
   my ($class, %specs) = @_;
@@ -35,7 +35,7 @@ sub make_sorted {
   $specs{ONLY}        ||= [];
   $specs{ONLY}          = [ $specs{ONLY} ] if !ref $specs{ONLY};
 
-  $controller_sort_spec = \%specs;
+  $controller_sort_spec{$class} = \%specs;
 
   my %hook_params = @{ $specs{ONLY} } ? ( only => $specs{ONLY} ) : ();
   $class->run_before('_save_current_sort_params', %hook_params);
@@ -53,7 +53,7 @@ sub make_sorted {
 sub get_sort_spec {
   my ($class_or_self) = @_;
 
-  return $controller_sort_spec;
+  return $controller_sort_spec{ref($class_or_self) || $class_or_self};
 }
 
 sub get_current_sort_params {
index 27836e0..a005c18 100644 (file)
--- a/SL/FU.pm
+++ b/SL/FU.pm
@@ -426,11 +426,11 @@ sub save_access_rights {
 
   my ($id)     = selectrow_query($form, $dbh, qq|SELECT id FROM employee WHERE login = ?|, $form->{login});
 
+  do_query($form, $dbh, qq|DELETE FROM follow_up_access WHERE what = ?|, $id);
+
   my $query    = qq|INSERT INTO follow_up_access (who, what) VALUES (?, ?)|;
   my $sth      = prepare_query($form, $dbh, $query);
 
-  do_query($form, $dbh, qq|DELETE FROM follow_up_access WHERE what = ?|, $id);
-
   while (my ($who, $access_allowed) = each %{ $params{access} }) {
     next unless ($access_allowed);
 
index 3e9704f..45f3759 100644 (file)
@@ -1970,7 +1970,7 @@ sub get_duedate {
   $reference_date = $reference_date ? conv_dateq($reference_date) . '::DATE' : 'current_date';
 
   my $dbh         = $self->get_standard_dbh($myconfig);
-  my $payment_id;
+  my ($payment_id, $duedate);
 
   if($self->{payment_id}) {
     $payment_id = $self->{payment_id};
@@ -1979,8 +1979,10 @@ sub get_duedate {
     ($payment_id) = selectrow_query($self, $dbh, $query, $self->{vendor_id});
   }
 
-  my $query       = qq|SELECT ${reference_date} + terms_netto FROM payment_terms WHERE id = ?|;
-  my ($duedate)   = selectrow_query($self, $dbh, $query, $payment_id);
+  if ($payment_id) {
+    my $query  = qq|SELECT ${reference_date} + terms_netto FROM payment_terms WHERE id = ?|;
+    ($duedate) = selectrow_query($self, $dbh, $query, $payment_id);
+  }
 
   $main::lxdebug->leave_sub();
 
@@ -3581,7 +3583,6 @@ sub layout {
   my %style_to_script_map = (
     v3  => 'v3',
     neu => 'new',
-    v4  => 'v4',
   );
 
   my $menu_script = $style_to_script_map{$::myconfig{menustyle}} || '';
index f5f014b..f39c169 100644 (file)
--- a/SL/IC.pm
+++ b/SL/IC.pm
@@ -109,60 +109,20 @@ sub get_part {
   $form->{amount}{IC_expense} = $form->{expense_accno};
   $form->{amount}{IC_cogs}    = $form->{expense_accno};
 
-  my @pricegroups          = ();
-  my @pricegroups_not_used = ();
-
   # get prices
-  $query =
-    qq|SELECT p.parts_id, p.pricegroup_id, p.price,
-         (SELECT pg.pricegroup
-          FROM pricegroup pg
-          WHERE pg.id = p.pricegroup_id) AS pricegroup
-       FROM prices p
-       WHERE (parts_id = ?)
-       ORDER BY pricegroup|;
-  $sth = prepare_execute_query($form, $dbh, $query, conv_i($form->{id}));
-
-  #for pricegroups
-  my $i = 1;
-  while (($form->{"klass_$i"}, $form->{"pricegroup_id_$i"},
-          $form->{"price_$i"}, $form->{"pricegroup_$i"})
-         = $sth->fetchrow_array()) {
-    push @pricegroups, $form->{"pricegroup_id_$i"};
-    $i++;
-  }
-
-  $sth->finish;
-
-  # get pricegroups
-  $query = qq|SELECT id, pricegroup FROM pricegroup|;
-  $form->{PRICEGROUPS} = selectall_hashref_query($form, $dbh, $query);
-
-  #find not used pricegroups
-  while (my $tmp = pop(@{ $form->{PRICEGROUPS} })) {
-    my $in_use = 0;
-    foreach my $item (@pricegroups) {
-      if ($item eq $tmp->{id}) {
-        $in_use = 1;
-        last;
-      }
-    }
-    push(@pricegroups_not_used, $tmp) unless ($in_use);
-  }
-
-  # if not used pricegroups are avaible
-  if (@pricegroups_not_used) {
+  $query = <<SQL;
+    SELECT pg.pricegroup, pg.id AS pricegroup_id, COALESCE(pr.price, 0) AS price
+    FROM pricegroup pg
+    LEFT JOIN prices pr ON (pr.pricegroup_id = pg.id) AND (pr.parts_id = ?)
+    ORDER BY lower(pg.pricegroup)
+SQL
 
-    foreach my $name (@pricegroups_not_used) {
-      $form->{"klass_$i"} = "$name->{id}";
-      $form->{"pricegroup_id_$i"} = "$name->{id}";
-      $form->{"pricegroup_$i"}    = "$name->{pricegroup}";
-      $i++;
-    }
+  my $row = 1;
+  foreach $ref (selectall_hashref_query($form, $dbh, $query, conv_i($form->{id}))) {
+    $form->{"${_}_${row}"} = $ref->{$_} for qw(pricegroup_id pricegroup price);
+    $row++;
   }
-
-  #correct rows
-  $form->{price_rows} = $i - 1;
+  $form->{price_rows} = $row - 1;
 
   # get makes
   if ($form->{makemodel}) {
@@ -241,7 +201,7 @@ sub get_pricegroups {
   my $dbh = $form->dbconnect($myconfig);
 
   # get pricegroups
-  my $query = qq|SELECT id, pricegroup FROM pricegroup|;
+  my $query = qq|SELECT id, pricegroup FROM pricegroup ORDER BY lower(pricegroup)|;
   my $pricegroups = selectall_hashref_query($form, $dbh, $query);
 
   my $i = 1;
@@ -471,26 +431,20 @@ sub save {
   # delete price records
   do_query($form, $dbh, qq|DELETE FROM prices WHERE parts_id = ?|, conv_i($form->{id}));
 
+  $query = qq|INSERT INTO prices (parts_id, pricegroup_id, price) VALUES(?, ?, ?)|;
+  $sth   = prepare_query($form, $dbh, $query);
+
   # insert price records only if different to sellprice
   for my $i (1 .. $form->{price_rows}) {
     my $price = $form->parse_amount($myconfig, $form->{"price_$i"});
-    if ($price == 0) {
-      $form->{"price_$i"} = $form->{sellprice};
-    }
-    if (
-        (   $price
-         || $form->{"klass_$i"}
-         || $form->{"pricegroup_id_$i"})
-        and $price != $form->{sellprice}
-      ) {
-      #$klass = $form->parse_amount($myconfig, $form->{"klass_$i"});
-      $query = qq|INSERT INTO prices (parts_id, pricegroup_id, price) | .
-               qq|VALUES(?, ?, ?)|;
-      @values = (conv_i($form->{id}), conv_i($form->{"pricegroup_id_$i"}), $price);
-      do_query($form, $dbh, $query, @values);
-    }
+    next unless $price && ($price != $form->{sellprice});
+
+    @values = (conv_i($form->{id}), conv_i($form->{"pricegroup_id_$i"}), $price);
+    do_statement($form, $sth, $query, @values);
   }
 
+  $sth->finish;
+
   # insert makemodel records
     my $lastupdate = '';
     my $value = 0;
index 616e2bf..e240d97 100644 (file)
--- a/SL/IS.pm
+++ b/SL/IS.pm
@@ -222,12 +222,18 @@ sub invoice_details {
       my ($dec)         = ($sellprice =~ /\.(\d+)/);
       my $decimalplaces = max 2, length($dec);
 
-      my $parsed_discount      = $form->parse_amount($myconfig, $form->{"discount_$i"});
-      my $linetotal_exact      =                     $form->{"qty_$i"} * $sellprice * (100 - $parsed_discount) / 100 / $price_factor->{factor};
-      my $linetotal            = $form->round_amount($linetotal_exact, 2);
-      my $discount             = $form->round_amount($form->{"qty_$i"} * $sellprice * $parsed_discount / 100 / $price_factor->{factor} - ($linetotal - $linetotal_exact),
-                                                     $decimalplaces);
-      my $nodiscount_linetotal = $form->round_amount($form->{"qty_$i"} * $sellprice / $price_factor->{factor}, 2);
+      my $parsed_discount            = $form->parse_amount($myconfig, $form->{"discount_$i"});
+
+      my $linetotal_exact            = $form->{"qty_$i"} * $sellprice * (100 - $parsed_discount) / 100 / $price_factor->{factor};
+      my $linetotal                  = $form->round_amount($linetotal_exact, 2);
+
+      my $nodiscount_exact_linetotal = $form->{"qty_$i"} * $sellprice                                  / $price_factor->{factor};
+      my $nodiscount_linetotal       = $form->round_amount($nodiscount_exact_linetotal,2);
+
+      my $discount                   = $nodiscount_linetotal - $linetotal; # is always rounded because $nodiscount_linetotal and $linetotal are rounded
+
+      my $discount_round_error       = $discount + ($linetotal_exact - $nodiscount_exact_linetotal); # not used
+
       $form->{"netprice_$i"}   = $form->round_amount($form->{"qty_$i"} ? ($linetotal / $form->{"qty_$i"}) : 0, 2);
 
       push @{ $form->{TEMPLATE_ARRAYS}->{netprice} },       ($form->{"netprice_$i"} != 0) ? $form->format_amount($myconfig, $form->{"netprice_$i"}, $decimalplaces) : '';
@@ -2130,16 +2136,18 @@ sub get_pricegroups_for_parts {
 
           $pkr->{selected}  = ' selected'; # unless $form->{selected};
           # no customer pricesgroup set
-          if ($pkr->{price_unfmt} == $pkr->{default_sellprice} || $form->{'sellprice_'.$i} * 1 > 1) {
+          if ($pkr->{price_ufmt} == $pkr->{default_sellprice}) {
 
             $pkr->{price} = $form->{"sellprice_$i"};
 
           } else {
 
+# this sub should not set anything and only return. --sschoeling, 20090506
+# is this correct? put in again... -- grichardson 20110119
             $form->{"sellprice_$i"} = $pkr->{price};
           }
 
-        } elsif ($pkr->{price_unfmt} == $pkr->{default_sellprice} and $pkr->{default_sellprice} != 0) {
+        } elsif ($pkr->{price_ufmt} == $pkr->{default_sellprice} and $pkr->{default_sellprice} != 0) {
           $pkr->{price}    = $form->{"sellprice_$i"};
           $pkr->{selected} = ' selected';
         }
index 37f276c..6ee8c11 100644 (file)
@@ -28,6 +28,8 @@ BEGIN {
   { name => "Rose::DB::Object",                    url => "http://search.cpan.org/~jsiracusa/", debian => 'librose-db-object-perl' },
   { name => "String::ShellQuote", version => 1.01, url => "http://search.cpan.org/~rosch/",     debian => 'libstring-shellquote-perl' },
   { name => "Sort::Naturally",                     url => "http://search.cpan.org/~sburke/",    debian => 'libsort-naturally-perl' },
+  # Test::Harness is core, so no Debian packages. Test::Harness 3.00 was first packaged in 5.10.1
+  { name => "Test::Harness",   version => '3.00',  url => "http://search.cpan.org/~petdance/",  },
   { name => "Template",        version => '2.18',  url => "http://search.cpan.org/~abw/",       debian => 'libtemplate-perl' },
   { name => "Text::CSV_XS",    version => '0.23',  url => "http://search.cpan.org/~hmbrand/",   debian => 'libtext-csv-xs-perl' },
   { name => "Text::Iconv",     version => '1.2',   url => "http://search.cpan.org/~mpiotr/",    debian => 'libtext-iconv-perl' },
@@ -41,8 +43,8 @@ BEGIN {
   { name => "IO::Socket::SSL",                     url => "http://search.cpan.org/~sullr/",     debian => 'libio-socket-ssl-perl' },
   { name => "Net::LDAP",                           url => "http://search.cpan.org/~gbarr/",     debian => 'libnet-ldap-perl' },
   # Net::SMTP is core since 5.7.3
-  { name => "Net::SMTP::SSL",  version => '1.01',  url => "http://search.cpan.org/~cwest/",     debian => 'libnet-smtp-ssl-perl' },
-  { name => "Net::SSLGlue",    version => '1.01',  url => "http://search.cpan.org/~sullr/",     debian => 'libnet-sslglue-perl' },
+  { name => "Net::SMTP::SSL",                      url => "http://search.cpan.org/~cwest/",     debian => 'libnet-smtp-ssl-perl' },
+  { name => "Net::SSLGlue",                        url => "http://search.cpan.org/~sullr/",     debian => 'libnet-sslglue-perl' },
 );
 
 @developer_modules = (
index 0c209e2..83f8ff5 100644 (file)
@@ -101,10 +101,10 @@ sub get_stylesheet_for_user {
         -f "$css_path/$user_style/main.css") {
       $css_path = "$css_path/$user_style";
     } else {
-      $css_path = "$css_path/lx-office-erp";
+      $css_path = "$css_path/kivitendo";
     }
   } else {
-    $css_path = "$css_path/lx-office-erp";
+    $css_path = "$css_path/kivitendo";
   }
   $::myconfig{css_path} = $css_path; # needed for menunew, FIXME: don't do this here
 
index 883353a..dc0bf05 100644 (file)
@@ -51,7 +51,7 @@ sub print_menu {
     my $menu_title = $::locale->text($item);
     my $menu_text = $menu_title;
 
-    if ($menu_item->{"submenu"} || !defined($menu_item->{"module"})) {
+    if ($menu_item->{"submenu"} || !defined($menu_item->{"module"}) && !defined($menu_item->{href})) {
 
       my $h = $self->print_menu("${parent}${item}", $depth * 1 + 1)."\n";
       if (!$parent) {
@@ -96,7 +96,7 @@ sub menuitem_v3 {
   my @vars = qw(module action target href);
 
   if ($menuitem->{href}) {
-    $str  = qq|<a href=$menuitem->{href}|;
+    $str  = qq|<a href="$menuitem->{href}|;
     @vars = qw(module target href);
   }
 
index 89c950b..5d7688e 100644 (file)
@@ -6,7 +6,6 @@ use SL::Layout::Admin;
 use SL::Layout::Login;
 use SL::Layout::Classic;
 use SL::Layout::V3;
-use SL::Layout::V4;
 use SL::Layout::Javascript;
 
 sub new {
@@ -14,7 +13,6 @@ sub new {
 
   return SL::Layout::Classic->new    if $params{style} eq 'old';
   return SL::Layout::V3->new         if $params{style} eq 'v3';
-  return SL::Layout::V4->new         if $params{style} eq 'v4';
   return SL::Layout::Javascript->new if $params{style} eq 'neu';
   return SL::Layout::Admin->new      if $params{style} eq 'admin';
   return SL::Layout::Login->new      if $params{style} eq 'login';
index a9a1748..8d61609 100644 (file)
@@ -115,7 +115,7 @@ sub create_menu {
     my $item      = { 'title' => $::locale->text($name) };
     push @{ $all_items }, $item;
 
-    if ($menu_item->{submenu} || !defined($menu_item->{module})) {
+    if ($menu_item->{submenu} || (!defined($menu_item->{module}) && !defined($menu_item->{href}))) {
       $item->{subitems} = [];
       $item->{image} = _icon_path("$name.png");
       $self->create_menu($menu, $item->{subitems}, "${parent}${name}", $depth * 1 + 1);
index f007e09..075e2f2 100644 (file)
@@ -24,7 +24,7 @@ __END__
 
 =head1 NAME
 
-SL::Layout::Top - Top line in classic and v4 menu.
+SL::Layout::Top - Top line in classic and v3 menu.
 
 =head1 DOM MODEL
 
diff --git a/SL/Layout/V4.pm b/SL/Layout/V4.pm
deleted file mode 100644 (file)
index 81789d4..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-package SL::Layout::V4;
-
-use strict;
-use parent qw(SL::Layout::Base);
-use SL::Layout::Css;
-use SL::Layout::Top;
-
-use URI;
-
-sub init_sub_layouts {
-  [
-    SL::Layout::Top->new,
-    SL::Layout::None->new,
-  ]
-}
-
-sub start_content {
-  "<div id='content'>\n";
-}
-
-sub end_content {
-  "</div>\n";
-}
-
-sub pre_content {
-  my ($self) = @_;
-
-  $self->{sub_class} = 1;
-
-  my $callback            = $::form->unescape($::form->{callback});
-  $callback               = URI->new($callback)->rel($callback) if $callback;
-  $callback               = "login.pl?action=company_logo"      if $callback =~ /^(\.\/)?$/;
-
-  $self->SUPER::pre_content .
-
-  $self->SUPER::render('menu/menuv4', { no_menu => 1, no_output => 1 },
-    force_ul_width => 1,
-    date           => $self->clock_line,
-    menu           => $self->print_menu,
-    callback       => $callback,
-  );
-}
-
-1;
index 6648e22..b6816c1 100644 (file)
--- a/SL/OE.pm
+++ b/SL/OE.pm
@@ -1181,12 +1181,18 @@ sub order_details {
       my ($dec)         = ($sellprice =~ /\.(\d+)/);
       my $decimalplaces = max 2, length($dec);
 
-      my $parsed_discount      = $form->parse_amount($myconfig, $form->{"discount_$i"});
-      my $linetotal_exact      =                     $form->{"qty_$i"} * $sellprice * (100 - $parsed_discount) / 100 / $price_factor->{factor};
-      my $linetotal            = $form->round_amount($linetotal_exact, 2);
-      my $discount             = $form->round_amount($form->{"qty_$i"} * $sellprice * $parsed_discount / 100 / $price_factor->{factor} - ($linetotal - $linetotal_exact),
-                                                     $decimalplaces);
-      my $nodiscount_linetotal = $form->round_amount($form->{"qty_$i"} * $sellprice / $price_factor->{factor}, 2);
+      my $parsed_discount            = $form->parse_amount($myconfig, $form->{"discount_$i"});
+
+      my $linetotal_exact            = $form->{"qty_$i"} * $sellprice * (100 - $parsed_discount) / 100 / $price_factor->{factor};
+      my $linetotal                  = $form->round_amount($linetotal_exact, 2);
+
+      my $nodiscount_exact_linetotal = $form->{"qty_$i"} * $sellprice                                  / $price_factor->{factor};
+      my $nodiscount_linetotal       = $form->round_amount($nodiscount_exact_linetotal,2);
+
+      my $discount                   = $nodiscount_linetotal - $linetotal; # is always rounded because $nodiscount_linetotal and $linetotal are rounded
+
+      my $discount_round_error       = $discount + ($linetotal_exact - $nodiscount_exact_linetotal); # not used
+
       $form->{"netprice_$i"}   = $form->round_amount($form->{"qty_$i"} ? ($linetotal / $form->{"qty_$i"}) : 0, 2);
 
       push @{ $form->{TEMPLATE_ARRAYS}->{netprice} },       ($form->{"netprice_$i"} != 0) ? $form->format_amount($myconfig, $form->{"netprice_$i"}, $decimalplaces) : '';
index 0ea40ec..a319cf5 100644 (file)
--- a/SL/RP.pm
+++ b/SL/RP.pm
@@ -1649,7 +1649,7 @@ sub bwa {
 
   my @periods        = qw(jetzt kumm);
   my @gesamtleistung = qw(1 3);
-  my @gesamtkosten   = qw (10 11 12 13 14 15 16 17 18 19 20);
+  my @gesamtkosten   = qw (10 11 12 13 14 15 16 17 18 20);
   my @ergebnisse     =
     qw (rohertrag betriebrohertrag betriebsergebnis neutraleraufwand neutralerertrag ergebnisvorsteuern ergebnis gesamtleistung gesamtkosten);
 
@@ -1684,7 +1684,7 @@ sub bwa {
       $form->{ "$key" . "betriebrohertrag" } -
       $form->{ "$key" . "gesamtkosten" };
     $form->{ "$key" . "neutraleraufwand" } =
-      $form->{30}{$key} + $form->{31}{$key};
+      $form->{19}{$key} + $form->{30}{$key} + $form->{31}{$key};
     $form->{ "$key" . "neutralerertrag" } =
       $form->{32}{$key} + $form->{33}{$key} + $form->{34}{$key};
     $form->{ "$key" . "ergebnisvorsteuern" } =
index c25941c..95d2254 100644 (file)
@@ -111,6 +111,8 @@ sub select_tag {
   my $title_sub       = delete($attributes{title_sub});
   my $default_sub     = delete($attributes{default_sub});
 
+  my $with_empty      = delete($attributes{with_empty});
+  my $empty_title     = delete($attributes{empty_title});
 
   my %selected;
 
@@ -128,8 +130,8 @@ sub select_tag {
 
   my @options;
 
-  if ( delete($attributes{with_empty}) ) {
-    push(@options, [undef, $attributes{empty_title} || '']);
+  if ( $with_empty ) {
+    push(@options, [undef, $empty_title || '']);
   }
 
   my $normalize_entry = sub {
@@ -180,7 +182,7 @@ sub select_tag {
     my $title;
 
     if ( $value_title_sub ) {
-      ($value, $title) = $value_title_sub->($entry);
+      ($value, $title) = @{ $value_title_sub->($entry) };
     } else {
 
       $value = $normalize_entry->('value', $entry, $value_sub, $value_key);
index d29ec8f..926ef1f 100644 (file)
@@ -197,6 +197,7 @@ sub _parse_block_if {
   }
 
   my $value = $self->_get_loop_variable($var, 0, @indices);
+  $value    = scalar(@{ $value }) if (ref($value) || '') eq 'ARRAY';
   my $hit   = 0;
 
   if ($operator_type) {
diff --git a/VERSION b/VERSION
index dd8693a..05ea4cf 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.7.1-unstable
+3.0.0-beta1
index 0a7145a..7676698 100755 (executable)
@@ -40,6 +40,7 @@ use File::Copy;
 use File::Find;
 use File::Spec;
 use Cwd;
+use IO::Dir;
 use IO::File;
 use POSIX qw(strftime);
 use Sys::Hostname;
@@ -79,7 +80,6 @@ my @all_stylesheets = qw(lx-office-erp.css Win2000.css Mobile.css kivitendo.css)
 my @all_menustyles = (
   { id => 'old', title => $::locale->text('Old (on the side)') },
   { id => 'v3',  title => $::locale->text('Top (CSS)') },
-  { id => 'v4',  title => $::locale->text('Top (CSS) new') },
   { id => 'neu', title => $::locale->text('Top (Javascript)') },
 );
 
@@ -379,16 +379,14 @@ sub list_users {
 sub add_user {
   $::form->{title}   = "kivitendo " . $::locale->text('Administration') . " / " . $::locale->text('Add User');
 
-# Note: Menu Style 'v3' is not compatible to all browsers!
-# "menustyle"    => "old" sets the HTML Menu to default.
-# User does not have a well behaved new constructor, so we#Ll just have to build one ourself
+  # User does not have a well behaved new constructor, so we'll just have to build one ourself
   my $user     = bless {
     "vclimit"      => 200,
     "countrycode"  => "de",
     "numberformat" => "1.000,00",
     "dateformat"   => "dd.mm.yy",
-    "stylesheet"   => "lx-office-erp.css",
-    "menustyle"    => "old",
+    "stylesheet"   => "kivitendo.css",
+    "menustyle"    => "neu",
     dbport         => $::auth->{DB_config}->{port} || 5432,
     dbuser         => $::auth->{DB_config}->{user} || 'lxoffice',
     dbhost         => $::auth->{DB_config}->{host} || 'localhost',
@@ -745,35 +743,17 @@ sub create_dataset {
 
   $form->{CHARTS}    = [];
 
-  opendir SQLDIR, "sql/." or $form->error($ERRNO);
-  foreach my $item (sort grep /-chart\.sql\z/, readdir SQLDIR) {
-    next if ($item eq 'Default-chart.sql');
-    $item =~ s/-chart\.sql//;
-    push @{ $form->{CHARTS} }, { "name"     => $item,
-                                 "selected" => $item eq "Germany-DATEV-SKR03EU" };
+  tie my %dir_h, 'IO::Dir', 'sql/';
+  foreach my $item (map { s/-chart\.sql$//; $_ } sort grep { /-chart\.sql\z/ && !/Default-chart.sql\z/ } keys %dir_h) {
+    push @{ $form->{CHARTS} }, { name     => $item,
+                                 selected => $item eq "Germany-DATEV-SKR03EU" };
   }
-  closedir SQLDIR;
 
-  $form->{ACCOUNTING_METHODS} = [];
-  foreach my $item ( qw(accrual cash) ) {
-    push @{ $form->{ACCOUNTING_METHODS} }, { "name"     => $item,
-                                 "selected" => $item eq "cash" };
-  };
-
-  $form->{INVENTORY_SYSTEMS} = [];
-  foreach my $item ( qw(perpetual periodic) ) {
-    push @{ $form->{INVENTORY_SYSTEMS} }, { "name"     => $item,
-                                 "selected" => $item eq "periodic" };
-  };
-
-  $form->{PROFIT_DETERMINATIONS} = [];
-  foreach my $item ( qw(balance income) ) {
-    push @{ $form->{PROFIT_DETERMINATIONS} }, { "name"     => $item,
-                                 "selected" => $item eq "income" };
-  };
+  $form->{ACCOUNTING_METHODS}    = [ map { { name => $_, selected => $_ eq 'cash'     } } qw(accrual cash)       ];
+  $form->{INVENTORY_SYSTEMS}     = [ map { { name => $_, selected => $_ eq 'periodic' } } qw(perpetual periodic) ];
+  $form->{PROFIT_DETERMINATIONS} = [ map { { name => $_, selected => $_ eq 'income'   } } qw(balance income)     ];
 
-  my $default_charset = $::lx_office_conf{system}->{dbcharset};
-  $default_charset ||= Common::DEFAULT_CHARSET;
+  my $default_charset = $::lx_office_conf{system}->{dbcharset} || Common::DEFAULT_CHARSET;
 
   my $cluster_encoding = User->dbclusterencoding($form);
   if ($cluster_encoding && ($cluster_encoding =~ m/^(?:UTF-?8|UNICODE)$/i)) {
@@ -786,13 +766,7 @@ sub create_dataset {
     $form->{FORCE_DBENCODING} = 'UNICODE';
 
   } else {
-    $form->{DBENCODINGS} = [];
-
-    foreach my $encoding (@Common::db_encodings) {
-      push @{ $form->{DBENCODINGS} }, { "dbencoding" => $encoding->{dbencoding},
-                                        "label"      => $encoding->{label},
-                                        "selected"   => $encoding->{charset} eq $default_charset };
-    }
+    $form->{DBENCODINGS} = [ map { { %{$_}, selected => $_->{charset} eq $default_charset } } @Common::db_encodings ];
   }
 
   $form->{title} = "kivitendo " . $locale->text('Database Administration') . " / " . $locale->text('Create Dataset');
@@ -1198,23 +1172,17 @@ sub _search_templates {
     $::form->error(sprintf($::locale->text("The directory %s does not exist."), $::lx_office_conf{paths}->{templates}));
   }
 
-  opendir TEMPLATEDIR, $::lx_office_conf{paths}->{templates} or $::form->error($::lx_office_conf{paths}->{templates} . " : $ERRNO");
-  my @all     = readdir(TEMPLATEDIR);
-  my @alldir  = sort grep { -d ($::lx_office_conf{paths}->{templates} . "/$_") && !/^\.\.?$/ } @all;
-  closedir TEMPLATEDIR;
-
-  @alldir = grep !/\.(html|tex|sty|odt|xml|txb)$/, @alldir;
-  @alldir = grep !/^(webpages|print|\.svn)$/, @alldir;
+  tie my %dir_h, 'IO::Dir', $::lx_office_conf{paths}->{templates};
 
-  # mastertemplates
-  opendir TEMPLATEDIR, "$::lx_office_conf{paths}->{templates}/print" or $::form->error("$::lx_office_conf{paths}->{templates}/print" . " : $ERRNO");
-  my @allmaster = readdir(TEMPLATEDIR);
-  closedir TEMPLATEDIR;
+  my @alldir  = sort grep {
+       -d ($::lx_office_conf{paths}->{templates} . "/$_")
+    && !/^\.\.?$/
+    && !m/\.(?:html|tex|sty|odt|xml|txb)$/
+    && !m/^(?:webpages$|print$|\.)/
+  } keys %dir_h;
 
-  @allmaster  = sort grep { -d ("$::lx_office_conf{paths}->{templates}/print" . "/$_") && !/^\.\.?$/ } @allmaster;
-  @allmaster = reverse grep !/Default/, @allmaster;
-  push @allmaster, 'Default';
-  @allmaster = reverse @allmaster;
+  tie %dir_h, 'IO::Dir', "$::lx_office_conf{paths}->{templates}/print";
+  my @allmaster = ('Standard', sort grep { -d ("$::lx_office_conf{paths}->{templates}/print" . "/$_") && !/^\.\.?$/ && !/^Standard$/ } keys %dir_h);
 
   return \@alldir, \@allmaster;
 }
index dcca628..3bbe8dc 100644 (file)
@@ -156,24 +156,19 @@ sub create_links {
   # currencies
   $form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
 
-  map { $form->{selectcurrency} .= "<option>$_\n" } $form->get_all_currencies(\%myconfig);
+  map { my $quoted = H($_); $form->{selectcurrency} .= "<option value=\"${quoted}\">${quoted}\n" } $form->get_all_currencies(\%myconfig);
 
   # vendors
   if (@{ $form->{all_vendor} || [] }) {
     $form->{vendor} = qq|$form->{vendor}--$form->{vendor_id}|;
-    map { $form->{selectvendor} .= "<option>$_->{name}--$_->{id}\n" }
+    map { my $quoted = H($_->{name} . "--" . $_->{id}); $form->{selectvendor} .= "<option value=\"${quoted}\">${quoted}\n" }
       (@{ $form->{all_vendor} });
   }
 
   # departments
   if (@{ $form->{all_departments} || [] }) {
-    $form->{selectdepartment} = "<option>\n";
     $form->{department}       = "$form->{department}--$form->{department_id}";
-
-    map {
-      $form->{selectdepartment} .=
-        "<option>$_->{description}--$_->{id}\n"
-    } (@{ $form->{all_departments} || [] });
+    $form->{selectdepartment} = "<option>\n" . join('', map { my $quoted = H("$_->{description}--$_->{id}"); "<option value=\"${quoted}\">${quoted}\n"} @{ $form->{all_departments} || [] });
   }
 
   $form->{employee} = "$form->{employee}--$form->{employee_id}";
@@ -230,9 +225,9 @@ sub form_header {
 
   # set option selected
   foreach my $item (qw(vendor currency department)) {
+    my $to_replace         =  H($form->{$item});
     $form->{"select$item"} =~ s/ selected//;
-    $form->{"select$item"} =~
-      s/option>\Q$form->{$item}\E/option selected>$form->{$item}/;
+    $form->{"select$item"} =~ s/>\Q${to_replace}\E/ selected>${to_replace}/;
   }
   my $readonly = ($form->{id}) ? "readonly" : "";
 
@@ -291,7 +286,7 @@ sub form_header {
               <tr>
                 <th align="right" nowrap>| . $locale->text('Department') . qq|</th>
                 <td colspan=3><select name=department>$form->{selectdepartment}</select>
-                <input type=hidden name=selectdepartment value="$form->{selectdepartment}">
+                <input type=hidden name=selectdepartment value="| . H($form->{selectdepartment}) . qq|">
                 </td>
               </tr>
 | if $form->{selectdepartment};
@@ -462,7 +457,7 @@ sub form_header {
               <tr>
                 <th align=right nowrap>| . $locale->text('Currency') . qq|</th>
                 <td><select name=currency>$form->{selectcurrency}</select></td>
-                <input type=hidden name=selectcurrency value="$form->{selectcurrency}">
+                <input type=hidden name=selectcurrency value="| . H($form->{selectcurrency}) . qq|">
                 <input type=hidden name=defaultcurrency value=$form->{defaultcurrency}>
                 <input type=hidden name=fxgain_accno value=$form->{fxgain_accno}>
                 <input type=hidden name=fxloss_accno value=$form->{fxloss_accno}>
@@ -1129,7 +1124,7 @@ sub post_as_new {
   $main::lxdebug->leave_sub();
 }
 
-sub use_as_template {
+sub use_as_new {
   $main::lxdebug->enter_sub();
 
   my $form     = $main::form;
index 655f35a..6466aa2 100644 (file)
@@ -509,7 +509,7 @@ $follow_ups_block
     }
     if ($transdate > $closedto) {
       print qq|
-        <input class=submit type=submit name=action value="| . $locale->text('Use As Template') . qq|"> |;
+        <input class=submit type=submit name=action value="| . $locale->text('Use As New') . qq|"> |;
     }
     print qq|
         <input class=submit type=submit name=action value="| . $locale->text('Post Payment') .    qq|">
@@ -803,7 +803,7 @@ sub post_as_new {
   $main::lxdebug->leave_sub();
 }
 
-sub use_as_template {
+sub use_as_new {
   $main::lxdebug->enter_sub();
 
   $main::auth->assert('general_ledger');
index 4cababb..da3bfb0 100644 (file)
@@ -157,7 +157,6 @@ sub list {
   $::form->header;
   print $::form->parse_html_template('ca/list', {
     year => DateTime->today->year,
-    cash => $::instance_conf->get_accounting_method eq 'cash',
   });
 
   $::lxdebug->leave_sub;
index 5fbf7c0..a70c32e 100644 (file)
@@ -464,14 +464,11 @@ sub check_form {
   $form->error($locale->text('Date missing!')) unless $form->{datepaid};
   my $selected_check = 1;
   for my $i (1 .. $form->{rowcount}) {
-    if ($form->{"checked_$i"}) {
-      if ($form->parse_amount(\%myconfig, $form->{"paid_$i"}, 2) <= 0) { # negativen Betrag eingegeben
-          $form->error($locale->text('Amount has to be greater then zero! Wrong row number: ') . $i);
-      }
-        undef($selected_check);
-        # last; # ich muss doch über alle buchungen laufen, da ich noch
-        # die freitext-eingabe der werte prüfen will
+    next unless $form->{"checked_$i"};
+    if (abs($form->parse_amount(\%myconfig, $form->{"paid_$i"}, 2)) < 0.01) {
+      $form->error($locale->text('Row #1: amount has to be different from zero.', $i));
     }
+    undef $selected_check;
   }
   $form->error($locale->text('No transaction selected!')) if $selected_check;
 
index a81f451..d7cebc4 100644 (file)
@@ -209,6 +209,7 @@ sub list_names {
       addr_city business_id
     ), "$form->{db}number",
     map({ "cvar_$_->{name}" } @searchable_custom_variables),
+    map({'cvar_'. $_->{name} .'_qtyop'} grep({$_->{type} eq 'number'} @searchable_custom_variables)),
     map({ "l_$_" } @columns),
   );
 
index 719f222..bc5d7a5 100644 (file)
@@ -844,6 +844,10 @@ sub display_rows {
 
 }
 
+sub _get_radieren {
+  return ($::instance_conf->get_gl_changeable == 2) ? ($::form->current_date(\%::myconfig) eq $::form->{gldate}) : ($::instance_conf->get_gl_changeable == 1);
+}
+
 sub form_header {
   $::lxdebug->enter_sub;
   $::auth->assert('general_ledger');
@@ -886,6 +890,7 @@ sub form_header {
   $::form->header;
   print $::form->parse_html_template('gl/form_header', {
     hide_title => $title,
+    readonly   => $::form->{id} && ($::form->{locked} || !_get_radieren()),
   });
 
   $::lxdebug->leave_sub;
@@ -903,12 +908,8 @@ sub form_footer {
     $follow_ups_due = sum map { $_->{due} * 1 } @{ $follow_ups || [] };
   }
 
-  my $radieren = ($::instance_conf->get_gl_changeable == 2)
-                    ? ($::form->current_date(\%::myconfig) eq $::form->{gldate})
-                    : ($::instance_conf->get_gl_changeable == 1);
-
   print $::form->parse_html_template('gl/form_footer', {
-    radieren       => $radieren,
+    radieren       => _get_radieren(),
     follow_ups     => $follow_ups,
     follow_ups_due => $follow_ups_due,
   });
index 9ee6e60..f01b5af 100644 (file)
@@ -1238,8 +1238,14 @@ sub generate_report {
   map { $column_defs{$_}->{visible} ||= $form->{"l_$_"} ? 1 : 0 } @columns;
   map { $column_defs{$_}->{align}   = 'right' } qw(onhand sellprice listprice lastcost linetotalsellprice linetotallastcost linetotallistprice rop weight soldtotal), @pricegroup_columns;
 
-  my @hidden_variables = (qw(l_subtotal l_linetotal searchitems itemstatus bom l_pricegroups), @itemstatus_keys, @callback_keys,
-                              map({ "cvar_$_->{name}" } @searchable_custom_variables), map { "l_$_" } @columns);
+  my @hidden_variables = (
+    qw(l_subtotal l_linetotal searchitems itemstatus bom l_pricegroups),
+    @itemstatus_keys,
+    @callback_keys,
+    map({ "cvar_$_->{name}" } @searchable_custom_variables),
+    map({'cvar_'. $_->{name} .'_qtyop'} grep({$_->{type} eq 'number'} @searchable_custom_variables)),
+    map({ "l_$_" } @columns),
+  );
 
   my $callback         = build_std_url('action=generate_report', grep { $form->{$_} } @hidden_variables);
 
@@ -1694,7 +1700,7 @@ sub assembly_row {
     $form->{"qty_$i"}    = $form->format_amount(\%myconfig, $form->{"qty_$i"});
     $linetotal           = $form->format_amount(\%myconfig, $linetotal, 2);
     $line_purchase_price = $form->format_amount(\%myconfig, $line_purchase_price, 2);
-    $href                = qq|$form->{script}?action=edit&id=$form->{"id_$i"}&rowcount=$i&previousform=$previousform|;
+    $href                = build_std_url("action=edit", qq|id=$form->{"id_$i"}|, "rowcount=$numrows", "currow=$i", "previousform=$previousform");
     map { $row{$_}{data} = "" } qw(qty unit partnumber description bom partsgroup runningnumber);
 
     # last row
@@ -1714,7 +1720,8 @@ sub assembly_row {
         $row{bom}{data}           = $form->{"bom_$i"} ? "x" : "&nbsp;";
         $row{qty}{align}          = 'right';
       } else {
-        $row{partnumber}{data}    = qq|<a href=$href>$form->{"partnumber_$i"}</a>|;
+        $row{partnumber}{data}    = qq|$form->{"partnumber_$i"}|;
+        $row{partnumber}{link}     = $href;
         $row{qty}{data}           = qq|<input name="qty_$i" size=5 value="$form->{"qty_$i"}">|;
         $row{runningnumber}{data} = qq|<input name="runningnumber_$i" size=3 value="$i">|;
         $row{bom}{data}   = sprintf qq|<input name="bom_$i" type=checkbox class=checkbox value=1 %s>|,
@@ -1875,7 +1882,11 @@ sub save {
         qw(weight listprice sellprice rop);
 
       $form->{assembly_rows}--;
-      $i = $form->{assembly_rows};
+      if ($newform{currow}) {
+        $i = $newform{currow};
+      } else {
+        $i = $form->{assembly_rows};
+      }
       $form->{"qty_$i"} = 1 unless ($form->{"qty_$i"});
 
       $form->{sellprice} -= $form->{"sellprice_$i"} * $form->{"qty_$i"};
index 37df554..0d7601e 100644 (file)
@@ -38,7 +38,7 @@
 
 use Carp;
 use CGI;
-use List::MoreUtils qw(uniq);
+use List::MoreUtils qw(any uniq);
 use List::Util qw(min max first);
 
 use SL::CVar;
@@ -1089,11 +1089,12 @@ sub print_options {
     opthash("inline",                $form->{SM}{inline},              $locale->text('In-line'))
       if ($form->{media} eq 'email');
 
+  my $printable_templates = any { $::lx_office_conf{print_templates}->{$_} } qw(latex opendocument);
   push @MEDIA, grep $_,
       opthash("screen",              $form->{OP}{screen},              $locale->text('Screen')),
-    ($form->{printers} && scalar @{ $form->{printers} } && $::lx_office_conf{print_templates}->{latex}) ?
+    ($printable_templates && $form->{printers} && scalar @{ $form->{printers} }) ?
       opthash("printer",             $form->{OP}{printer},             $locale->text('Printer')) : undef,
-    ($::lx_office_conf{print_templates}->{latex} && !$options{no_queue}) ?
+    ($printable_templates && !$options{no_queue}) ?
       opthash("queue",               $form->{OP}{queue},               $locale->text('Queue')) : undef
         if ($form->{media} ne 'email');
 
@@ -1470,7 +1471,7 @@ sub print_form {
   reformat_numbers($output_numberformat, 2,
                    qw(invtotal ordtotal quototal subtotal linetotal
                       listprice sellprice netprice discount
-                      tax taxbase total paid),
+                      tax taxbase total paid payment),
                    grep({ /^(?:linetotal|nodiscount_linetotal|listprice|sellprice|netprice|taxbase|discount|p_discount|discount_sub|nodiscount_sub|paid|subtotal|total|tax)_\d+$/ } keys(%{$form})));
 
   reformat_numbers($output_numberformat, undef,
index 554d2fd..1436963 100644 (file)
@@ -609,7 +609,7 @@ sub storno {
 
 }
 
-sub use_as_template {
+sub use_as_new {
   $main::lxdebug->enter_sub();
 
   my $form     = $main::form;
index 47e7131..6184128 100644 (file)
@@ -799,7 +799,7 @@ sub print_and_post {
 
 }
 
-sub use_as_template {
+sub use_as_new {
   $main::lxdebug->enter_sub();
 
   my $form     = $main::form;
@@ -807,12 +807,13 @@ sub use_as_template {
 
   $main::auth->assert('invoice_edit');
 
-  map { delete $form->{$_} } qw(printed emailed queued invnumber invdate deliverydate id datepaid_1 gldate_1 acc_trans_id_1 source_1 memo_1 paid_1 exchangerate_1 AP_paid_1 storno locked);
+  delete @{ $form }{qw(printed emailed queued invnumber invdate deliverydate id datepaid_1 gldate_1 acc_trans_id_1 source_1 memo_1 paid_1 exchangerate_1 AP_paid_1 storno locked)};
   $form->{paidaccounts} = 1;
   $form->{rowcount}--;
   $form->{invdate} = $form->current_date(\%myconfig);
+  $form->{duedate} = $form->get_duedate(\%myconfig, $form->{invdate}) || $form->{invdate};
 
-  # remember pricegroups for "use as template"
+  # remember pricegroups for "use as new"
   IS->get_pricegroups_for_parts(\%myconfig, \%$form);
   set_pricegroup($_) for 1 .. $form->{rowcount};
 
index 3908f74..a605094 100644 (file)
@@ -341,8 +341,9 @@ sub form_header {
                    "price_factors" => "ALL_PRICE_FACTORS");
 
   # label subs
-  $TMPL_VAR{ALL_EMPLOYEES}         = SL::DB::Manager::Employee->get_all(query => [ or => [ id => $::form->{employee_id},  deleted => 0 ] ]);
-  $TMPL_VAR{ALL_SALESMEN}          = SL::DB::Manager::Employee->get_all(query => [ or => [ id => $::form->{salesman_id},  deleted => 0 ] ]);
+  my $employee_list_query_gen      = sub { $::form->{$_[0]} ? [ or => [ id => $::form->{$_[0]}, deleted => 0 ] ] : [ deleted => 0 ] };
+  $TMPL_VAR{ALL_EMPLOYEES}         = SL::DB::Manager::Employee->get_all(query => $employee_list_query_gen->('employee_id'));
+  $TMPL_VAR{ALL_SALESMEN}          = SL::DB::Manager::Employee->get_all(query => $employee_list_query_gen->('salesman_id'));
   $TMPL_VAR{ALL_SHIPTO}            = SL::DB::Manager::Shipto->get_all(query => [
     or => [ trans_id  => $::form->{"$::form->{vc}_id"} * 1, and => [ shipto_id => $::form->{shipto_id} * 1, trans_id => undef ] ]
   ]);
@@ -922,7 +923,7 @@ sub orders {
   my %totals    = map { $_ => 0 } @subtotal_columns;
   my %subtotals = map { $_ => 0 } @subtotal_columns;
 
-  my $idx = 0;
+  my $idx = 1;
 
   my $edit_url = build_std_url('action=edit', 'type', 'vc');
 
@@ -964,8 +965,8 @@ sub orders {
     my $row_set = [ $row ];
 
     if (($form->{l_subtotal} eq 'Y')
-        && (($idx == (scalar @{ $form->{OE} } - 1))
-            || ($oe->{ $form->{sort} } ne $form->{OE}->[$idx + 1]->{ $form->{sort} }))) {
+        && (($idx == (scalar @{ $form->{OE} }))
+            || ($oe->{ $form->{sort} } ne $form->{OE}->[$idx]->{ $form->{sort} }))) {
       push @{ $row_set }, create_subtotal_row(\%subtotals, \@columns, \%column_alignment, \@subtotal_columns, 'listsubtotal');
     }
 
@@ -1735,13 +1736,14 @@ sub purchase_order {
 
   $form->{cp_id} *= 1;
 
+  my $source_type = $form->{type};
   $form->{title} = $locale->text('Add Purchase Order');
   $form->{vc}    = "vendor";
   $form->{type}  = "purchase_order";
 
   $form->get_employee();
 
-  &poso;
+  poso(source_type => $form->{type});
 
   delete $form->{sales_order_to_purchase_order};
 
@@ -1763,13 +1765,14 @@ sub sales_order {
 
   $form->{cp_id} *= 1;
 
+  my $source_type = $form->{type};
   $form->{title}  = $locale->text('Add Sales Order');
   $form->{vc}     = "customer";
   $form->{type}   = "sales_order";
 
   $form->get_employee();
 
-  &poso;
+  poso(source_type => $source_type);
 
   $main::lxdebug->leave_sub();
 }
@@ -1777,6 +1780,7 @@ sub sales_order {
 sub poso {
   $main::lxdebug->enter_sub();
 
+  my %param    = @_;
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
 
@@ -1786,6 +1790,11 @@ sub poso {
   $form->{transdate} = $form->current_date(\%myconfig);
   delete $form->{duedate};
 
+  # "reqdate" is the validity date for a quotation and the delivery
+  # date for an order. Therefore it makes no sense to keep the value
+  # when converting from one into the other.
+  delete $form->{reqdate} if ($param{source_type} =~ /_quotation$/) == ($form->{type} =~ /_quotation$/);
+
   $form->{convert_from_oe_ids} = $form->{id};
   $form->{closed}              = 0;
 
index b7614ff..bda1c6d 100644 (file)
@@ -121,6 +121,7 @@ sub project_report {
   my @columns      = qw(projectnumber description active);
 
   my @includeable_custom_variables = grep { $_->{includeable} } @{ $cvar_configs };
+  my @searchable_custom_variables  = grep { $_->{searchable} }  @{ $cvar_configs };
   my %column_defs_cvars            = ();
   foreach (@includeable_custom_variables) {
     $column_defs_cvars{"cvar_$_->{name}"} = {
@@ -132,7 +133,11 @@ sub project_report {
   push @columns, map { "cvar_$_->{name}" } @includeable_custom_variables;
 
 
-  my @hidden_vars  = ('filter', map { ('cvar_'. $_->{name} , 'l_cvar_'. $_->{name}) } @includeable_custom_variables);
+  my @hidden_vars  = (
+    'filter',
+    map({ ('cvar_'. $_->{name} , 'l_cvar_'. $_->{name}) } @includeable_custom_variables),
+    map({'cvar_'. $_->{name} .'_qtyop'} grep({$_->{type} eq 'number'} @searchable_custom_variables)),
+  );
   my $href         = build_std_url('action=project_report', @hidden_vars);
 
 
index dd0a9b6..148fec0 100644 (file)
@@ -103,7 +103,7 @@ sub invoice_transactions {
   my ($callback, $href, @columns);
 
   # can't currently be configured from report, empty line between main sortings
-  my $addemptylines = '1';
+  my $addemptylines = 1;
 
   if ( $form->{customer} =~ /--/ ) {
     # Felddaten kommen aus Dropdownbox
@@ -134,7 +134,7 @@ sub invoice_transactions {
 
   VK->invoice_transactions(\%myconfig, \%$form);
 
-  
+
   if ( $form->{mainsort} eq 'month' or $form->{subsort} eq 'month' ) {
 
     # Data already comes out of SELECT statement in correct month order, but
@@ -162,8 +162,8 @@ sub invoice_transactions {
   # hidden variables für pdf/csv export übergeben
   # einmal mit l_ um zu bestimmen welche Spalten ausgegeben werden sollen
   # einmal optionen für die Überschrift (z.B. transdatefrom, partnumber, ...)
-  my @hidden_variables  = (qw(l_headers_mainsort l_headers_subsort l_subtotal_mainsort l_subtotal_subsort l_total l_parts l_customername l_customernumber transdatefrom transdateto decimalplaces customer customername customer_id department partnumber partsgroup country business description project_id customernumber salesman employee salesman_id employee_id business_id partsgroup_id mainsort subsort), 
-      "$form->{db}number", 
+  my @hidden_variables  = (qw(l_headers_mainsort l_headers_subsort l_subtotal_mainsort l_subtotal_subsort l_total l_parts l_customername l_customernumber transdatefrom transdateto decimalplaces customer customername customer_id department partnumber partsgroup country business description project_id customernumber salesman employee salesman_id employee_id business_id partsgroup_id mainsort subsort),
+      "$form->{db}number",
       map({ "cvar_$_->{name}" } @searchable_custom_variables),
       map { "l_$_" } @columns
       );
@@ -207,73 +207,32 @@ sub invoice_transactions {
 
   my %column_alignment = map { $_ => 'right' } qw(lastcost sellprice sellprice_total lastcost_total parts_unit discount marge_total marge_percent qty weight);
 
-  
+
   # so now the check-box "Description" is only used as switch for part description in invoice-mode
   # always fill the column "Description" if we are in Zwischensummenmode
-  if (not defined $form->{"l_parts"}) {
-    $form->{"l_description"} = "Y";
-  };
+  $form->{"l_description"} = "Y" if not defined $form->{"l_parts"};;
   map { $column_defs{$_}->{visible} = $form->{"l_${_}"} ? 1 : 0 } @columns;
 
   my @options;
 
-  if ($form->{description}) {
-    push @options, $locale->text('Description') . " : $form->{description}";
-  }
-  if ($form->{customer}) {
-    push @options, $locale->text('Customer') . " : $form->{customername}";
-  }
-  if ($form->{customernumber}) {
-    push @options, $locale->text('Customer Number') . " : $form->{customernumber}";
-  }
-# TODO: es wird nur id übergeben
-  if ($form->{department}) {
-    my ($department) = split /--/, $form->{department};
-    push @options, $locale->text('Department') . " : $department";
-  }
-  if ($form->{invnumber}) {
-    push @options, $locale->text('Invoice Number') . " : $form->{invnumber}";
-  }
-  if ($form->{invdate}) {
-    push @options, $locale->text('Invoice Date') . " : $form->{invdate}";
-  }
-  if ($form->{partnumber}) {
-    push @options, $locale->text('Part Number') . " : $form->{partnumber}";
-  }
-  if ($form->{partsgroup_id}) {
-    my $partsgroup = SL::DB::PartsGroup->new(id => $form->{partsgroup_id})->load;
-    push @options, $locale->text('Group') . " : $partsgroup->{partsgroup}";
-  }
-  if ($form->{country}) {
-    push @options, $locale->text('Country') . " : $form->{country}";
-  }
-  if ($form->{employee_id}) {
-    my $employee = SL::DB::Employee->new(id => $form->{employee_id})->load;
-    push @options, $locale->text('Employee') . ' : ' . $employee->name;
-  }
-  if ($form->{salesman_id}) {
-    my $salesman = SL::DB::Employee->new(id => $form->{salesman_id})->load;
-    push @options, $locale->text('Salesman') . ' : ' . $salesman->name;
-  }
-  if ($form->{business_id}) {
-    my $business = SL::DB::Business->new(id => $form->{business_id})->load;
-    push @options, $locale->text('Customer type') . ' : ' . $business->description;
-  }
-  if ($form->{ordnumber}) {
-    push @options, $locale->text('Order Number') . " : $form->{ordnumber}";
-  }
-  if ($form->{notes}) {
-    push @options, $locale->text('Notes') . " : $form->{notes}";
-  }
-  if ($form->{transaction_description}) {
-    push @options, $locale->text('Transaction description') . " : $form->{transaction_description}";
-  }
-  if ($form->{transdatefrom}) {
-    push @options, $locale->text('From') . " " . $locale->date(\%myconfig, $form->{transdatefrom}, 1);
-  }
-  if ($form->{transdateto}) {
-    push @options, $locale->text('Bis') . " " . $locale->date(\%myconfig, $form->{transdateto}, 1);
-  }
+  push @options, $locale->text('Description')             . " : $form->{description}"                                                       if $form->{description};
+  push @options, $locale->text('Customer')                . " : $form->{customername}"                                                      if $form->{customer};
+  push @options, $locale->text('Customer Number')         . " : $form->{customernumber}"                                                    if $form->{customernumber};
+  # TODO: es wird nur id übergeben
+  push @options, $locale->text('Department')              . " : " . (split /--/, $form->{department})[0]                                    if $form->{department};
+  push @options, $locale->text('Invoice Number')          . " : $form->{invnumber}"                                                         if $form->{invnumber};
+  push @options, $locale->text('Invoice Date')            . " : $form->{invdate}"                                                           if $form->{invdate};
+  push @options, $locale->text('Part Number')             . " : $form->{partnumber}"                                                        if $form->{partnumber};
+  push @options, $locale->text('Group')                   . " : " . SL::DB::PartsGroup->new(id => $form->{partsgroup_id})->load->partsgroup if $form->{partsgroup_id};
+  push @options, $locale->text('Country')                 . " : $form->{country}"                                                           if $form->{country};
+  push @options, $locale->text('Employee')                . ' : ' . SL::DB::Employee->new(id => $form->{employee_id})->load->name           if $form->{employee_id};
+  push @options, $locale->text('Salesman')                . ' : ' . SL::DB::Employee->new(id => $form->{salesman_id})->load->name           if $form->{salesman_id};
+  push @options, $locale->text('Customer type')           . ' : ' . SL::DB::Business->new(id => $form->{business_id})->load->description    if $form->{business_id};
+  push @options, $locale->text('Order Number')            . " : $form->{ordnumber}"                                                         if $form->{ordnumber};
+  push @options, $locale->text('Notes')                   . " : $form->{notes}"                                                             if $form->{notes};
+  push @options, $locale->text('Transaction description') . " : $form->{transaction_description}"                                           if $form->{transaction_description};
+  push @options, $locale->text('From')                    . " " . $locale->date(\%myconfig, $form->{transdatefrom}, 1)                      if $form->{transdatefrom};
+  push @options, $locale->text('Bis')                     . " " . $locale->date(\%myconfig, $form->{transdateto}, 1)                        if $form->{transdateto};
 
   my $report = SL::ReportGenerator->new(\%myconfig, $form);
 
@@ -306,6 +265,15 @@ sub invoice_transactions {
       'data'           => $form->{AR}
   );
 
+  my $num_visible_columns = scalar $report->get_visible_columns;
+  my %empty_row           = (
+    description           => {
+      data                => '',
+      class               => 'listrowempty',
+      colspan             => $num_visible_columns,
+    },
+  );
+
   # add sort and escape callback, this one we use for the add sub
   $form->{callback} = $href .= "&sort=$form->{mainsort}";
 
@@ -318,7 +286,7 @@ sub invoice_transactions {
   # Durchschnitt von marge_percent
   my @total_columns = qw(sellprice_total lastcost_total marge_total marge_percent );
 
-  my %totals    = map { $_ => 0 } @total_columns;
+  my %totals     = map { $_ => 0 } @total_columns;
   my %subtotals1 = map { $_ => 0 } @subtotal_columns;
   my %subtotals2 = map { $_ => 0 } @subtotal_columns;
 
@@ -352,18 +320,13 @@ sub invoice_transactions {
 
     # Anfangshauptüberschrift
     if ( $form->{l_headers_mainsort} eq "Y" && ( $idx == 0 or $ar->{ $form->{'mainsort'} } ne $form->{AR}->[$idx - 1]->{ $form->{'mainsort'} } )) {
-      my $headerrow;
-
-      # use $emptyname for mainsort header if mainsort is empty
-      if ( $ar->{$form->{'mainsort'}} ) {
-        $headerrow->{description}->{data} = $ar->{$form->{'mainsort'}};
-      } else {
-        $headerrow->{description}->{data} = $locale->text('empty');
+      my $headerrow = {
+        # use $emptyname for mainsort header if mainsort is empty
+        data    => $ar->{$form->{'mainsort'}} || $locale->text('empty'),
+        class   => "listmainsortheader",
+        colspan => $num_visible_columns,
       };
-
-      $headerrow->{description}->{class} = "listmainsortheader";
-      my $headerrow_set = [ $headerrow ];
-      $report->add_data($headerrow_set);
+      $report->add_data([ { description => $headerrow } ]);
 
       # add empty row after main header
 #      my $emptyheaderrow->{description}->{data} = "";
@@ -373,22 +336,20 @@ sub invoice_transactions {
     };
 
     # subsort überschriften
-    if ( $idx == 0
-      or $ar->{ $form->{'subsort'} }  ne $form->{AR}->[$idx - 1]->{ $form->{'subsort'} }
-      or $ar->{ $form->{'mainsort'} } ne $form->{AR}->[$idx - 1]->{ $form->{'mainsort'} }
+    # special case: subsort headers only makes (aesthetical) sense if we show individual parts
+    if ((   $idx == 0
+         or $ar->{ $form->{'subsort'} }  ne $form->{AR}->[$idx - 1]->{ $form->{'subsort'} }
+         or $ar->{ $form->{'mainsort'} } ne $form->{AR}->[$idx - 1]->{ $form->{'mainsort'} })
+        && ($form->{l_headers_subsort} eq "Y")
+        && $form->{l_parts}
     ) {
-      my $headerrow;
-
-      # if subsort name is defined, use that name in header, otherwise use $emptyname
-      if ( $ar->{$form->{'subsort'}} ) {
-        $headerrow->{description}->{data} = $ar->{$form->{'subsort'}};
-      } else {
-        $headerrow->{description}->{data} = $locale->text('empty');
+      my $headerrow = {
+        # if subsort name is defined, use that name in header, otherwise use $emptyname
+        data    => $ar->{$form->{'subsort'}} || $locale->text('empty'),
+        class   => "listsubsortheader",
+        colspan => $num_visible_columns,
       };
-      $headerrow->{description}->{class} = "listsubsortheader";
-      my $headerrow_set = [ $headerrow ];
-      # special case: subsort headers only makes (aesthetical) sense if we show individual parts
-      $report->add_data($headerrow_set) if $form->{l_headers_subsort} eq "Y" and $form->{l_parts};
+      $report->add_data([ { description => $headerrow } ]);
     };
 
     map { $subtotals1{$_} += $ar->{$_};
@@ -401,7 +362,7 @@ sub invoice_transactions {
       # calculate averages for subtotals1 and subtotals2
       # credited positions reduce both total and qty and thus don't influence average prices
       $subtotals1{sellprice} = $subtotals1{sellprice_total} / $subtotals1{qty};
-      $subtotals1{lastcost} = $subtotals1{lastcost_total} / $subtotals1{qty};
+      $subtotals1{lastcost}  = $subtotals1{lastcost_total}  / $subtotals1{qty};
     } else {
       # qty is zero, so we have a special case where each position in subtotal
       # group has a corresponding credit note so that the total qty is zero in
@@ -409,15 +370,15 @@ sub invoice_transactions {
       # rather than leaving the last value in sellprice/lastcost
 
       $subtotals1{sellprice} = 0;
-      $subtotals1{lastcost} = 0;
+      $subtotals1{lastcost}  = 0;
     };
 
     if ( $subtotals2{qty} != 0 ) {
       $subtotals2{sellprice} = $subtotals2{sellprice_total} / $subtotals2{qty};
-      $subtotals2{lastcost} = $subtotals2{lastcost_total} / $subtotals2{qty};
+      $subtotals2{lastcost}  = $subtotals2{lastcost_total}  / $subtotals2{qty};
     } else {
       $subtotals2{sellprice} = 0;
-      $subtotals2{lastcost} = 0;
+      $subtotals2{lastcost}  = 0;
     };
 
     # Ertrag prozentual in den Summen: (summe VK - summe Ertrag) / summe VK
@@ -432,53 +393,44 @@ sub invoice_transactions {
     map { $ar->{$_} = $form->format_amount(\%myconfig, $ar->{$_}, 3) } qw(weight);
     map { $ar->{$_} = $form->format_amount(\%myconfig, $ar->{$_}, $form->{"decimalplaces"} )} qw(lastcost sellprice);
 
-    my $row = { };
-
-    foreach my $column (@columns) {
-      $row->{$column} = {
-        'data'  => $ar->{$column},
-        'align' => $column_alignment{$column},
-      };
-    }
-
-   $row->{description}->{class} = 'listsortdescription';
-
-    $row->{invnumber}->{link} = build_std_url("script=is.pl", 'action=edit')
-      . "&id=" . E($ar->{id}) . "&callback=${callback}";
-
     # Einzelzeilen nur zeigen wenn l_parts gesetzt ist, nützlich, wenn man nur
     # Subtotals und Totals sehen möchte
-    my $row_set = $form->{l_parts} ? [ $row ] : [ ];
+    if ($form->{l_parts}) {
+      my %row = (
+        map { ($_ => { data => $ar->{$_}, align => $column_alignment{$_} }) } @columns
+      );
+
+      $row{invnumber}->{link} = build_std_url("script=is.pl", 'action=edit') . "&id=" . E($ar->{id}) . "&callback=${callback}";
+
+      $report->add_data(\%row);
+    }
 
     # hier wird bei l_subtotal nicht differenziert zwischen mainsort und subsort
     # macht man l_subtotal_mainsort aus wird l_subtotal_subsort auch nicht ausgeführt
-    if (($form->{l_subtotal_mainsort} eq 'Y')
+    if (   ($form->{l_subtotal_mainsort} eq 'Y')
+        && ($form->{l_subtotal_subsort}  eq 'Y')
         && (($idx == (scalar @{ $form->{AR} } - 1))   # last element always has a subtotal
           || ($ar->{ $form->{'subsort'} } ne $form->{AR}->[$idx + 1]->{ $form->{'subsort'}   })
           || ($ar->{ $form->{'mainsort'} } ne $form->{AR}->[$idx + 1]->{ $form->{'mainsort'} })
           )) {   # if value that is sorted by changes, print subtotal
 
-      if ($form->{l_subtotal_subsort} eq 'Y') {
-        push @{ $row_set }, create_subtotal_row_invoice(\%subtotals2, \@columns, \%column_alignment, \@subtotal_columns, 'listsubsortsubtotal', $ar->{ $form->{'subsort'} }) ;
-        push @{ $row_set }, insert_empty_row() if $form->{l_parts} and $addemptylines;
-      };
+      $report->add_data(create_subtotal_row_invoice(\%subtotals2, \@columns, \%column_alignment, \@subtotal_columns, $form->{l_parts} ? 'listsubtotal' : undef, $ar->{ $form->{'subsort'} }));
+      $report->add_data({ %empty_row }) if $form->{l_parts} and $addemptylines;
     }
 
     # if last mainsort is reached or mainsort has changed, add mainsort subtotal and empty row
-    if (($form->{l_subtotal_mainsort} eq 'Y')
+    if (   ($form->{l_subtotal_mainsort} eq 'Y')
+        && ($form->{l_subtotal_mainsort} eq 'Y')
+        && ($form->{mainsort}            ne $form->{subsort})
         && (($idx == (scalar @{ $form->{AR} } - 1))   # last element always has a subtotal
             || ($ar->{ $form->{'mainsort'} } ne $form->{AR}->[$idx + 1]->{ $form->{'mainsort'} })
             )) {   # if value that is sorted by changes, print subtotal
-      if ($form->{l_subtotal_mainsort} eq 'Y' and $form->{mainsort} ne $form->{subsort} ) {
         # subtotal is overriden if mainsort and subsort are equal, don't print
         # subtotal line even if it is selected
-        push @{ $row_set }, create_subtotal_row_invoice(\%subtotals1, \@columns, \%column_alignment, \@subtotal_columns, 'listmainsortsubtotal', $ar->{$form->{mainsort}});
-        push @{ $row_set }, insert_empty_row() if $addemptylines; # insert empty row after mainsort
-      };
+      $report->add_data(create_subtotal_row_invoice(\%subtotals1, \@columns, \%column_alignment, \@subtotal_columns, 'listsubtotal', $ar->{$form->{mainsort}}));
+      $report->add_data({ %empty_row }) if $addemptylines; # insert empty row after mainsort
     }
 
-    $report->add_data($row_set);
-
     $idx++;
   }
   if ( $form->{l_total} eq "Y" ) {
@@ -490,16 +442,6 @@ sub invoice_transactions {
   $main::lxdebug->leave_sub();
 }
 
-
-sub insert_empty_row {
-    my $dummyrow;
-    $dummyrow->{description}->{data} = "";
-    my $dummyrowset = [ $dummyrow ];
-    return $dummyrow;
-};
-
-
-
 sub create_subtotal_row_invoice {
   $main::lxdebug->enter_sub();
 
@@ -509,7 +451,7 @@ sub create_subtotal_row_invoice {
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
 
-  my $row = { map { $_ => { 'data' => '', 'class' => $class, 'align' => $column_alignment->{$_}, } } @{ $columns } };
+  my $row = { map { $_ => { data => '', class => $class, align => $column_alignment->{$_}, } } @{ $columns } };
 
   # set name as "empty" if no value is given, except if we are dealing with the
   # absolute total, then just write "Total sum"
@@ -534,4 +476,3 @@ sub create_subtotal_row_invoice {
 }
 
 1;
-
diff --git a/css/Mobile/menuv4.css b/css/Mobile/menuv4.css
deleted file mode 120000 (symlink)
index 6f69e0f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../lx-office-erp/menuv4.css
\ No newline at end of file
deleted file mode 120000 (symlink)
index 8031c949e7a9b2be4179efd9a5e8c808fe03cb14..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../lx-office-erp/background_jobs.css
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..e390bb5a4798a076a07f0ad7399779feae4e9ea6
--- /dev/null
@@ -0,0 +1,14 @@
+/* Jobverwaltung */
+.background_job_list    tbody pre,
+.background_job_details tbody pre {
+  margin: 0px;
+}
+
+.background_job_details tbody th {
+  text-align: right;
+  vertical-align: top;
+}
+
+.background_job_details tbody td {
+  vertical-align: top;
+}
index 71fa9b3..9868743 100644 (file)
@@ -16,6 +16,7 @@
 ************************************************************************************************************/\r
 \r
 .DHTMLSuite_menuBar_top{       /* The bar that is parent of the menu strip */\r
+       color:#FFF;\r
        height:26px;\r
        width:100%;\r
        background-repeat:repeat-x;\r
        font-size:12px;\r
        z-index:100000;\r
        padding-left:10px;\r
+/*     background-image:url('../../../image/dhtmlsuite/menu_strip_bg.jpg');*/\r
+       background-image:url('../../../image/bg_css_kivi_menu.png');\r
 }\r
 \r
 .DHTMLSuite_menuBar_sub{\r
        position:absolute;\r
        background-color:#FFF;\r
-       border:1px solid #D1D1D1;\r
+       border:1px solid #000;\r
+       background-image:url('../../../image/dhtmlsuite/menu-bar-kivi-gradient.png');   /* Background image for sub menu items */\r
        background-repeat:repeat-y;\r
        background-position: left center;\r
        display:inline;\r
index 5f75312..7202b44 100644 (file)
@@ -2,41 +2,66 @@
 \r
 .DHTMLSuite_menuItem_top_regular,.DHTMLSuite_menuItem_top_over,.DHTMLSuite_menuItem_top_click,.DHTMLSuite_menuItem_top_disabled,.DHTMLSuite_menuItem_top_active{\r
        height:19px;\r
-       line-height:16px;\r
-       margin-right:2px;\r
-       margin-top:1px;\r
-       padding-left:4px;\r
-       padding-right:4px;\r
-       padding-top:2px;\r
-       padding-bottom:2px;\r
 }\r
 .DHTMLSuite_menuItem_top_regular div,.DHTMLSuite_menuItem_top_over div,.DHTMLSuite_menuItem_top_click div,.DHTMLSuite_menuItem_top_disabled div,.DHTMLSuite_menuItem_top_active div{\r
        padding-top:2px;\r
        padding-bottom:2px;\r
 }\r
 .DHTMLSuite_menuItem_top_regular{      /* Top level menu item - Regular state */\r
+       padding-left:4px;\r
+       padding-right:4px;\r
+       margin-right:2px;\r
+       padding-top:1px;\r
+       padding-bottom:1px;\r
        cursor:pointer;\r
+       line-height:16px;\r
+       margin-top:2px;\r
 }\r
 \r
 .DHTMLSuite_menuItem_top_over{ /* Top level menu item - Mouse over state */\r
-       color:#FE5F14;\r
-       background-color:#D1D1D1;\r
+       padding-left:3px;\r
+       padding-right:3px;\r
+       margin-right:2px;\r
+       border:1px solid #000;\r
+       color:#000;\r
+       background-color:#bec6a2;\r
        cursor:pointer;\r
+       line-height:16px;\r
+       margin-top:2px;\r
 }\r
 \r
 .DHTMLSuite_menuItem_top_active{       /* Top level menu item - Active state - this is typical the state for menu item 1 when a sub group is expanded and the mouse is located over one of the sub menu items */\r
+       padding-left:3px;\r
+       padding-right:3px;\r
+       margin-right:2px;\r
+       border:1px solid #000;\r
+       border-bottom:1px solid #FFF;\r
        cursor:pointer;\r
+       line-height:16px;\r
+       margin-top:2px;\r
 }\r
 \r
 .DHTMLSuite_menuItem_top_click{        /* Top level menu item - Mouse click state */\r
-       color:#FE5F14;\r
-       background-color:#D1D1D1;\r
+       padding-left:3px;\r
+       padding-right:3px;\r
+       margin-right:2px;\r
+       border:1px solid #000;\r
+       background-color:#bec6a2;\r
        cursor:pointer;\r
+       line-height:16px;\r
+       margin-top:2px;\r
        z-index:20000;\r
 }\r
 \r
 .DHTMLSuite_menuItem_top_disabled{     /* Disabled menu item */\r
+       padding-left:4px;\r
+       padding-right:4px;\r
+       margin-right:2px;\r
+       padding-top:1px;\r
+       padding-bottom:1px;\r
        cursor:default;\r
+       line-height:16px;\r
+       margin-top:2px;\r
 }\r
 \r
 .DHTMLSuite_menuItem_top_disabled img,.DHTMLSuite_menuItem_top_disabled div{   /* Sub divs of disabled top level items. A menu item is a div with some subdivs(one for the icon, one for text etc.). this is the css for these sub divs */\r
        -khtml-opacity:.4;      /* Transparency */\r
 }\r
 .DHTMLSuite_menuItem_sub_regular,.DHTMLSuite_menuItem_sub_disabled{    /* Regular menu item */\r
+       margin-left:2px;        /* size of margin above + 1 pixel */\r
+       padding-top:3px;        /* Size of padding-top above + 1 pixel */\r
+       padding-bottom:3px;     /* Size of padding-bottom above + 1 pixel */\r
 }\r
 \r
 .DHTMLSuite_menuItem_sub_over,.DHTMLSuite_menuItem_sub_click,.DHTMLSuite_menuItem_sub_active{\r
+       border:1px solid #006;  /* Border around mouse over items, click items and active items */\r
 }\r
 \r
 .DHTMLSuite_menuItem_sub_over,.DHTMLSuite_menuItem_sub_active{ /* Mouse over effect */\r
-       color:#FE5F14;\r
-       background-color:#D1D1D1;\r
+       background-color:#bec6a2;               /* Background color of mouse over items and active items(Active item = parent elements of the menu item the mouse is currently over */\r
 }\r
 \r
 .DHTMLSuite_menuItem_sub_click{        /* Mouse click effect */\r
-       color:#FE5F14;\r
-       background-color:#D1D1D1;\r
+       background-color:#bec6a2;       /* Background color when the mouse button is pressed down on a menu item */\r
 }\r
 \r
 .DHTMLSuite_menuItem_sub_click div, .DHTMLSuite_menuItem_sub_regular div,.DHTMLSuite_menuItem_sub_over div,.DHTMLSuite_menuItem_sub_active div,.DHTMLSuite_menuItem_sub_disabled div{  /* divs for the text,icon and arrow of a menu item */\r
        margin-bottom:1px;      /* Space below the separator */\r
        margin-left:24px;       /* left margin because we don't want the separator to cover the gradient */\r
        padding-right:3px;      /* space at the right of the separator */\r
-       color:#FE5F14;\r
-       background-color:#D1D1D1;\r
+       background-color:#6A8CCB;       /* background color for the separator - blue */\r
 }\r
 \r
 .DHTMLSuite_menuItem_textContent\r
 {\r
-  border-bottom-style: none !important;\r
-  background-color: inherit !important;\r
   color: inherit !important;\r
 }\r
diff --git a/css/kivitendo/frame_header b/css/kivitendo/frame_header
deleted file mode 120000 (symlink)
index d69ab7f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../lx-office-erp/frame_header/
\ No newline at end of file
diff --git a/css/kivitendo/frame_header/header.css b/css/kivitendo/frame_header/header.css
new file mode 100644 (file)
index 0000000..4af67bf
--- /dev/null
@@ -0,0 +1,38 @@
+#frame-header .frame-header-element a:link,
+#frame-header .frame-header-element a:visited,
+#frame-header .frame-header-element a:hover,
+#frame-header .frame-header-element a:active {
+  color: white;
+  background: none;
+  text-decoration: underline;
+}
+
+#frame-header {
+  background: url('../../../image/bg_kivi_titel.png') repeat-x;
+  text-align: center;
+  margin: 0;
+  padding: 0;
+  color: white;
+  border: 0;
+  overflow: hidden;
+  width: 100%;
+  border-spacing: 0;
+  font-size: 12px;
+}
+
+#frame-header .frame-header-left {
+  float: left;
+}
+#frame-header .frame-header-right {
+  float: right;
+}
+
+#frame-header .frame-header-left,
+#frame-header .frame-header-center,
+#frame-header .frame-header-right  {
+  border-spacing: 0;
+  color: white;
+  padding: 0;
+  font-family: verdana,arial,sans-serif;
+  vertical-align: middle;
+}
deleted file mode 120000 (symlink)
index dc11231691f000cb6347e95d9eb47459b7ae3c54..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../lx-office-erp/jquery.autocomplete.css
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..91b6228337a5ec1af80355d967686818523bf3fa
--- /dev/null
@@ -0,0 +1,48 @@
+.ac_results {
+       padding: 0px;
+       border: 1px solid black;
+       background-color: white;
+       overflow: hidden;
+       z-index: 99999;
+}
+
+.ac_results ul {
+       width: 100%;
+       list-style-position: outside;
+       list-style: none;
+       padding: 0;
+       margin: 0;
+}
+
+.ac_results li {
+       margin: 0px;
+       padding: 2px 5px;
+       cursor: default;
+       display: block;
+       /* 
+       if width will be 100% horizontal scrollbar will apear 
+       when scroll mode will be used
+       */
+       /*width: 100%;*/
+       font: menu;
+       font-size: 12px;
+       /* 
+       it is very important, if line-height not setted or setted 
+       in relative units scroll will be broken in firefox
+       */
+       line-height: 16px;
+       overflow: hidden;
+}
+
+.ac_loading {
+       background: white url('indicator.gif') right center no-repeat;
+}
+
+.ac_odd {
+       background-color: #eee;
+}
+
+.ac_over {
+       background-color: #0A246A;
+       color: white;
+}
deleted file mode 120000 (symlink)
index 270f1a2480a2ca7380c1540747ef0d5842a771cb..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../lx-office-erp/jquery.multiselect2side.css
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..ced4d988bd10c706d7e1c45308cba62c55aafc59
--- /dev/null
@@ -0,0 +1,56 @@
+.ms2side__div {
+       clear: left;
+       width: 100%;
+       padding: 1px;
+       float: left;
+       background : url('') repeat-x; /* HACK FOR CHROME */
+}
+
+.ms2side__select {
+       float: left;
+}
+
+.ms2side__header {
+       color: blue;
+       background-color: #EEEEFF;
+}
+
+.ms2side__options, .ms2side__updown {
+       float: left;
+       font-size: 10pt;
+       margin: 0;
+       padding: 0 8px;
+       width: 40px;
+       color: black;
+       text-align: center;
+       overflow: hidden;
+}
+
+.ms2side__updown {
+       font-size: 9pt;
+}
+
+.ms2side__options p, .ms2side__updown p {
+       margin: 2px 0;
+       padding: 0;
+       cursor: pointer;
+       border: 1px solid black;
+}
+
+.ms2side__options p.ms2side_hover, .ms2side__updown p.ms2side_hover {
+       background-color: #F0F0FF;
+       border-color: #0000FF;
+       cursor: pointer;
+}
+
+.ms2side__options p.ms2side__hide, .ms2side__updown p.ms2side__hide {
+       cursor: default;
+       color: grey;
+       border: 1px solid grey;
+       background-color: #F0F0F0;
+}
+
+.ms2side__div select {
+       width: 220px;
+       float: left;
+}
diff --git a/css/kivitendo/list_accounts.css b/css/kivitendo/list_accounts.css
new file mode 100644 (file)
index 0000000..552a901
--- /dev/null
@@ -0,0 +1,92 @@
+/* Kontenliste Styles */
+
+.coa_listtop {
+  background-color:rgb(236,233,216);
+  text-align:left;
+  padding:5px;
+  font-size:12pt;
+  color:black;
+  font-weight: bolder;
+  border-style:dashed;
+  border-width:thin;
+}
+
+.coa_listheading {
+  background-color:rgb(236,233,216);
+  color: black;
+  background-image:url("../../image/fade.png");
+}
+
+.coa_listheading_element {
+  font-size:10pt;
+  padding:3px;
+  font-weight:bolder;
+  text-align:left;
+  border-style:dotted;
+  border-width:thin;
+}
+
+.coa_listrow1 {
+  background-color: rgb(208,207,201);
+  color: black;
+  vertical-align: top;
+}
+
+.coa_listrow0 {
+  background-color: rgb(236,233,216);
+  color: black;
+  vertical-align: top;
+}
+
+.coa_amount {
+  text-align:right;
+  font-family:monospace;
+}
+
+.coa_account_header {
+  font-size:10pt;
+  padding:3px;
+  font-weight:bolder;
+  text-align:left;
+  border-style:none;
+  border-width:thin;
+}
+
+.coa_account_header_sc {
+  font-size:10pt;
+  padding:3px;
+  font-weight:bolder;
+  text-align:left;
+  border-style:none;
+  border-width:thin;
+  cursor:s-resize;
+}
+
+.coa_detail {
+  padding:0px;
+  border-style:none;
+}
+
+.coa_detail_emph {
+  font-size:10pt;
+  font-weight:bold;
+  color:darkred;
+}
+
+.coa_details_header {
+  font-size:8pt;
+  padding:3px;
+  font-weight:bolder;
+  text-align:center;
+  border-style:none;
+  border-width:thin;
+}
+
+.coa_details_header2 {
+  font-size:8pt;
+  padding:3px;
+  font-weight:normal;
+  text-align:left;
+  border-style:none;
+  border-width:thin;
+}
index 77fe097..e69e0ef 100644 (file)
-/* Stylesheet for kivitendo * Name:kivitendo.css*/
-/* Colortable
-
-Background:    #EBEBEB burlywood
-Links:                 #006400 DarkGreen
-Link-hover             #FE5F14 Orange / #FFFFE0 lightyellow
-Titles, BG/VG: #79B61B Mid-green FFFFFF White
-Tabcolor: #CAFFA3
-*/
+/* Stylesheet for Lx-Office
 
 
-body {
-       font-family: Verdana, Arial, Helvetica;
-       background-color: #FFFFFF;
-       color: #000000;
-    font-size: 9pt;
+/* The look of links */
+A:link { color: #597d12; text-decoration: none; }
+A:visited { color: #597d12; text-decoration: none; }
+A:active { color: black; text-decoration: none; }
+A:hover { color: black;
+           background-color: #bec6a2;
+           text-decoration: none;
+         }
+a, div {
+  transition: background-color 0.2s;
+  -moz-transition: background-color 0.2s;
+  -webkit-transition: background-color 0.2s;
 }
 
-
-/* The look of links */
-a {
-       padding: 0 0.2em;
-       text-decoration: none;
-       /* border-bottom: thin solid; */
-       /* font-weight: bold; */
+input, textarea, select {
+  border: 1px;
+  border-color: darkgray lightgray lightgray;
+  border-style: solid;
+  padding: 1px;
+  background-color: white;
 }
-A:link, A:visited, A:active {
-       color: #000000;
-       border-bottom: thin solid #FE5F14;
+img:hover {
+  display:block !important;
 }
-a:hover {
-       color: #FE5F14;
-       background-color: #D1D1D1;
+
+select {
+  padding: 0px;
 }
-a.selected:hover {
-       color:#EBEBEB;
+
+input:focus, textarea:focus, select:focus {
+  background-color: whitesmoke;
+  border: 1px;
+  border-color: gray lightgray lightgray;
+  border-style: solid;
 }
-a.nomobile {
-       background-color:transparent;
-       border:none;
+
+input:hover, textarea:hover, select:hover {
+  border-color: dimgray darkgray darkgray;
 }
 
-table {
-    font-size: 90% !important;
-       table-layout: auto;
-       border-spacing: 0.3em;
+input[type="button"],
+input[type="submit"],
+button,
+input[type="button"]:focus,
+input[type="submit"]:focus,
+button:focus {
+  border: 1px;
+  border-color: darkgray;
+  border-style: solid;
+  padding: 0px 4px;
+  -webkit-border-radius: 2px;
+  -moz-border-radius: 2px;
+  border-radius: 2px;
+  background-color: whitesmoke;
 }
 
-/* table a {
-       color:#FE5F14 !important;
-       border-bottom:none;
-} */
+button:hover,
+input[type="button"]:hover,
+input[type="submit"]:hover {
+  border: 1px;
+  background-color: lightgray;
+  border-color: gray;
+  border-style: solid;
+  -webkit-border-radius: 2px;
+  -moz-border-radius: 2px;
+  border-radius: 2px;
+}
 
-ul {
+html {
+  height: 100%;
 }
 
-hr {
-       background-color: #006400;
-       border: none;
-       color: #79B61B;
-       height: 2px;
+body {
+  font-family: Verdana, Arial, Helvetica, sans-serif;
+  font-size: 10pt;
+  background-color: white;
+  background-image: url("../../image/fade.png"); background-repeat:repeat-x;
+  color: black;
+  height: 100%;
 }
 
-/* I.E. & Chrome können das nicht! */
-/* input[type="radio"], input[type="checkbox"]{
-       width:1.15em;
-       height:1.15em;
-       border:1px solid;
-       color: #006400;
-} */
-input:focus, textarea:focus, select:focus {
-       background-color: #FFFFA0;
-       border: 2px solid #FE5F14;
-       /* border-bottom: medium solid #FE5F14; */
-}
-/* Fängt den "Schrink" beim focus - problem für i.e. und chrome */
-/* input[type="radio"]:focus, input[type="checkbox"]:focus{
-       width:1.2em;
-       height:1.2em;
-} */
 td {
-       color: #000000;
-       font-weight: normal;
+  font-family: Verdana, Arial, Helvetica, sans-serif;
+  color: black;
+  font-size: 8pt;
+  font-weight: normal;
+}
+td.hover:hover {
+    color: black;
+/*          background-color: #FFFFCC;
+          font-size: 8pt;
+          text-decoration: none;
+          border:none;
+          borderWidth:0px;
+          borderColor:2557AD;
+*/
 }
-/* td.hover:hover {
-       color: #006400;
-       background-color: #FFFFE0;
-} */
+
+
 th {
-       color: #000000;
-       font-weight: bold;
+  font-family: Verdana, Arial, Helvetica, sans-serif;
+  color: black;
+  font-size: 8pt;
+  font-weight: normal;
 }
+
 /* login and admin */
-.login a, .login a:visited, .login a:hover {
-       text-decoration: none !important;
-       background-color:transparent !important;
-       border:none;
-}
-.login a:hover {
-       background: none;
+.login {
+  font-family: Verdana, Arial, Helvetica, sans-serif;
 }
-body.login {
-       background-color: #FFFFE0;
-       color: #000000;
+div.login {
+  min-height: 100%;
+  height: auto !important;
+  height: 100%;
+  background: #bec6a2;
+  color: #A0A0A0;
 }
 h1.login {
+  font-size: 18pt;
+}
+h3.login {
+  color:#fe5f14;
 }
 table.login {
-       background-color: #FFFFE0;
-       padding: 20px;
+  background-color: #efedde;
+  padding: 20px;
 }
 td.login {
-       text-align: center;
+  text-align: center;
 }
 th.login {
-       text-align: right;
+  text-align: right;
 }
+
 div.admin {
-       background-color: #FFFFE0;
-    padding: 8px;
-       color: #000000;
-}
-body.menu {
-       color: #000000;
+  color: black;
+  margin: 8px;
 }
-/* Warnings */
+
 .message_error_login {
-       color: #000000;
-       border: 1px solid #8b0000;
-       background-color: #ffcccc;
-       padding: 3px;
+    color: #fe5f14;
+    border: 1px solid #fe5f14;
+    background-color: #ffffff;
+    padding: 3px;
 }
 .message_ok {
-       padding: 5px;
-       background-color: #ADFFB6;
-       color: black;
-       font-weight: bolder;
-       text-align: center;
-       border-style: solid;
-       border-width: thin;
+    font-size: 12pt;
+    padding:5px;
+    background-color: #ADFFB6;
+    color: black;
+    font-weight: bolder;
+    text-align:center;
+    border-style:solid;
+    border-width:thin;
 }
 .message_error {
-       padding: 5px;
-       background-color: #CC0000;
-       color: white;
-       font-weight: bolder;
-       text-align: center;
-       border-style: solid;
-       border-width: thin;
+    font-size: 12pt;
+    padding:5px;
+    background-color: #FFAAAA;
+    color: black;
+    font-weight: bolder;
+    text-align:center;
+    border-style:solid;
+    border-width:thin;
 }
 .message_hint {
-       padding: 0.5em;
-       background-color: #FFEE66;
-       color: black;
-       font-weight: bolder;
-       text-align: center;
-       border-style: solid;
-       border-width: thin;
+    font-size: 12pt;
+    padding:5px;
+    background-color: #FFFE66;
+    color: black;
+    font-weight: bolder;
+    text-align:center;
+    border-style:solid;
+    border-width:thin;
 }
 .message_error_label {
-       padding: 0.5em;
-       background-color: #E00000;
-  color: white;
-       font-weight: normal;
-       text-align: left;
-       border-style: solid;
-       border-width: thin;
-}
-/*    Headings */
+    font-size: 0.8em;
+    padding:5px;
+    background-color: #FEE;
+    font-weight:normal;
+    text-align:left;
+    border-style:solid;
+    border-width:thin;
+}
+
+/*
+    Überschriftsbalken
+*/
 .listtop, h1 {
-    font-size:125%;
-       background-color: #006400;
-       text-align: left;
-       padding: 0.5em;
-       color: #FFFFFF;
-       font-weight: bolder;
-       border-style: none;
-       border-width: thin;
-       -moz-border-radius:0.4em; /* Firefox */
-       -webkit-border-radius:0.4em; /* Safari, Chrome */
-       -khtml-border-radius:0.4em; /* Konqueror */
-       border-radius:0.4em; /* CSS3 */
-       behavior:url(border-radius.htc);
-}
-
-/* .listelement {
-       background-color: #f8ffb3;
-       color: #000000;
+    background-color: rgb(236,233,216);
+    text-align:center;
+    padding:5px;
+    font-size: 10pt;
+    color: black;
+    font-weight: bolder;
+    border-style:dashed;
+    border-width:thin;
+}
+
+
+.listelement {
+    background-image: url("../../image/fade2.png");
+    background-repeat:repeat-x;
+    border-style:dashed;
+    border-width:thin;
 }
+
 .listelement2 {
-       background-color: #8ee085;
-       color: #000000;
-} */
-.listheading {
-       padding: 0.2em;
-       background-color: #EBEBEB;
-       color: #006400;
-       font-weight: bolder;
-       text-align: left;
-       border-style: none;
-}
-
-/* .listheadingcontent {
-       background-color: #EBEBEB;
-       color: #006400;
-       font-weight: bolder;
-       text-align: left;
-} */
+    background-image: url("../../image/fade2.png");
+    background-repeat:repeat-x;
+    border-style:dashed;
+    border-width:thin;
+}
+
+.listheading, .listheading th {
+    font-size: 9pt;
+    padding:3px;
+    background-color:
+    rgb(236,233,216);
+    color: black;
+    font-weight: bolder;
+    text-align:left;
+    background-image: url("../../image/fade.png");
+    border-style:dotted;
+    border-width:thin;
+}
+
+.listheadingcontent {
+    font-size: 9pt;
+    background-color:
+    rgb(236,233,216);
+    color: black;
+    font-weight: bolder;
+    text-align:left;
+}
 
 .accountlistheading {
-       padding: 0.3em;
-       color: #006400;
-       font-weight: bold;
-       text-align: left;
-       background-color: #EBEBEB;
+    font-size: 10pt;
+    padding:3px;
+    color: white;
+    font-weight: bold;
+    text-align:left;
+    background-color:rgb(133,132,129);
 }
+
 .subsubheading {
-       color: #000000;
-       font-weight: bolder;
-       text-decoration: underline;
+  color: black;
+  font-weight: bolder;
+  text-decoration: underline;
 }
+
 .optionen {
-       border: dashed;
-       border-width: 1px;
-       background: #FFFFE0;
-}
-.listrow1 {
-       background-color: #FFFFFF;
-       color: black;
-       vertical-align: top;
-}
-.listrow0 {
-       background-color: #FFFF99;
-       color: black;
-       vertical-align: top;
-}
-.listsubtotal {
-       background-color: rgb(236,233,216);
-       color: black;
-       font-weight: bolder;
-}
-.listtotal, .listtotal td {
-       background-color: rgb(236,233,216);
-       color: black;
-       font-weight: bolder;
+    border:dashed;
+/*  padding-top:10px;
+    padding-bottom:10px;
+    padding-left:10px;
+*/
+    border-width:1px;
+    background:#efedde;
 }
+
+
+.listrow1 { background-color: rgb(208,207,201); color: black; vertical-align: top; }
+.listrow0 { background-color: rgb(236,233,216); color: black; vertical-align: top; }
+.listrowempty { background-color: rgb(255,255,255); color: black; vertical-align: top; }
+
+.redrow1 { background-color: rgb(250,167, 161); color: black; vertical-align: top; }
+.redrow0 { background-color: rgb(255,193,176); color: black; vertical-align: top; }
+
+.greenrow1 { background-color: rgb(0,250,0); color: black; vertical-align: top; }
+.greenrow0 { background-color: rgb(0,255,0); color: black; vertical-align: top; }
+
+.listsubtotal { font-size: 8pt; background-color: rgb(236,233,216); color: black; font-weight: bolder;}
+
+.listtotal, .listtotal td { font-size: 8pt; background-color: rgb(236,233,216); color: black; font-weight: bolder;}
+
 /* Verkaufsbericht */
-.listmainsortheader {
-       background-color: rgb(236,233,216);
-       color: red;
-       font-weight: bolder;
-       padding-left: 10px;
-       padding-top: 0px;
-}
-.listmainsortsubtotal {
-       background-color: rgb(236,233,216);
-       color: red;
-       font-weight: bolder;
-       padding-left: 10px;
-}
-.listsubsortheader {
-       background-color: rgb(236,233,216);
-       color: green;
-       font-weight: bolder;
-       padding-left: 20px
-}
-.listsubsortsubtotal {
-       background-color: rgb(236,233,216);
-       color: green;
-       font-weight: bolder;
-       padding-left: 20px
-}
-.listsortdescription {
-       background-color: rgb(236,233,216);
-       color: black;
-       font-weight: normal;
-       padding-left: 30px
-}
+.listmainsortheader { font-size: 8pt; background-color: rgb(236,233,216); color: red; font-weight: bolder; padding-left: 10px; padding-top: 0px;}
+.listmainsortsubtotal { font-size: 8pt; background-color: rgb(236,233,216); color: red; font-weight: bolder; padding-left: 10px;}
+.listsubsortheader { font-size: 8pt; background-color: rgb(236,233,216); color: green; font-weight: bolder; padding-left: 20px}
+.listsubsortsubtotal { font-size: 8pt; background-color: rgb(236,233,216); color: green; font-weight: bolder; padding-left: 20px}
+.listsortdescription { font-size: 8pt; background-color: rgb(236,233,216); color: black; font-weight: normal; padding-left: 30px}
+
+
 .submit {
-       font-family: Verdana, Arial, Helvetica;
-       color: #000000;
+  font-family: Verdana, Arial, Helvetica, sans-serif;
+  color: #000000;
 }
 .checkbox, .radio {
-       font-family: Verdana, Arial, Helvetica;
-       color: #778899;
+  font-family: Verdana, Arial, Helvetica, sans-serif;
+  color: #778899;
 }
-.plus0 {
-/* font color for negative numbers */
-       color: red;
+
+.plus0 {    /* font color for negative numbers */
+  color: red;
 }
+
 .plus1 {
-       color: green;
+  color: green;
 }
+
+td.numeric { /* class for numeric columns in tables */
+  text-align: right
+}
+
 h2.confirm {
-       color: blue;
+  color: blue;
+  font-size: 14pt;
 }
+
 h2.error {
-       color: red;
+  color: red;
+  font-size: 14pt;
 }
+
 fieldset {
-       margin-top: 15px;
-       color: black;
-       font-weight: bolder;
+  margin-top:15px;
+  color: black;
+  font-weight: bolder;
 }
+
 /* media stuff */
+
 @media screen {
-.noscreen {
-/* items with this class won't display */
-       display: none;
-}
+  .noscreen {   /* items with this class won't display */
+    display: none;
+  }
 }
+
 @media print {
-.noprint {
-/* items with this class won't print */
-       display: none;
-}
+  .noprint {   /* items with this class won't print */
+    display: none;
+  }
 }
+
 .filecontent {
-       border: 1px solid blue;
-       padding-left: 2px;
-       padding-right: 2px;
+  border: 1px solid blue;
+  padding-left: 2px;
+  padding-right: 2px;
 }
+
 label {
-       cursor: pointer;
-       vertical-align: top;
+  cursor:pointer;
 }
+
 .unbalanced_ledger {
-       background-color: #ffa0a0;
+  background-color: #ffa0a0;
 }
+
 .clearfix:after {
-       clear: both;
-       content: ".";
-       display: block;
-       height: 0;
-       visibility: hidden;
+  clear:both;
+  content:".";
+  display:block;
+  font-size:0;
+  height:0;
+  visibility:hidden;
 }
+
 .flash_message_error {
-       background-color: #FFD6D6;
-       border: 1px solid #AE0014;
-       margin-top: 5px;
-       margin-bottom: 5px;
-       padding: 5px;
+  background-color:#FFD6D6;
+  border: 1px solid #AE0014;
+  margin-top: 5px;
+  margin-bottom: 5px;
+  padding: 5px;
 }
+
 .flash_message_warning {
-       background-color: #FFE8C7;
-       border: 1px solid #FF6600;
-       margin-top: 5px;
-       margin-bottom: 5px;
-       padding: 5px;
+  background-color:#FFE8C7;
+  border: 1px solid #FF6600;
+  margin-top: 5px;
+  margin-bottom: 5px;
+  padding: 5px;
 }
+
 .flash_message_info {
-       background-color: #DCF2FF;
-       border: 1px solid #4690FF;
-       margin-top: 5px;
-       margin-bottom: 5px;
-       padding: 5px;
+  background-color:#DCF2FF;
+  border: 1px solid #4690FF;
+  margin-top: 5px;
+  margin-bottom: 5px;
+  padding: 5px;
+}
+
+.jqmWindow {
+  display: none;
+
+  position: fixed;
+  top: 17%;
+  left: 40%;
+
+  margin-left: -200px;
+  width: 700px;
+
+  background-color: #bec6a2;
+  color: #333;
+  border: 1px solid black;
+  padding: 4px;
+}
+
+.jqmContent {
+  padding: 8px;
+}
+
+.jqmWindow h1 {
+  border: 0;
+  padding: 0;
+  background-color: #bec6a2;
+}
+
+.jqmOverlay {
+  background-color: #000;
+}
+
+/* Kontenliste Styles */
+
+.coa_listrow1 {
+  background-color: rgb(208,207,201);
+  color: black;
+  vertical-align: top;
+}
+
+.coa_listrow0 {
+  background-color: rgb(236,233,216);
+  color: black;
+  vertical-align: top;
+}
+
+.coa_detail_emph {
+  font-size:10pt;
+  font-weight:bold;
+  color:darkred;
+}
+
+.coa_details_header {
+  font-size:8pt;
+  padding:3px;
+  font-weight:bolder;
+  text-align:center;
+  border-style:none;
+  border-width:thin;
+}
+
+.coa_details_header2 {
+  font-size:8pt;
+  padding:3px;
+  font-weight:normal;
+  text-align:left;
+  border-style:none;
+  border-width:thin;
 }
index b5819a6..cbe012c 100644 (file)
-/* kivitendo menu Colors:
-Menu Background color #FE5F14
-orangemenu color #FFFFFF
-whiteMenu Hover background color #FFFFE0
-DarkGreensubenu pointer
-*/
-body.menuv4 {
-       behavior: url("css/csshover.htc");
-       /*font-size: 14pt;*/
-       line-height: 20pt;
-       font-family: Verdana, Geneva, Tahoma, sans-serif;
-       background-color: #FFFFFF;
-       color: #000000;
-}
-#menuv4 {
-       /*font-size: 85%;*/
-       width: 99.8%;
-       float: left;
-       /*border: 3px solid;*/
-       background-color: #FFFFFF;
-       color: #000000;
-}
-#menuv4 a, #menuv4 h2, #menuv4 div.x {
-       font-size: 80%;
-       line-height: 120%;
-       display: block;
-       border: 0;
-       white-space: nowrap;
-       margin: 0;
-       padding: 0.3em 1em;
-}
-#menuv4 h2 {
-       background-color: #ffffff;
-       color: #000000;
-       /*padding: 2px 15px;*/
-/* Firefox */
-       -moz-border-radius: 0.4em 0.4em 0;
-/* Safari, Chrome */
-       -webkit-border-radius: 0.4em 0.4em 0;
-/* Konqueror */
-       -khtml-border-radius: 0.4em 0.4em 0;
-/* CSS3 */
-       border-radius: 0.4em 0.4em 0 0;
-/*     behavior: url(border-radius.htc); */
-}
-#menuv4 ul:hover h2 {
-       background-color:#DCDCDC;
-}
-#menuv4 a, #menuv4 a:visited, #menuv4 div.x, #menuv4 div.x:visited {
-       color: #000000;
-       text-decoration: none;
-       padding-right: 10px;
-}
-#menuv4 a {
-       background: #EBEBEB;
-}
-#menuv4 div.x, #menuv4 div.x:visited {
-       background-color: #EBEBEB;
-       border-right: 1em solid #FE5F14;
-}
-#menuv4 div.x:hover {
-       border-right: none;
-}
-#menuv4 a:hover, #menuv4 div.x:hover {
-       color: #FE5F14;
-       background-color: #EBEBEB;
-}
-#menuv4 a:active, #menuv4 div.x:active {
-       color: #FE5F14;
-       background-color: #EBEBEB;
-}
-#menuv4 ul {
-       list-style: none;
-       margin: 0;
-       padding: 0;
-       float: left;
-}
 
-#menuv4 li {
-       position: relative;
-       float: none;
-       border: 0;
-}
-li.sub {
-       position: relativ;
-       left: 0.2em;
-       top: 0px;
-       background-color: #FFFFFF;
-}
-/* IE6 spacing bug fix, <li>s without a bottom border get spaced to far  * correction:the bug will change the height of the parent element! this will also cause the whole menu to grow  * so the only method to get this pile of crap going is to add a bottom border to the <li>s, where the enclosing <ul> already has * a bottom border, which just looks ugly * the trick:color the bottom border with the same color as the bottom pixel of the background image - noone notices */
-#menuv4 ul li {
-       /* border: solid;
-       border-color: #991900;
-       border-width: 0 0 1px 0;
-*/
+body.menu {
+  background-image: url("../../image/fade.png");background-repeat:repeat-x;
+  font-family: Verdana, Arial, Helvetica, sans-serif;
+  font-size:8pt;
+  color: black;
 }
-#menuv4 ul ul {
-       padding: 0 2em 2em 2em;
-       margin: 0 -2em -2em -2em;
-}
-#menuv4 ul ul li {
-       /*padding-top: 0.01em;*/
-       background-color: #FFFFFF;
-}
-/* IE6 event bug fix, without a background there hovers will be occassionally lost between the li's to the layer below  * causing the menu to close. Opera 9 has the same bug btw. */
-#menuv4 ul ul {
-       position: absolute;
-       z-index: 500;
-       top: auto;
-       display: none;
-}
-#menuv4 ul ul ul {
-       top: 0;
-       left: 99%;
-       padding: 2em;
-       margin: -2em;
-}
-#menuv4 ul ul ul li {
-       border-left: 0.2em solid #EBEBEB;
-}
-/* Begin non-anchor hover selectors */
-/* Enter the more specific element (div) selectoron non-anchor hovers for IE5.x to comply with theolder version of csshover.htc - V1.21.041022. Itimproves IE's performance speed to use the olderfile and this method */
-div#menuv4 h2:hover {
-       background: #EBEBEB;
-       color: #FE5F14;
-}
-div#menuv4 li:hover {
-       cursor: pointer;
-       z-index: 100;
+
+table.menunew {
+  border: 0;
+  width: 100%;
+  background-image: url("../../image/bg_kivi_titel.png");
+  border-spacing: 0;
 }
-div#menuv4 li:hover ul ul, div#menuv4 li li:hover ul ul, div#menuv4 li li li:hover ul ul, div#menuv4 li li li li:hover ul ul {
-       display: none;
+
+table.menunew td {
+  padding: 0;
+  color:white;
+  font-family: Verdana, Arial, sans-serif;
+  font-size: 12px;
 }
-div#menuv4 li:hover ul, div#menuv4 li li:hover ul, div#menuv4 li li li:hover ul, div#menuv4 li li li li:hover ul {
-       display: block;
-       position: relativ: left: 10px;
+
+body.menunew {
+  padding:0px;
+  margin:0px;
 }
-/* End of non-anchor hover selectors */
 
-body.menuv3 {
-       behavior: url("css/csshover.htc");
-       /*font-size: 14pt;*/
-       line-height: 20pt;
-       font-family: Verdana, Geneva, Tahoma, sans-serif;
-       background-color: #FFFFFF;
-       color: #000000;
+body {
+behavior:url("csshover.htc");
 }
+
 #menuv3 {
-       /*font-size: 85%;*/
-       width: 99.8%;
-       float: left;
-       /*border: 3px solid;*/
-       background-color: #FFFFFF;
-       color: #000000;
-       margin-top: 0.2em;
+width:99.8%;
+float:left;
+background:url(../../image/bg_css_kivi_menu.png) repeat bottom;
+border:1px solid;
+border-color:#ccc #888 #555 #bbb;
 }
+
 #menuv3 a, #menuv3 h2, #menuv3 div.x {
-       font-size: 80%;
-       line-height: 120%;
-       display: block;
-       border: 0;
-       white-space: nowrap;
-       margin: 0;
-       padding: 0.3em 1em;
-}
-#menuv3 h2:before {
-       content: " ";
-}
-#menuv3 h2:after {
-       content: " ";
+font:11px/16px arial,helvetica,sans-serif;
+display:block;
+border:0;
+border-right:1px;
+border-style:solid;
+border-color:#ccc #888 #555 #bbb;
+white-space:nowrap;
+margin:0;
+padding:1px 0 1px 3px;
 }
+
 #menuv3 h2 {
-       background-color: #ffffff;
-       color: #000000;
-       /*padding: 2px 15px;*/
-/* Firefox */
-       -moz-border-radius: 0.4em 0.4em 0;
-/* Safari, Chrome */
-       -webkit-border-radius: 0.4em 0.4em 0;
-/* Konqueror */
-       -khtml-border-radius: 0.4em 0.4em 0;
-/* CSS3 */
-       border-radius: 0.4em 0.4em 0 0;
-/*     behavior: url(border-radius.htc); */
-}
-#menuv3 ul:hover h2 {
-       background-color:#DCDCDC;
+color:#fff;
+padding:2px 10px;
 }
+
 #menuv3 a, #menuv3 a:visited, #menuv3 div.x, #menuv3 div.x:visited {
-       color: #000000;
-       text-decoration: none;
-       padding-right: 10px;
+color:#000;
+text-decoration:none;
+padding-right:10px;
 }
+
 #menuv3 a {
-       background: #EBEBEB;
+background:#eee;
 }
 #menuv3 div.x, #menuv3 div.x:visited {
-       background-color: #EBEBEB;
-       border-right: 1em solid #FE5F14;
-}
-#menuv3 div.x:hover {
-       border-right: none;
+background:#eee url(../../image/right.gif) no-repeat right;
 }
+
 #menuv3 a:hover, #menuv3 div.x:hover {
-       color: #FE5F14;
-       background-color: #EBEBEB;
+color:#a00;
+background-color:#ddd;
 }
+
 #menuv3 a:active, #menuv3 div.x:active {
-       color: #FE5F14;
-       background-color: #EBEBEB;
+color:#060;
+background-color:#ccc;
 }
+
 #menuv3 ul {
-       list-style: none;
-       margin: 0;
-       padding: 0;
-       float: left;
+list-style:none;
+margin:0;
+padding:0;
+float:left;
 }
 
 #menuv3 li {
-       position: relative;
-       float: none;
-       border: 0;
+position:relative;
+float:none;
+border:0;
 }
-li.sub {
-       position: relativ;
-       left: 0.2em;
-       top: 0px;
-       background-color: #FFFFFF;
-}
-/* IE6 spacing bug fix, <li>s without a bottom border get spaced to far  * correction:the bug will change the height of the parent element! this will also cause the whole menu to grow  * so the only method to get this pile of crap going is to add a bottom border to the <li>s, where the enclosing <ul> already has * a bottom border, which just looks ugly * the trick:color the bottom border with the same color as the bottom pixel of the background image - noone notices */
+
+/* IE6 spacing bug fix, <li>s without a bottom border get spaced to far
+ * correction: the bug will change the height of the parent element! this will also cause the whole menu to grow
+ * so the only method to get this pile of crap going is to add a bottom border to the <li>s, where the enclosing <ul> already has
+ * a bottom border, which just looks ugly
+ * the trick: color the bottom border with the same color as the bottom pixel of the background image - noone notices */
 #menuv3 ul li {
-       /* border: solid;
-       border-color: #991900;
-       border-width: 0 0 1px 0;
-*/
-}
-#menuv3 ul ul {
-       padding: 0 2em 2em 2em;
-       margin: 0 -2em -2em -2em;
+border:solid;
+border-color:#ccd5e5;
+border-width:0 0 1px 0;
 }
+
 #menuv3 ul ul li {
-       /*padding-top: 0.01em;*/
-       background-color: #FFFFFF;
+border:solid;
+border-width:0 0 1px 0;
 }
-/* IE6 event bug fix, without a background there hovers will be occassionally lost between the li's to the layer below  * causing the menu to close. Opera 9 has the same bug btw. */
+
+/* IE6 event bug fix, without a background there hovers will be occassionally lost between the li's to the layer below
+ * causing the menu to close. Opera 9 has the same bug btw. */
 #menuv3 ul ul {
-       position: absolute;
-       z-index: 500;
-       top: auto;
-       display: none;
+position:absolute;
+z-index:500;
+top:auto;
+display:none;
 }
+
 #menuv3 ul ul ul {
-       top: 0;
-       left: 99%;
-       padding: 2em;
-       margin: -2em;
-}
-#menuv3 ul ul ul li {
-       border-left: 0.2em solid #EBEBEB;
+top:0;
+left:90%;
 }
+
 /* Begin non-anchor hover selectors */
-/* Enter the more specific element (div) selectoron non-anchor hovers for IE5.x to comply with theolder version of csshover.htc - V1.21.041022. Itimproves IE's performance speed to use the olderfile and this method */
+
+/* Enter the more specific element (div) selector
+on non-anchor hovers for IE5.x to comply with the
+older version of csshover.htc - V1.21.041022. It
+improves IE's performance speed to use the older
+file and this method */
+
 div#menuv3 h2:hover {
-       background: #EBEBEB;
-       color: #FE5F14;
+background:##94b150;
+color:#a00;
 }
+
 div#menuv3 li:hover {
-       cursor: pointer;
-       z-index: 100;
-}
-div#menuv3 li:hover ul ul, div#menuv3 li li:hover ul ul, div#menuv3 li li li:hover ul ul, div#menuv3 li li li li:hover ul ul {
-       display: none;
-}
-div#menuv3 li:hover ul, div#menuv3 li li:hover ul, div#menuv3 li li li:hover ul, div#menuv3 li li li li:hover ul {
-       display: block;
-       position: relativ: left: 10px;
+cursor:pointer;
+z-index:100;
 }
+
+div#menuv3 li:hover ul ul,
+div#menuv3 li li:hover ul ul,
+div#menuv3 li li li:hover ul ul,
+div#menuv3 li li li li:hover ul ul
+{display:none;}
+
+div#menuv3 li:hover ul,
+div#menuv3 li li:hover ul,
+div#menuv3 li li li:hover ul,
+div#menuv3 li li li li:hover ul
+{display:block;}
+
 /* End of non-anchor hover selectors */
 
 /* html menu */
@@ -295,16 +170,16 @@ div#menuv3 li:hover ul, div#menuv3 li li:hover ul, div#menuv3 li li li:hover ul,
 #html-menu.folded { width: 32px; }
 #html-menu.folded:hover { width: 183px; }
 #html-menu div.mi { margin-top: 4px; margin-bottom: 3px; white-space: nowrap; clear:both; position:relative; }
-#html-menu div.sm { font-weight: bold }
+#html-menu div.sm { font-weight: bold; color: #597d12; }
 #html-menu img { vertical-align: top; border: 0; }
 #html-menu a { vertical-align: top }
 #html-menu .i span.ms { float: left; width: 24px; margin-bottom: 4px; }
 #html-menu .m span.ms { float: left; width: 32px }
 #html-menu .sm span.ms { float: left; width: 24px; background: url(../../image/unterpunkt.png); }
 #html-menu div.m { height: 24px }
-#html-menu div.m span.mic { color:black; position: relative; top: 4px }
+#html-menu div.m span.mic { color:#597d12; position: relative; top: 4px }
 #html-menu div.m:hover,
-#html-menu div.i:hover { color:blue; background-color: #d1d1d1; cursor: pointer; }
+#html-menu div.i:hover { color:#fe5f14; background-color: #bec6a2; cursor: pointer; }
 #html-menu span.mic { white-space: normal; display: inline-block; vertical-align: top; line-height: 1.2; }
 #html-menu a.ml span.mic { width: 145px } /* fix deep indents */
 #html-menu div.s0 { padding-left: 2px }
@@ -313,8 +188,9 @@ div#menuv3 li:hover ul, div#menuv3 li li:hover ul, div#menuv3 li li li:hover ul,
 
 body { margin: 0 }
 
+
 @media print {
-  #menuv3, #menuv4, #html-menu, #frame-header, #js-menu {   /* items with this class won't print */
+  #menuv3, #html-menu, #frame-header, #main_menu_div, #js-header {   /* items with this class won't print */
     display: none;
   }
   #content.html-menu { margin-left: 0; }
index 093dcc5..bba23b3 100644 (file)
-/* ######### CSS for Shade Tabs. Remove if not using ######### */
-
-.shadetabs{
-padding: 3px 0;
-margin-left: 0;
-margin-top: 1px;
-margin-bottom: 0;
-font: bold 12px Verdana;
-list-style-type: none;
-text-align: left; /*set to left, center, or right to align the menu as desired*/
-}
-
-.shadetabs li{
-display: inline;
-margin: 0;
-}
-
-.shadetabs li a{
-text-decoration: none;
-position: relative;
-z-index: 1;
-padding: 3px 7px;
-margin-right: 3px;
-background-color:#A1A1A1;
-border-bottom: none ;
-color: #000000;
--moz-border-radius:0.4em 0.4em 0 0; /* Firefox */
--webkit-border-radius:0.4em 0.4em 0 0; /* Safari, Chrome */
--khtml-border-radius:0.4em 0.4em 0 0; /* Konqueror */
-border-radius:0.4em 0.4em 0 0 ; /* CSS3 */
-behavior:url(border-radius.htc);
-border-bottom: thin solid #FE5F14;
-}
-
-.shadetabs li a:visited{
-color: #000000;
-border: none;
-background-color:#A1A1A1;
-border-bottom: none ;
-}
-
-.shadetabs li a:hover{
-color: #FE5F14;
-background-color:#EBEBEB;
-}
-
-.shadetabs li a.selected{ /*selected main tab style */
-position: relative;
-top: 1px;
-background-color: #D1D1D1;
-color:#000000;
-}
-
-.shadetabs li a.selected{ /*selected main tab style */
-border-bottom-color:#EBEBEB;
-}
-
-.shadetabs li a.selected:hover{ /*selected main tab style */
-text-decoration: none;
-}
-
-.tabcontent{
-display:none;
-}
-
-@media print {
-.tabcontent {
-display:block !important;
-}
-}
-
-/* ######### CSS for Inverted Modern Bricks II Tabs. Remove if not using ######### */
-
-.modernbricksmenu2{
-padding: 0;
-width: 362px;
-border-top: 5px solid #D25A0B; /*Brown color theme*/
-background: transparent;
-voice-family: "\"}\"";
-voice-family: inherit;
-}
-
-.modernbricksmenu2 ul{
-margin:0;
-margin-left: 10px; /*margin between first menu item and left browser edge*/
-padding: 0;
-list-style: none;
-}
-
-.modernbricksmenu2 li{
-display: inline;
-margin: 0 2px 0 0;
-padding: 0;
-text-transform:uppercase;
-}
-
-.modernbricksmenu2 a{
-float: left;
-display: block;
-font: bold 11px Arial;
-color: white;
-text-decoration: none;
-margin: 0 1px 0 0; /*Margin between each menu item*/
-padding: 5px 10px;
-background-color: black; /*Brown color theme*/
-border-top: 1px solid white;
-}
-
-.modernbricksmenu2 a:hover{
-background-color: #D25A0B; /*Brown color theme*/
-color: white;
-}
-
-.modernbricksmenu2 a.selected{ /*currently selected tab*/
-background-color: #D25A0B; /*Brown color theme*/
-color: white;
-border-color: #D25A0B; /*Brown color theme*/
-}
-
-.tabcontent{
-display:none;
-}
-
-@media print {
-.tabcontent {
-display:block !important;
-}
-}
-
-/* ######### CSS for Indented CSS Tabs. Remove if not using ######### */
-
-
-.indentmenu{
-font: bold 13px Arial;
-width: 100%; /*leave this value as is in most cases*/
-}
-
-.indentmenu ul{
-margin: 0;
-padding: 0;
-float: left;
-/* width: 80%; width of menu*/
-border-top: 1px solid navy; /*navy border*/
-background: black url(../image/indentbg.gif) center center repeat-x;
-}
-
-.indentmenu ul li{
-display: inline;
-}
-
-.indentmenu ul li a{
-float: left;
-color: white; /*text color*/
-padding: 5px 11px;
-text-decoration: none;
-border-right: 1px solid navy; /*navy divider between menu items*/
-}
-
-.indentmenu ul li a:visited{
-color: white;
-}
-
-.indentmenu ul li a.selected{
-color: white !important;
-padding-top: 6px; /*shift text down 1px*/
-padding-bottom: 4px;
-background: black url(../image/indentbg2.gif) center center repeat-x;
-}
-
-
-.tabcontentstyle{ /*style of tab content oontainer*/
-/* border: 1px solid #D2691E; */
-width: 95%;
-margin-bottom: 1em;
-padding: 10px;
--moz-border-radius:0 0 0.4em 0.4em; /* Firefox */
--webkit-border-radius:0 0 0.4em 0.4em; /* Safari, Chrome */
--khtml-border-radius:0 0 0.4em 0.4em; /* Konqueror */
-border-radius:0 0 0.4em 0.4em; /* CSS3 */
-behavior:url(border-radius.htc);
-border: thin solid #A1A1A1;
-
-}
-
-.tabcontent{
-display:none;
-}
-
-@media print {
-.tabcontent {
-display:block !important;
-}
-}
+/* ######### CSS for Shade Tabs. Remove if not using ######### */\r
+\r
+.shadetabs{\r
+padding: 3px 0;\r
+margin-left: 0;\r
+margin-top: 1px;\r
+margin-bottom: 0;\r
+font: bold 12px Verdana, sans-serif;\r
+list-style-type: none;\r
+text-align: left; /*set to left, center, or right to align the menu as desired*/\r
+}\r
+\r
+.shadetabs li{\r
+display: inline;\r
+margin: 0;\r
+}\r
+\r
+.shadetabs li a{\r
+text-decoration: none;\r
+position: relative;\r
+z-index: 1;\r
+padding: 3px 7px;\r
+margin-right: 3px;\r
+border: 1px solid #778;\r
+color: #2d2b2b;\r
+background: white url(../../image/shade.gif) top left repeat-x;\r
+}\r
+\r
+.shadetabs li a:visited{\r
+color: #2d2b2b;\r
+}\r
+\r
+.shadetabs li a:hover{\r
+text-decoration: underline;\r
+color: #2d2b2b;\r
+}\r
+\r
+.shadetabs li a.selected{ /*selected main tab style */\r
+position: relative;\r
+top: 1px;\r
+}\r
+\r
+.shadetabs li a.selected{ /*selected main tab style */\r
+background-image: url(../../image/shadeactive.gif);\r
+border-bottom-color: white;\r
+}\r
+\r
+.shadetabs li a.selected:hover{ /*selected main tab style */\r
+text-decoration: none;\r
+}\r
+\r
+.tabcontent{\r
+display:none;\r
+}\r
+\r
+@media print {\r
+.tabcontent {\r
+display:block !important;\r
+}\r
+}\r
+\r
+.tabcontent{\r
+display:none;\r
+}\r
+\r
+@media print {\r
+.tabcontent {\r
+display:block !important;\r
+}\r
+}\r
+\r
+.tabcontentstyle{ /*style of tab content oontainer*/\r
+border: 1px solid gray;\r
+width: 95%;\r
+margin-bottom: 1em;\r
+padding: 10px;\r
+}\r
+\r
+.tabcontent{\r
+display:none;\r
+}\r
+\r
+@media print {\r
+.tabcontent {\r
+display:block !important;\r
+}\r
+}\r
diff --git a/css/kivitendo/ui-lightness b/css/kivitendo/ui-lightness
deleted file mode 120000 (symlink)
index 9f2cad0..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../lx-office-erp/ui-lightness/
\ No newline at end of file
diff --git a/css/kivitendo/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png b/css/kivitendo/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png
new file mode 100644 (file)
index 0000000..954e22d
Binary files /dev/null and b/css/kivitendo/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png differ
diff --git a/css/kivitendo/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png b/css/kivitendo/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png
new file mode 100644 (file)
index 0000000..64ece57
Binary files /dev/null and b/css/kivitendo/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png differ
diff --git a/css/kivitendo/ui-lightness/images/ui-bg_flat_10_000000_40x100.png b/css/kivitendo/ui-lightness/images/ui-bg_flat_10_000000_40x100.png
new file mode 100644 (file)
index 0000000..abdc010
Binary files /dev/null and b/css/kivitendo/ui-lightness/images/ui-bg_flat_10_000000_40x100.png differ
diff --git a/css/kivitendo/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png b/css/kivitendo/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png
new file mode 100644 (file)
index 0000000..9b383f4
Binary files /dev/null and b/css/kivitendo/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png differ
diff --git a/css/kivitendo/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png b/css/kivitendo/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png
new file mode 100644 (file)
index 0000000..a23baad
Binary files /dev/null and b/css/kivitendo/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png differ
diff --git a/css/kivitendo/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png b/css/kivitendo/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png
new file mode 100644 (file)
index 0000000..42ccba2
Binary files /dev/null and b/css/kivitendo/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png differ
diff --git a/css/kivitendo/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png b/css/kivitendo/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png
new file mode 100644 (file)
index 0000000..39d5824
Binary files /dev/null and b/css/kivitendo/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png differ
diff --git a/css/kivitendo/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/css/kivitendo/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
new file mode 100644 (file)
index 0000000..f127367
Binary files /dev/null and b/css/kivitendo/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png differ
diff --git a/css/kivitendo/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png b/css/kivitendo/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
new file mode 100644 (file)
index 0000000..359397a
Binary files /dev/null and b/css/kivitendo/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png differ
diff --git a/css/kivitendo/ui-lightness/images/ui-icons_222222_256x240.png b/css/kivitendo/ui-lightness/images/ui-icons_222222_256x240.png
new file mode 100644 (file)
index 0000000..b273ff1
Binary files /dev/null and b/css/kivitendo/ui-lightness/images/ui-icons_222222_256x240.png differ
diff --git a/css/kivitendo/ui-lightness/images/ui-icons_228ef1_256x240.png b/css/kivitendo/ui-lightness/images/ui-icons_228ef1_256x240.png
new file mode 100644 (file)
index 0000000..a641a37
Binary files /dev/null and b/css/kivitendo/ui-lightness/images/ui-icons_228ef1_256x240.png differ
diff --git a/css/kivitendo/ui-lightness/images/ui-icons_ef8c08_256x240.png b/css/kivitendo/ui-lightness/images/ui-icons_ef8c08_256x240.png
new file mode 100644 (file)
index 0000000..85e63e9
Binary files /dev/null and b/css/kivitendo/ui-lightness/images/ui-icons_ef8c08_256x240.png differ
diff --git a/css/kivitendo/ui-lightness/images/ui-icons_ffd27a_256x240.png b/css/kivitendo/ui-lightness/images/ui-icons_ffd27a_256x240.png
new file mode 100644 (file)
index 0000000..e117eff
Binary files /dev/null and b/css/kivitendo/ui-lightness/images/ui-icons_ffd27a_256x240.png differ
diff --git a/css/kivitendo/ui-lightness/images/ui-icons_ffffff_256x240.png b/css/kivitendo/ui-lightness/images/ui-icons_ffffff_256x240.png
new file mode 100644 (file)
index 0000000..42f8f99
Binary files /dev/null and b/css/kivitendo/ui-lightness/images/ui-icons_ffffff_256x240.png differ
diff --git a/css/kivitendo/ui-lightness/jquery-ui-1.8.12.custom.css b/css/kivitendo/ui-lightness/jquery-ui-1.8.12.custom.css
new file mode 100644 (file)
index 0000000..3f7bf90
--- /dev/null
@@ -0,0 +1,578 @@
+/*
+ * jQuery UI CSS Framework 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+.ui-helper-clearfix { display: inline-block; }
+/* required comment for clearfix to work in Opera \*/
+* html .ui-helper-clearfix { height:1%; }
+.ui-helper-clearfix { display:block; }
+/* end clearfix */
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+
+
+/*
+ * jQuery UI CSS Framework 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ *
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
+ */
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; }
+.ui-widget .ui-widget { font-size: 1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; }
+.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; }
+.ui-widget-content a { color: #333333; }
+.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
+.ui-widget-header a { color: #ffffff; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; }
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; }
+.ui-widget :active { outline: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight  {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; }
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
+.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; }
+.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary,  .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
+.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
+.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
+.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; }
+.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-right {  -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); }
+.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/*
+ * jQuery UI Resizable 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Resizable#theming
+ */
+.ui-resizable { position: relative;}
+.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;
+       /* http://bugs.jqueryui.com/ticket/7233
+        - Resizable: resizable handles fail to work in IE if transparent and content overlaps
+       */
+       background-image:url(data:);
+}
+.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
+.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
+.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
+.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
+.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
+.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
+.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
+.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
+.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
+ * jQuery UI Selectable 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Selectable#theming
+ */
+.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
+/*
+ * jQuery UI Accordion 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Accordion#theming
+ */
+/* IE/Win - Fix animation bug - #4615 */
+.ui-accordion { width: 100%; }
+.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
+.ui-accordion .ui-accordion-li-fix { display: inline; }
+.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
+.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
+.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
+.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
+.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
+.ui-accordion .ui-accordion-content-active { display: block; }
+/*
+ * jQuery UI Autocomplete 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Autocomplete#theming
+ */
+.ui-autocomplete { position: absolute; cursor: default; }      
+
+/* workarounds */
+* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
+
+/*
+ * jQuery UI Menu 1.8.12
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Menu#theming
+ */
+.ui-menu {
+       list-style:none;
+       padding: 2px;
+       margin: 0;
+       display:block;
+       float: left;
+}
+.ui-menu .ui-menu {
+       margin-top: -3px;
+}
+.ui-menu .ui-menu-item {
+       margin:0;
+       padding: 0;
+       zoom: 1;
+       float: left;
+       clear: left;
+       width: 100%;
+}
+.ui-menu .ui-menu-item a {
+       text-decoration:none;
+       display:block;
+       padding:.2em .4em;
+       line-height:1.5;
+       zoom:1;
+}
+.ui-menu .ui-menu-item a.ui-state-hover,
+.ui-menu .ui-menu-item a.ui-state-active {
+       font-weight: normal;
+       margin: -1px;
+}
+/*
+ * jQuery UI Button 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Button#theming
+ */
+.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
+.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
+button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
+.ui-button-icons-only { width: 3.4em; } 
+button.ui-button-icons-only { width: 3.7em; } 
+
+/*button text element */
+.ui-button .ui-button-text { display: block; line-height: 1.4;  }
+.ui-button-text-only .ui-button-text { padding: .4em 1em; }
+.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
+.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
+.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
+.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
+/* no icon support for input elements, provide padding by default */
+input.ui-button { padding: .4em 1em; }
+
+/*button icon element(s) */
+.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
+.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
+.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
+.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+
+/*button sets*/
+.ui-buttonset { margin-right: 7px; }
+.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
+
+/* workarounds */
+button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
+/*
+ * jQuery UI Dialog 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Dialog#theming
+ */
+.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
+.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative;  }
+.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } 
+.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
+.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
+.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
+.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
+.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
+.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
+.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
+.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+.ui-draggable .ui-dialog-titlebar { cursor: move; }
+/*
+ * jQuery UI Slider 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Slider#theming
+ */
+.ui-slider { position: relative; text-align: left; }
+.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
+.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
+
+.ui-slider-horizontal { height: .8em; }
+.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
+.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
+.ui-slider-horizontal .ui-slider-range-min { left: 0; }
+.ui-slider-horizontal .ui-slider-range-max { right: 0; }
+
+.ui-slider-vertical { width: .8em; height: 100px; }
+.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
+.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
+.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
+.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
+ * jQuery UI Tabs 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Tabs#theming
+ */
+.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
+.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
+.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
+.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
+.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
+.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
+.ui-tabs .ui-tabs-hide { display: none !important; }
+/*
+ * jQuery UI Datepicker 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Datepicker#theming
+ */
+.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
+.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
+.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
+.ui-datepicker .ui-datepicker-prev { left:2px; }
+.ui-datepicker .ui-datepicker-next { right:2px; }
+.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
+.ui-datepicker .ui-datepicker-next-hover { right:1px; }
+.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px;  }
+.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
+.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
+.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
+.ui-datepicker select.ui-datepicker-month, 
+.ui-datepicker select.ui-datepicker-year { width: 49%;}
+.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0;  }
+.ui-datepicker td { border: 0; padding: 1px; }
+.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
+.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
+.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi { width:auto; }
+.ui-datepicker-multi .ui-datepicker-group { float:left; }
+.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
+.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
+.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
+.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
+.ui-datepicker-row-break { clear:both; width:100%; }
+
+/* RTL support */
+.ui-datepicker-rtl { direction: rtl; }
+.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+
+/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
+.ui-datepicker-cover {
+    display: none; /*sorry for IE5*/
+    display/**/: block; /*sorry for IE5*/
+    position: absolute; /*must have*/
+    z-index: -1; /*must have*/
+    filter: mask(); /*must have*/
+    top: -4px; /*must have*/
+    left: -4px; /*must have*/
+    width: 200px; /*must have*/
+    height: 200px; /*must have*/
+}/*
+ * jQuery UI Progressbar 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Progressbar#theming
+ */
+.ui-progressbar { height:2em; text-align: left; }
+.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
\ No newline at end of file
index c190cb7..3788c88 100644 (file)
@@ -259,6 +259,7 @@ div.admin {
 
 .listrow1 { background-color: rgb(208,207,201); color: black; vertical-align: top; }
 .listrow0 { background-color: rgb(236,233,216); color: black; vertical-align: top; }
+.listrowempty { background-color: rgb(255,255,255); color: black; vertical-align: top; }
 
 .redrow1 { background-color: rgb(250,167, 161); color: black; vertical-align: top; }
 .redrow0 { background-color: rgb(255,193,176); color: black; vertical-align: top; }
@@ -443,5 +444,3 @@ label {
   border-style:none;
   border-width:thin;
 }
-
-
index 469d9de..42eb844 100644 (file)
@@ -51,7 +51,7 @@ padding:1px 0 1px 3px;
 
 #menuv3 h2 {
 color:#fff;
-padding:0 5px;
+padding:2px 10px;
 }
 
 #menuv3 a, #menuv3 a:visited, #menuv3 div.x, #menuv3 div.x:visited {
@@ -63,7 +63,6 @@ padding-right:10px;
 #menuv3 a {
 background:#eee;
 }
-
 #menuv3 div.x, #menuv3 div.x:visited {
 background:#eee url(../../image/right.gif) no-repeat right;
 }
@@ -83,7 +82,6 @@ list-style:none;
 margin:0;
 padding:0;
 float:left;
-min-width:7em;
 }
 
 #menuv3 li {
@@ -119,7 +117,7 @@ display:none;
 
 #menuv3 ul ul ul {
 top:0;
-left:100%;
+left:90%;
 }
 
 /* Begin non-anchor hover selectors */
@@ -154,129 +152,6 @@ div#menuv3 li li li li:hover ul
 
 /* End of non-anchor hover selectors */
 
-#menuv4 {
-width:99.8%;
-float:left;
-background:url(../../image/bg_css_menu.png) repeat bottom;
-border:1px solid;
-border-color:#ccc #888 #555 #bbb;
-}
-
-#menuv4 a, #menuv4 h2, #menuv4 div.x {
-font:11px/16px arial,helvetica,sans-serif;
-display:block;
-border:0;
-border-right:1px;
-border-style:solid;
-border-color:#ccc #888 #555 #bbb;
-white-space:nowrap;
-margin:0;
-padding:1px 0 1px 3px;
-}
-
-#menuv4 h2 {
-color:#fff;
-padding:2px 10px;
-}
-
-#menuv4 a, #menuv4 a:visited, #menuv4 div.x, #menuv4 div.x:visited {
-color:#000;
-text-decoration:none;
-padding-right:10px;
-}
-
-#menuv4 a {
-background:#eee;
-}
-#menuv4 div.x, #menuv4 div.x:visited {
-background:#eee url(../../image/right.gif) no-repeat right;
-}
-
-#menuv4 a:hover, #menuv4 div.x:hover {
-color:#a00;
-background-color:#ddd;
-}
-
-#menuv4 a:active, #menuv4 div.x:active {
-color:#060;
-background-color:#ccc;
-}
-
-#menuv4 ul {
-list-style:none;
-margin:0;
-padding:0;
-float:left;
-}
-
-#menuv4 li {
-position:relative;
-float:none;
-border:0;
-}
-
-/* IE6 spacing bug fix, <li>s without a bottom border get spaced to far
- * correction: the bug will change the height of the parent element! this will also cause the whole menu to grow
- * so the only method to get this pile of crap going is to add a bottom border to the <li>s, where the enclosing <ul> already has
- * a bottom border, which just looks ugly
- * the trick: color the bottom border with the same color as the bottom pixel of the background image - noone notices */
-#menuv4 ul li {
-border:solid;
-border-color:#ccd5e5;
-border-width:0 0 1px 0;
-}
-
-#menuv4 ul ul li {
-border:solid;
-border-width:0 0 1px 0;
-}
-
-/* IE6 event bug fix, without a background there hovers will be occassionally lost between the li's to the layer below
- * causing the menu to close. Opera 9 has the same bug btw. */
-#menuv4 ul ul {
-position:absolute;
-z-index:500;
-top:auto;
-display:none;
-}
-
-#menuv4 ul ul ul {
-top:0;
-left:90%;
-}
-
-/* Begin non-anchor hover selectors */
-
-/* Enter the more specific element (div) selector
-on non-anchor hovers for IE5.x to comply with the
-older version of csshover.htc - V1.21.041022. It
-improves IE's performance speed to use the older
-file and this method */
-
-div#menuv4 h2:hover {
-background:#A3C5FF;
-color:#a00;
-}
-
-div#menuv4 li:hover {
-cursor:pointer;
-z-index:100;
-}
-
-div#menuv4 li:hover ul ul,
-div#menuv4 li li:hover ul ul,
-div#menuv4 li li li:hover ul ul,
-div#menuv4 li li li li:hover ul ul
-{display:none;}
-
-div#menuv4 li:hover ul,
-div#menuv4 li li:hover ul,
-div#menuv4 li li li:hover ul,
-div#menuv4 li li li li:hover ul
-{display:block;}
-
-/* End of non-anchor hover selectors */
-
 /* html menu */
 /* types of lines: m sm i (menu submenu item)
    each line is a mi (menuitem) and has one mii (menu-item-icon) whcih is ms (menu-spacer)
@@ -315,7 +190,7 @@ body { margin: 0 }
 
 
 @media print {
-  #menuv3, #menuv4, #html-menu, #frame-header, #js-menu {   /* items with this class won't print */
+  #menuv3, #html-menu, #frame-header, #main_menu_div, #js-header {   /* items with this class won't print */
     display: none;
   }
   #content.html-menu { margin-left: 0; }
index 73f7564..52164bc 100644 (file)
@@ -4,6 +4,45 @@ Wichtige Hinweise zum Upgrade von älteren Versionen
 
 ** BITTE FERTIGEN SIE VOR DEM UPGRADE EIN BACKUP IHRER DATENBANK(EN) AN! **
 
+
+Upgrade auf v3.0.0
+==================
+
+* Neue Abhängigkeiten
+
+  * Clone 1.16
+  * Email::MIME
+  * FCGI jetzt min Version 0.72
+  * Test::Harness 3.00
+  * IO::Socket::SSL
+  * Net::LDAP
+  * Net::SMTP::SSL  1.01
+  * Net::SSLGlue 1.01
+
+  Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
+
+  $ scripts/installation_check.pl -ro
+
+* Neue Entwicklerabhängigkeiten
+
+  * Test::Deep
+  * GD 2.00
+
+* Diverse umstrittene Features zum nicht standardkonformen Umgang mit gebuchten
+  Rechnungen sind jetzt standardmässig deaktiviert und müssen unter "System"
+  -> "Mandantenkonfiguration" aktiviert werden.
+
+* Die Übersetzungen "de_DE" und "fr" für die alternative deutsche Version und
+  französische Version respektive wurden entfernt. Es bleiben offiziell
+  unterstützte Übersetzungen in Deutsch ("de") und English ("en").
+
+* Dieses ist die letzte Version, die Perl-Versionen vor 5.10.1
+  unterstützen wird.  Ab dem nächsten Release werden Sprachkonstrukte
+  verwendet werden, die nicht mehr in 5.8 kompilieren, und Module, die
+  bis v5.10.1 zu den Coremodulen gehören, werden ab dann nicht mehr
+  als explizite Abhängigkeiten gelistet.
+
+
 Upgrade auf v2.7.0
 ==================
 
index 0087dad..b84d0dc 100644 (file)
@@ -1,11 +1,16 @@
-####################################
-# Veränderungen von Lx-Office ERP #
-###################################
+###############################
+# Veränderungen von kivitendo #
+###############################
 
-2012-03-01 - Release 2.7.1-unstable
+2012-11-12 - Release 3.0.0-beta1
 
 Größere neue Features:
 
+- kivitendo rebranding und Stylesheet
+  Der Name Lx-Office war irreführund und wenig einprägsam, und ist ausserdem
+  mit anderen Produktnamen kollidiert. Zur Einführung gibt es ein passdendes
+  Stylesheet in weiß/grün gehalten.
+
 - Mandantenkonfiguration
   Mit dem Recht "Administration (Für die Verwaltung der aktuellen Instanz aus
   einem Userlogin heraus)" gibt es nun den Menüpnunkt
@@ -24,7 +29,7 @@ Größere neue Features:
   Konfigurationsdatei werden bei einem Datenbank-Upgrade übernommen und können
   danach aus der Konfigurationsdatei gelöscht werden.
 
-- Automatischer DATEV Konsistenzcheck bei Buchungen.
+- Automatischer DATEV Konsistenzcheck bei Buchungen
   Es ist jetzt möglich Buchungen aus den fünf Hauptmasken Verkaufsrechnung,
   Einkaufsrechnung, Kreditorenbuchung, Debitorenbuchung und Dialogbuchen
   automatisch auf korrekten DATEV Export zu prüfen. Wenn ein Problem beim
@@ -32,10 +37,70 @@ Größere neue Features:
   konsistent bleibt und eine Fehlermeldung ausgegeben. Das Feature kann unter
   "System->Mandantenkonfiguration" angeschaltet werden.
 
-- Verkaufsbericht: Sortierung um Land, Warengruppen, Kundentyp, Verkäufer und
-  Monat erweitert, sowie benutzerdefinierte Variablen eingebunden.
-  Warengewicht kann angezeigt werden und damit eignet sich der Verkaufsbericht
-  auch als Grundlage für die Intrastat-Meldung.
+- Verkaufsbericht:
+  Sortierung um Land, Warengruppen, Kundentyp, Verkäufer und Monat erweitert,
+  sowie benutzerdefinierte Variablen eingebunden. Warengewicht kann angezeigt
+  werden und damit eignet sich der Verkaufsbericht auch als Grundlage für die
+  Intrastat-Meldung.
+
+- Verkaufspreisinformationen
+  In Warenstammdaten ist jetzt ein Überblick über die Verkaufshistorie des
+  Artikels verfügbar, in dem vergangene Preise gelistet sind.
+
+- Lieferplan
+  Im Verkauf ist ein neuer Bericht "Lieferplan" verfügbar, der zu liefernde
+  Artikel in Aufträgen listet, die nocht nicht in einem Lieferschein erfasst
+  sind.
+
+Kleinere neue Features und Detailverbesserungen:
+
+- neue xtCommerce Schnittstelle
+  Die Schnittstelle wurde auf Basis der PepperShop Schnittstelle neu gebaut
+
+- Benutzerdefinierte Variablen sind jetzt in Ansprechpartnern verfügbar
+
+- Mailversand über SMTP
+  Es ist jetzt möglich statt einem sendmail kompatiblen Mailer ein SMTP Konto
+  anzugeben, an das Mails versendet werden.
+
+- Taskserver Steuerung
+  Es ist jetzt möglich den Taskserver aus der Weboberfläche zu steuern. Im Menü
+  unter "System" -> "Hintergrund-Jobs und Task-Server"
+
+API-Änderungen:
+
+- Benutzerdefinierte Variablen vom Typ "Lieferant" und "Ware"
+  Für die Auswahl in den webpages steht ein L.vendor_selector und
+  ein L.part_selector zur Verfügung, der einfach das select_tag verwendet.
+  Diese selectoren können/sollen später durch picker ersetzt werden.
+  Die Details werden sich wahrscheinlich noch ändern.
+
+- Die Funktion L.options_for_select wurde entfernt und in L.select_tag integriert
+  Siehe Doku in SL::Template::Plguns::L
+
+- Die Engine beherrscht jetzt Layouts
+  Das Layout wurde von Frames mit einem Contentframe auf ein Layout umgestellt, bei
+  dem die Menüelemente im Request eingepflegt werden. Siehe SL::Layout für Details.
+
+- Printtemplates
+  Wenn in einem <%if var%> die variable eine Referenz auf ein Array ist, wird
+  genau dann wahr zurückgegeben, wenn das Array nicht leer ist.
+
+Entfernte Features:
+
+- Die französische Programmübersetzung wurde entfernt, weil sie nicht gepflegt wurde.
+
+- Die deutsche Programmübersetzung "de_DE" wurde entfernt.
+
+- Die Supportstrukturen für Debian Pakete wurden entfernt.
+  Es wurde auf dem Bugsprint entschieden, dass Support von Debian Paketen zu
+  komplex ist, und eine Einfachheit suggeriert, die wir nicht erfüllen können.
+
+Zukünftig zu entfernende Features:
+
+- Die Unterstützung für perl Versionen vor 5.10.1 wird entfernt werden.
+  Insbesondere ist dies das letzte geplante Release mit Unterstützung für perl
+  5.8.x und 5.10.0.
 
 Experimentelle Features:
 
@@ -49,11 +114,114 @@ Experimentelle Features:
   Zur Demonstration gibt es einen Selbsttest Transactions, der die Datenbank
   auf Fehlbuchungen untersucht.
 
-- Es ist möglich benutzerdefinierte Variablen vom Typ "Lieferant" und "Ware"
-  anzulegen. Für die Auswahl in den webpages steht ein L.vendor_selector und
-  ein L.part_selector zur Verfügung, der einfach das select_tag verwendet.
-  Diese selectoren können/sollen später durch picker ersetzt werden.
-  Die Details werden sich wahrscheinlich noch ändern.
+Liste gefixter Bugs us dem Bugtracker
+
+  - Bugfix #456: Preisgruppen werden nicht richtig gespeichert
+  - Bugfix #798: Cursor-Positions-Fix
+  - Bugfix #1692: Gelöschter Auftrag erscheint bei Auflisten des entsprechenden Lieferscheins erneut
+  - Bugfix #1697: Produktivität -> Wiedervorlage erstellen -> Speichern -> Übersicht (?)
+  - Bugfix #1814: Bei Gutschrift buchen erhält man die Statusmeldung "Rechnung XXX gebucht"
+  - Bugfix #1819: CVar Auswahl funktioniert nicht mit leading/trailing whitespace
+  - Bugfix #1828: Erzeugen neuer Preisgruppen muendet in Fehler
+  - Bugfix #1829: Lieferanten zu Dienstleistungen werden nicht gespeichert
+  - Bugfix #1834: Buchungsliste - Bilanzspalte
+  - Bugfix #1837: Lieferant auf ungültig setzen, verfälscht Kreditorenbuchungsmaske (mulitbox <-> obsolete?)
+  - Bugfix #1840: Für Auswahl "Drucker" bzw. "Warteschlange" müssen Latex-Vorlagen zwingend aktiviert sein
+  - Bugfix #1841: falsche Finanzamtnummern
+  - Bugfix #1842: Offene Posten Alterstrukturliste prüft nur auf tagesaktuellem Datum
+  - Bugfix #1849: Buttons "Loeschen" und "Buchen" bei frischen Rechnungen verschwindet nach "Erneuern"
+  - Bugfix #1851: Spaltenueberschriften Export auf Import abgleichen
+  - Bugfix #1853: Administrationsoberflaeche - aktive User anzeigen
+  - Bugfix #1858: Debitorenbuchung: Bereits beschriebenes Kommentarfeld wird bei Kundenwechsel geloescht
+  - Bugfix #1859: Nicht gespeichertes Angebot/Auftrag/Rechnung... -> Drucken -> "Keine Aktion definiert"
+  - Bugfix #1861: Umlaute in Rechnungen fehlerhaft bei <%employee..%>
+  - Bugfix #1863: report_generator parst bei dateiausgabe keine Leerzeichen
+  - Bugfix #1865: templatesystem $form{'tmpfile'} und chdir
+  - Bugfix #1866: Menüs und neues CSS
+  - Bugfix #1867: Debitorenbuchung erfassen nicht möglich
+  - Bugfix #1868: Debitorenbuchung: Kundendetails werden nicht angezeigt
+  - Bugfix #1869: Artikel: Inkonsistente Zustände bzgl. eindeutige Artikelnummern (war: Dienstleistung: neuer Preis lässt sich nicht speichern)
+  - Bugfix #1871: Datumsformat dd-mm-yy verursacht Fehler in Rose::DB::Object
+  - Bugfix #1872: CSVImport verliert die erste Spalte, wenn die Importdatei UTF8 mit BOM ist
+  - Bugfix #1873: Preise zu Preisgruppen werden nicht mehr korrekt gespeichert
+  - Bugfix #1877: Installations Check preuft nicht gegen Net::LDAP
+  - Bugfix #1878: Programm Icon kivitendo
+  - Bugfix #1886: doppelte Leerzeichen im Lieferantenname werden in Auswahlliste für Kreditorenbuchung nicht richtig geparst
+  - Bugfix #1889: Fälligkeitsdatum aus Rechnungsdatum
+  - Bugfix #1890: Kontenabgleich: Spaltenüberschrift vertauscht
+  - Bugfix #1892: Nach Update Can't use string ("Form") as a HASH....
+  - Bugfix #1893: Falscher Bezug bei Kontoliste
+  - Bugfix #1894: Stammdaten - Berichte - Kunden: Auswahl Rechnungen, Aufträge, Angebote wirkt als Filter
+  - Bugfix #1895: Negative Beträge bei Zahlungseingang für Gutschriften
+  - Bugfix #1900: Warenbericht: Projekt in Bericht aufnhemen ergibt SQL-Fehler
+  - Bugfix #1901: Warenimport (csv): Bei Update werden make_X etc nicht beruecksichtigt
+  - Bugfix #1904: Fehler bei Artikelmenge über 999999
+  - Bugfix #1907: CSV-Import: Projekte
+  - Bugfix #1921: JS-Menü unterscheidet nicht Links- vs Mittel-Klick
+  - Bugfix #1922: Link "Springe zu Rechnungsadresse" macht so keinen Sinn
+  - Bugfix #1924: CSV-Import Kunde mit benutzerdefinierter Variable geht nur "halb"
+  - Bugfix #1926: Zufälliger Dateiname für PDF Spooldateien
+  - Bugfix #1930: Bearbeitung eines bestehenden Buchungsbeleges: Enter loest Storno aus
+  - Bugfix #1931: Bericht Ansprechpartner lässt Straße auswählen/anzeigen, das Feld existiert aber nicht
+  - Bugfix #1934: Umstellung von keine Währung auf Währung
+  - Bugfix #1936: Autom. Update des Faelligkeitsdatums bei Kreditorenbuchungen funktioniert nicht zuverlaessig
+  - Bugfix #1939: Kreditorenbuchungen: Projektnummer wird nicht autom. in Zeilen uebernommen
+  - Bugfix #1940: Sprung von Wiedervorlage zu Kreditorenbuchung in Kreditorenbuchung funktioniert nicht
+  - Bugfix #1942: Dialogbuchen: Datumsaenderung innerhalb des Erstellungstages nicht moeglich
+  - Bugfix #1949: Falsche Zuordnung Verkäufer/-in bei Kunden-Stammdaten
+  - Bugfix #1945: Aufbereitung USTVA falsch in 2.7.0
+  - Bugfix #1950: Abteilung wird aus ausgelagerten Lieferscheinen nicht in Rechnung übernommen.
+  - Bugfix #1952: Lieferscheine werden nicht nach Abteilung gefiltert
+  - Bugfix #1954: CSV-Import benutzerdef. Variablen mit Großbuchstaben geht nicht
+  - Bugfix #1956: Erzeugnis-Anzeigefehler nach Einzelkomponentenbearbeitung
+  - Bugfix #1959: Lieferdatum verschwindet bei "Workflow Auftrag -> als neu speichern"
+  - Bugfix #1960: Bei CSV-Import wird listprice mit 0 überschrieben
+  - Bugfix #1961: Stammdaten-EK wird bei Eingangsrechnung bei Einheitenumrechnung im Beleg
+  - Bugfix #1964: CsvImport::Parts prüft Duplikate inkonsistent
+  - Bugfix #1965: CsvImport::Parts - Es fehlt eine Option Artiekl mit existierender Nummer zu überspringen
+  - Bugfix #1967: Doc: SL::SessionFile POD ist outdated
+  - Bugfix #1969: oe.reqdate Funktion uneindeutig
+  - Bugfix #1972: CSV-Kundenimport berücksichtigt kundentyp-Spezifischen Nummernkreis nicht
+  - Bugfix #1973: CSS-Menue: Aufklappen ueber aktuell offenen Zweig verhindert Zugriff auf Menuepunkte
+  - Bugfix #1975: SKR03: Gewährte Skonti (8731, 8735) sollten Erlös- statt Aufwandskonten sein
+  - Bugfix #1976: BWA: Übrige Steuern (19) gehören nicht auf Gesamtkosten sondern auf neutralen Aufwand
+  - Bugfix #1978: Keine CVars beim Export von Projekten
+  - Bugfix #1979: BWA: Neutraler Ertrag wird nicht angezeigt
+  - Bugfix #1981: Wiedervorlagen fuer Lieferscheine
+  - Bugfix #1982: Form::format_amount ist für sehr kleine Zahlen bei hoher Präzision kaputt
+  - Bugfix #1983: Einlagern mit anderer Einheit benutzt Grundeinheit
+  - Bugfix #1985: Stammdateneinstellung um immer Bruttorechnungen auszustellen fehlt (Checkbox "Steuer im Preis inbegriffen" als Default setzen)
+  - Bugfix #1987: lxerp_auth wird nach Inst. nicht erstellt
+  - Bugfix #1999: Gewählte Einheit wird nicht übernommen beim Erneuern
+  - Bugfix #2000: Fehler beim Aufrufen bestehender/alter Lieferscheine aus Berichten
+  - Bugfix #2002: In Lieferscheinen werden die Mitarbeiter-IDs statt namen nun angezeigt
+  - Bugfix #2004: Berichte - Dienstleistungen: Bericht zeigt auch uneditierbare Felder
+  - Bugfix #2008: Lieferdatum in Gutschrift / Umsatzsteuererhöhung
+  - Bugfix #2009: Falsche Menge bei Lager»Erzeugnis fertigen
+  - Bugfix #2015: Zahlungsbedingungen lassen sich nicht mehr ändern
+  - Bugfix #2016: Benutzerdefinierte Variablen/Ansprechpersonen werden nicht gespeichert
+  - Bugfix #2018: Lieferplan nicht vollständig
+  - Bugfix #2020: Ansprechpartner wird gelöscht, wenn Eingabetaste gedrückt
+  - Bugfix #2021: Geburtstags Datum als Datumsfeld
+  - Bugfix #2025: Kein Datepicker im Wiedervorlagen-Popup
+  - Bugfix #2027: Menüvariante "Oben (mit CSS, neu)" (v4) seit Abschaffung der Frames kaputt
+  - Bugfix #2028: Seit No Frames gibt es kein HTML-Menü (Links) mehr bei einigen Masken
+  - Bugfix #2030: Unverständliche Fehlermeldung
+  - Bugfix #2031: Anlegen der Tabellen zur Benutzerauthentifizierung: Hinweis auf lx_office.conf ersetzen
+  - Bugfix #2035: Probleme mit Zeichenkodierung beim Mailversand
+  - Bugfix #2038: Unroutable request -- inavlid controller/action. nach Datenbankaktualisierung des Mandanten
+  - Bugfix #2039: No-Frames bedeutet f. HTML-Druckvorlagen immer das Menü mitzudrucken
+  - Bugfix #2041: 'Konto schon vorhanden' beim Speichern eines bestehenden Kontos nach Änderung
+  - Bugfix #2044: fehlender Benutzername bei Menue CSS (v4)
+  - Bugfix #2048: Menu verschwindet
+  - Bugfix #2049: Vorlagen-Templates aufraeumen
+  - Bugfix #2053: Link zur Dokumentation ins Menü einbauen
+  - Bugfix #2054: oberster Auftrag wird ignoriert bei Mehrfachauswahl zum Zusammenfassen von Aufträgen
+  - Bugfix #2055: Zusammenfassen von Aufträgen wirft Fehlermeldung
+  - Bugfix #2056: Stark abweichende Optik des Verkaufsberichtes
+  - Bugfix #2059: Falsches Icon im Programm-Menü
+  - Bugfix #2060: Sprache hinzufügen schlägt fehl
+  - Bugfix #2061: Fehler im Menü Programm bei Menü-Varianten "oben mit css" und "oben mit css neu"
 
 
 2012-03-01 - Release 2.7.0
index 4208d84..76a569c 100644 (file)
         <para>im kivitendo-Forum: <ulink
         url="https://forum.kivitendo.org/">https://forum.kivitendo.org/</ulink></para>
       </listitem>
-
-      <listitem>
-        <para>im alten Lx-Office-Wiki unter Dokumentation (<ulink
-        url="http://wiki.lx-office.org/index.php?title=Installation_Lx-Office_ERP">http://wiki.lx-office.org/index.php?title=Installation_Lx-Office_ERP</ulink>)</para>
-      </listitem>
     </itemizedlist>
   </chapter>
 
   <chapter id="config">
     <title>Installation und Grundkonfiguration</title>
 
+    <sect1 id="Installation-Übersicht">
+      <title>Übersicht</title>
+
+      <para>
+        Die Installation von kivitendo umfasst mehrere Schritte. Die folgende Liste kann sowohl für Neulinge als auch für alte Hasen als
+        Übersicht und Stichpunktliste zum Abhaken dienen, um eine Version mit minimalen Features möglichst schnell zum Laufen zu kriegen.
+      </para>
+
+      <orderedlist>
+        <listitem><para><emphasis>Voraussetzungen überprüfen</emphasis>: kivitendo benötigt gewisse Ressourcen und benutzt weitere
+        Programme. Das Kapitel "<xref linkend="Benötigte-Software-und-Pakete"/>" erläutert diese. Auch die Liste der benötigten Perl-Module
+        befindet sich hier.</para></listitem>
+
+        <listitem><para><emphasis>Installation von kivitendo</emphasis>: Diese umfasst die "<xref
+        linkend="Manuelle-Installation-des-Programmpaketes"/>" sowie grundlegende Einstellungen, die der "<xref
+        linkend="config.config-file"/>" erläutert.</para></listitem>
+
+        <listitem><para><emphasis>Konfiguration externer Programme</emphasis>: hierzu gehören die Datenbank ("<xref
+        linkend="Anpassung-der-PostgreSQL-Konfiguration"/>") und der Webserver ("<xref
+        linkend="Apache-Konfiguration"/>"). </para></listitem>
+
+        <listitem><para><emphasis>Benutzerinformationen speichern können</emphasis>: man benötigt mindestens eine Datenbank, in der
+        Informationen zur Authentifizierung sowie die Nutzdaten gespeichert werden. Wie man das als Administrator macht, verrät "<xref
+        linkend="Benutzerauthentifizierung-und-Administratorpasswort"/>".</para></listitem>
+
+        <listitem><para><emphasis>Benutzer, Gruppen und Datenbanken anlegen</emphasis>: wie dies alles zusammenspielt erläutert "<xref
+        linkend="Benutzer--und-Gruppenverwaltung"/>".</para></listitem>
+
+        <listitem><para><emphasis>Los geht's</emphasis>: alles soweit erledigt? Dann kann es losgehen: "<xref
+        linkend="kivitendo-ERP-verwenden"/>"</para></listitem>
+      </orderedlist>
+
+      <para>
+        Alle weiteren Unterkapitel in diesem Kapitel sind ebenfalls wichtig und dienen sollten vor einer ernsthaften Inbetriebnahme gelesen
+        werden.
+      </para>
+    </sect1>
+
     <sect1 id="Benötigte-Software-und-Pakete">
       <title>Benötigte Software und Pakete</title>
 
         dass kivitendo auf ihnen läuft:</para>
 
         <itemizedlist>
+
           <listitem>
-            <para>Ubuntu 10.04 LTS Lucid Lynx bis 12.10 Oneiric Ocelot</para>
+            <para>Debian</para>
+            <itemizedlist>
+               <listitem>
+                 <para>6.0 Squeeze (hier muss allerdings das Modul FCGI in der Version >= 0.72 compiled werden)</para>
+               </listitem>
+               <listitem>
+                 <para>7.0 Wheezy</para>
+               </listitem>
+            </itemizedlist>
           </listitem>
 
           <listitem>
-            <para>Debian 5.0 Lenny und 6.0 Squeeze</para>
+            <para>Ubuntu 10.04 LTS Lucid Lynx bis 12.10 Oneiric Ocelot</para>
           </listitem>
 
           <listitem>
         nicht Bestandteil einer Standard-Perl-Installation sind:</para>
 
         <itemizedlist>
-          <listitem><para><literal>parent</literal></para></listitem>
+          <listitem><para><literal>parent</literal> (nur bei Perl vor 5.10.1)</para></listitem>
 
           <listitem><para><literal>Archive::Zip</literal></para></listitem>
 
 
         <para>Für Debian oder Ubuntu benötigen Sie diese Pakete:</para>
 
-        <programlisting>apt-get install apache2 postgresql libparent-perl libarchive-zip-perl \
+        <programlisting>apt-get install apache2 postgresql libarchive-zip-perl \
   libdatetime-perl libdbi-perl libdbd-pg-perl libpg-perl \
   libemail-address-perl libemail-mime-perl liblist-moreutils-perl libpdf-api2-perl \
   librose-object-perl librose-db-perl librose-db-object-perl \
@@ -363,7 +405,7 @@ dbcharset = UTF-8</programlisting>
        eingreifen</para>
 
         <para>Dieses kann überprüft werden: ist das Encoding der Datenbank
-       “template1” “UTF8”, so braucht man nichts weiteres diesbezueglich
+       “template1” “UTF8”, so braucht man nichts weiteres diesbezüglich
        unternehmen. Zum Testen:
 
         <programlisting>su postgres
@@ -438,6 +480,9 @@ psql template1</programlisting>
         anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen
         können:</para>
 
+       <para>Die Frage, ob der neue User Superuser sein soll, können Sie mit nein
+       beantworten, genauso ist die Berechtigung neue User (Roles) zu
+       generieren nicht nötig.</para>
              <programlisting>su - postgres
 createuser -d -P kivitendo
 exit</programlisting>
@@ -558,7 +603,7 @@ Alias /kivitendo-erp/ /var/www/kiviteno-erp/
             bestimmte Eingaben von kivitendo. Falls es Probleme mit Umlauten in Ihrere Installation gibt, muss zwingend Version 0.68 oder
             aber Version 0.72 und neuer eingesetzt werden.</para>
 
-            <para>Mit CPAN lässt sie sich die Vorgängerversion wie folgt
+            <para>Mit <ulink url="http://www.cpan.org">CPAN</ulink> lässt sie sich die Vorgängerversion wie folgt
             installieren:</para>
 
             <programlisting>force install M/MS/MSTROUT/FCGI-0.68.tar.gz</programlisting>
@@ -1305,49 +1350,279 @@ insserv kivitendo-task-server</programlisting>
     <sect1 id="Drucken-mit-kivitendo">
       <title>Drucken mit kivitendo</title>
 
-      <para>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 <literal>texlive</literal> Installation. Unter
-      Debianoiden Betriebssystemen sind das die Pakete:</para>
+      <para>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 <literal>texlive</literal> Installation. Unter Debianoiden Betriebssystemen installiert man
+      die Pakete mit:</para>
 
-      <para><literal>texlive-latex-base texlive-latex-extra
-      texlive-fonts-recommended</literal></para>
+      <para><programlisting>aptitude install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \
+  texlive-latex-extra texlive-lang-german texlive-generic-extra</programlisting></para>
 
-      <para>Diese hinteren beiden enthalten Bibliotheken und Schriftarten die
-      von den Standardvorlagen verwendet werden.</para>
+      <para>TODO: RPM-Pakete.</para>
 
-      <para>TODO: rpm Pakete.</para>
+      <para>kivitendo bringt drei alternative Vorlagensätze mit:</para>
+      <itemizedlist>
+        <listitem><para>Standard</para></listitem>
+        <listitem><para>f-tex</para></listitem>
+        <listitem><para>RB</para></listitem>
+      </itemizedlist>
 
-      <para>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
-      die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler sind zum
-      Beispiel:</para>
+      <sect2 id="Vorlagenverzeichnis-anlegen" xreflabel="Vorlagenverzeichnis anlegen">
+        <title>Vorlagenverzeichnis anlegen</title>
+        <para>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 <guimenu>Benutzerverwaltung</guimenu> auf.</para>
 
-      <itemizedlist>
-        <listitem>
-          <para>! LaTeX Error: File `eurosym.sty' not found. Die entsprechende
-          LaTeX-Bibliothek wurde nicht gefunden. Das tritt vor allem bei
-          Vorlagen aus der Community auf. Installieren Sie die entsprechenden
-          Pakete.</para>
-        </listitem>
+        <para>Wählen Sie dort einen Benutzer aus oder legen Sie einen neuen an. In der Benutzerbearbeiten-Maske müssen Sie zwei Dinge
+        angeben:</para>
 
-        <listitem>
-          <para>! Package inputenc Error: Unicode char \u8:æ¡\9c not set up for
-          use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
-          einer Standardinstallation exotische utf8 Zeichen zu drucken.
-          TeXLive unterstützt von Haus nur romanische Schriften und muss mit
-          diversen Tricks dazu gebracht werden andere Zeichen zu akzeptieren.
-          Adere TeX Systeme wie XeTeX schaffen hier Abhilfe.</para>
-        </listitem>
-      </itemizedlist>
+        <orderedlist>
+          <listitem><para><option>Name</option>: Der Verzeichnisname für den neuen Vorlagensatz. Dieser kann im Rahmen der üblichen
+          Bedingungen für Verzeichnisnamen frei gewählt werden.</para></listitem>
+          <listitem><para><option>Vorlagen auswählen</option>: Wählen Sie hier den Vorlagensatz aus, der kopiert werden soll
+          (<filename>Standard</filename>, <filename>f-tex</filename> oder <filename>RB</filename>.)</para></listitem>
+        </orderedlist>
+
+        <para>Der gleiche Vorlagensatz kann, wenn er mal angelegt ist, bei mehreren Benutzern verwendet werden.</para>
+
+        <para>Die Abhängigkeiten kann man prüfen mit:</para>
+
+        <programlisting>/scripts/installation_check.pl -l</programlisting>
+
+      </sect2>
+      <sect2 id="Vorlagen-Standard">
+        <title>Standard</title>
+
+        <para>Der Standard-Vorlagensatz von Kivitendo. Wie unter <ulink url="http://demo.kivitendo.org">http://demo.kivitendo.org</ulink> zu
+        sehen.</para>
+
+      </sect2>
+
+      <sect2 id="f-tex">
+        <title>f-tex</title>
+
+        <para>Ein Vorlagensatz, der in wenigen Minuten alle Dokumente zur Verfügung stellt.</para>
+
+        <sect3 id="f-tex-Feature-Übersicht">
+          <title>Feature-Übersicht</title>
+          <itemizedlist>
+            <listitem><para>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..</para></listitem>
+
+            <listitem><para>Leichte Anpassung an das Firmen-Layout durch verwendung eines Hintergrund-PDF. Dieses kann leicht mit dem
+            eigenen Lieblingsprogramm erstellt werden (Openoffice, Inkscape, Gimp, Adobe*)</para></listitem>
+
+            <listitem><para>Hintergrund-PDF umschaltbar auf "nur erste Seite" (Standard) oder "alle Seiten" (Option
+            "<option>bgPdfFirstPageOnly</option>" in Datei <filename>letter.lco</filename>)</para></listitem>
+
+            <listitem><para>Hintergrund-PDF für Ausdruck auf bereits bedrucktem Briefpapier abschaltbar. Es wird dann nur bei per E-Mail
+            versendeten Dokumenten eingebunden (Option "<option>bgPdfEmailOnly</option>" in Datei
+            <filename>letter.lco</filename>).</para></listitem>
+
+            <listitem><para>Nutzung der Layout-Funktionen von LaTeX für Seitenumbruch, Wiederholung von Kopfzeilen, Zwischensummen
+            etc. (danke an Kai-Martin Knaak für die Vorarbeit)</para></listitem>
+
+            <listitem><para>Anzeige des Empfängerlandes im Adressfeld nur, wenn es vom Land des eigenen Unternehmens abweicht (also die
+            Rechnung das Land verlässt).</para></listitem>
+
+            <listitem><para>Multisprachfähig leicht um weitere Sprachen zu erweitern, alle Übersetzungen in der Datei
+            <filename>translatinos.tex</filename>.</para></listitem>
+
+            <listitem><para>Auflistung von Bruttopreisen für Endverbraucher.</para></listitem>
+          </itemizedlist>
+        </sect3>
+
+        <sect3 id="f-tex-Installation">
+          <title>Die Installation</title>
+          <itemizedlist>
+            <listitem><para>Vorlagenverzeichnis mit Option f-tex anlegen, siehe: <xref linkend="Vorlagenverzeichnis-anlegen"/>. Das
+            Vorlagensystem funktioniert jetzt schon, hat allerdings noch einen Beispiel-Briefkopf.</para></listitem>
+
+            <listitem><para>Erstelle eine pdf-Hintergrund Datei und verlinke sie nach <filename>./letter_head.pdf</filename>.</para></listitem>
+            <listitem><para>Editiere den Bereich "<option>settings</option>" in der datei <filename>letter.lco</filename>.</para></listitem>
+          </itemizedlist>
+
+          <para>oder etwas Detaillierter:</para>
+
+          <para>
+            Es wird eine Datei <filename>sample.lco</filename> erstellt und diese nach <filename>letter.lco</filename> 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 <filename>sample.lco</filename> unverändert zu lassen. Die die Anpassung über eine
+            <filename>*.lco</filename>-Datei die letztlich auf <filename>letter.lco</filename> verlinkt ist ist aber auch möglich.
+          </para>
+
+          <para>
+            Es wird eine Datei <filename>sample_head.pdf</filename> mit ausgeliefert, diese wird nach <filename>letter_head.pdf</filename>
+            verlinkt. Damit gibt es schon mal eine Funktionsfähige Vorlage. Schau Dir nach Abschluss der Installation die Datei
+            <filename>sample_haed.pdf</filename> an und erstelle ein entsprechendes PDF passend zum Briefkopf Deiner Firma, diese dann im
+            Template Verzeichniss ablegen und statt <filename>sample_head.pdf</filename> nach <filename>letter_head.pdf</filename>
+            verlinken.
+          </para>
+
+          <para>
+            letzlich muss <filename>letter_head.pdf</filename> auf das passende Hintergrund-PDF verweisen, welches gewünschten Briefkopf
+            enthält. Bei Updates oder nach erneutem
+          </para>
+
+          <para>
+            Es wird eine Datei <filename>mydata.tex.example</filename> ausgeliefert, die nach <filename>mytdata.tex</filename> 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).
+          </para>
+          <para>
+            Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc.  sollten über die Hintergrund-PDF-Datei oder die
+            <filename>*.lco</filename>-Datei erfolgen.
+          </para>
+        </sect3>
+
+        <sect3 id="f-tex-Funktionsübersicht">
+          <title>f-tex Funktionsübersicht</title>
+          <para>
+            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
+            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.
+          </para>
+
+          <itemizedlist>
+            <listitem><para>Tabellen mit oder ohne Preis</para></listitem>
+            <listitem><para>Sprache der Tabellenüberschriften etc.</para></listitem>
+            <listitem><para>Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus Angebotsnummer)</para></listitem>
+            <listitem><para>Darstellung von Brutto oder Netto-Preisen in der Auflistung (Endverbraucher versus Gewerblicher
+            Kunde)</para></listitem>
+           </itemizedlist>
+
+           <para>Nachteil:</para>
+
+           <para>
+             LaTeX hat ohnehin eine sehr steile Lehrnkurve. Die Datei <filename>letter.tex</filename> 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.
+           </para>
+
+           <para>Wer nicht so tief in die Materie einsteigen will oder leicht zu frustrieren ist, sollte sein Hintergrund PDF auf Basis der
+           mitglieferten Datei <filename>sample_head.pdf</filename> erstellen, und sich an der Form der dargestellten Tabellen wie sie
+           ausgeliefert werden, erfreuen.
+           </para>
+
+           <para>Kleiner Tipp: Nicht zu viel auf einmal wollen, lieber kleine kontinuierliche Schritte gehen.</para>
+
+        </sect3>
+
+        <sect3 id="f-tex-Bruttopreise">
+          <title>Bruttopreise für Endverbraucher</title>
+
+                <para>Der auszuweisende Bruttopreis wird innerhalb der LaTeX-Umgebung berechnet. Es gibt zwar ein Feld, um bei Aufträgen "alle
+                Preise Brutto" auszuwählen, aber:</para>
+          <itemizedlist>
+            <listitem>
+              <para>hierfür müssen die Preise auch in Brutto in der Datenbank stehen (ja - das lässt sich über die Preisgruppen und die
+              Zuordung einer Default-Preisgruppe handhaben)</para>
+            </listitem>
+            <listitem>
+              <para>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)</para>
+            </listitem>
+          </itemizedlist>
 
-      <para>Wird garkein Fehler angezeigt sondern nur der Name des Templates,
-      heißt das normalerweise, dass das LaTeX Binary nicht gefunden wurde.
-      Prüfen Sie den Namen in der Konfiguration (Standard:
-      <literal>pdflatex</literal>), und stellen Sie sicher, dass pdflatex
-      (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden
-      darf.</para>
+          <para>
+            Es gibt mit f-tex eine weitere Alternative. Die Information ob Brutto oder Nettorechnung wird mit den Zahlarten
+            verknüpft. Zahlarten bei denen Rechnungen, Angebote, etc, in Brutto ausgegeben werden sollen, enden mit "_E" (für
+            Endverbraucher). Falls identische Zahlarten für Gewerbekunden und Endverbraucher vorhanden sind, legt man diese einfach doppelt
+            an (einmal mit der Namensendung "_E"). Gewinn:</para>
+
+          <itemizedlist>
+            <listitem><para>Die Entscheidung, ob Netopreise ausgewiesen werden, ist nicht mehr fix mit einer Preisliste Verbunden.</para></listitem>
+            <listitem><para>Die Default-Zahlart kann im Kundendatensatz hinterlegt werden, und man muss nicht mehr daran denken, "alle Preise
+            Netto" auszuwählen.</para></listitem>
+            <listitem><para>Die Entscheidung, ob Netto- oder Bruttopreise ausgewiesen werden, kann direkt beim Drucken reviediert werden,
+            ohne dass sich der Auftragswert ändert.</para></listitem>
+          </itemizedlist>
+        </sect3>
+
+        <sect3 id="f-tex-lieferadressen">
+          <title>Lieferadressen</title>
+
+          <para>In Lieferscheinen kommen <varname>shipto*</varname>-Variablen im Adressfeld zum Einsatz. Wenn die
+          <varname>shipto*</varname>-Variable leer ist, wird die entsprechende Adressvariable eingesetzt.  Wenn also die Lieferadresse in
+          Straße, Hausnummer und Ort abweicht, müssen auch nur diese Felder in der Lieferadresse ausgefüllt werden. Für den Firmenname wird
+          der Wert der Hauptadresse angezeigt.
+          </para>
+        </sect3>
+      </sect2>
+
+      <sect2 id="Vorlagen-RB">
+        <title>RB</title>
+
+        <para>Vollständiger Dokumentensatz mit alternativem Design</para>
+
+      </sect2>
+
+      <sect2 id="allgemeine-hinweise-zu-latex">
+        <title>Allgemeine Hinweise zu LaTeX Vorlagen</title>
+        <para>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
+        die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler sind zum
+        Beispiel:</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>! LaTeX Error: File `eurosym.sty' not found. Die entsprechende
+            LaTeX-Bibliothek wurde nicht gefunden. Das tritt vor allem bei
+            Vorlagen aus der Community auf. Installieren Sie die entsprechenden
+            Pakete.</para>
+          </listitem>
+          <listitem>
+            <para>! Package inputenc Error: Unicode char \u8:... set up for
+            use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
+            einer Standardinstallation exotische utf8 Zeichen zu drucken.
+            TeXLive unterstützt von Haus nur romanische Schriften und muss mit
+            diversen Tricks dazu gebracht werden andere Zeichen zu akzeptieren.
+            Adere TeX Systeme wie XeTeX schaffen hier Abhilfe.</para>
+          </listitem>
+        </itemizedlist>
+
+        <para>Wird garkein Fehler angezeigt sondern nur der Name des Templates,
+        heißt das normalerweise, dass das LaTeX Binary nicht gefunden wurde.
+        Prüfen Sie den Namen in der Konfiguration (Standard:
+        <literal>pdflatex</literal>), und stellen Sie sicher, dass pdflatex
+        (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden
+        darf.</para>
+
+        <para>Wenn sich das Problem nicht auf Grund der ausgabe im Webbrowser verifizieren lässt:</para>
+        <itemizedlist>
+          <listitem>
+             <para> editiere [kivitendo-home]/config/kivitendo.conf und ändere "keep_tmp_files" auf 1</para>
+             <para><programlisting>keep_temp_files = 1;</programlisting></para>
+          </listitem>
+          <listitem>
+             <para>bei fastcgi oder mod_perl den Webserver neu Starten</para>
+          </listitem>
+          <listitem>
+            <para>Nochmal einen Druckversuch im Webfrontend auslösen</para>
+          </listitem>
+          <listitem>
+            <para>wechsele in das users Verzeichnis von kivitendo</para>
+            <para><programlisting>cd [kivitendo-home]/users</programlisting></para>
+          </listitem>
+          <listitem>
+            <para>LaTeX Suchpfad anpassen:</para>
+            <para><programlisting>export TEXINPUTS=".:[kivitendo-home]/templates/[aktuelles_template_verzeichniss]:"</programlisting></para>
+          </listitem>
+          <listitem>
+            <para>Finde herraus welche Datei kivitendo beim letzten Durchlauf erstellt hat</para>
+            <para><programlisting>ls -lahtr ./1*.tex</programlisting></para>
+            <para>Es sollte die letzte Datei ganz unten sein</para>
+          </listitem>
+          <listitem>
+            <para>für besseren Hinweis auf Fehler texdatei nochmals übersetzen</para>
+            <para><programlisting>pdflatex ./1*.tex</programlisting></para>
+            <para>in der *.tex datei nach dem Fehler suchen.</para>
+          </listitem>
+        </itemizedlist>
+      </sect2>
     </sect1>
 
     <sect1 id="OpenDocument-Vorlagen">
@@ -4137,6 +4412,18 @@ insserv kivitendo-task-server</programlisting>
           und dem "end" werden nur ausgegeben, wenn die Variable
           <varname>variablenname</varname> gesetzt und ungleich 0 ist.</para>
 
+          <para>Handelt es sich bei der benannten Variable um ein Array, also um einen Variablennamen, über den man mit
+          <command>&lt;%foreach variablenname%&gt;</command> iteriert, so wird mit diesem Konstrukt darauf getestet, ob das Array Elemente
+          enthält. Somit würde im folgenden Beispiel nur dann eine Liste von Zahlungseingängen samt ihrer Überschrift "Zahlungseingänge"
+          ausgegeben, wenn tatsächlich welche getätigt wurden:</para>
+
+          <programlisting>&lt;%if payment%&gt;
+Zahlungseingänge:
+ &lt;%foreach payment%&gt;
+   Am &lt;%paymentdate%&gt;: &lt;%payment%&gt; €
+ &lt;%end foreach%&gt;
+&lt;%end if%&gt;</programlisting>
+
           <para>Die Bedingung kann auch negiert werden, indem das Wort
           <function>not</function> nach dem <filename>if</filename> verwendet
           wird. Beispiel:</para>
@@ -5516,6 +5803,9 @@ filenames</programlisting>
         <itemizedlist>
           <listitem><para><literal>Test::Deep</literal> (Debian-Paketname: <literal>libtest-deep-perl</literal>; Fedora Core:
           <literal>perl-Test-Deep</literal>; openSuSE: <literal>perl-Test-Deep</literal>)</para></listitem>
+          <listitem><para><literal>Test::Harness</literal> 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 <ulink url="http://www.cpan.org">CPAN</ulink> bezogen
+          werden.</para></listitem>
         </itemizedlist>
       </sect2>
 
index 7922e2b..1478eb6 100644 (file)
@@ -1,4 +1,4 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Kapitel 1. Aktuelle Hinweise</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="prev" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="next" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Kapitel 1. Aktuelle Hinweise</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Zurück</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 1. Aktuelle Hinweise"><div class="titlepage"><div><div><h2 class="title"><a name="Aktuelle-Hinweise"></a>Kapitel 1. Aktuelle Hinweise</h2></div></div></div><p>Aktuelle Installations- und Konfigurationshinweise gibt es:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>im kivitendo-Forum: <a class="ulink" href="https://forum.kivitendo.org/" target="_top">https://forum.kivitendo.org/</a>
-            </p></li><li class="listitem"><p>im alten Lx-Office-Wiki unter Dokumentation (<a class="ulink" href="http://wiki.lx-office.org/index.php?title=Installation_Lx-Office_ERP" target="_top">http://wiki.lx-office.org/index.php?title=Installation_Lx-Office_ERP</a>)</p></li></ul></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Zurück</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">kivitendo: Installation, Konfiguration, Entwicklung&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;Kapitel 2. Installation und Grundkonfiguration</td></tr></table></div></body></html>
\ No newline at end of file
+            </p></li></ul></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Zurück</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">kivitendo: Installation, Konfiguration, Entwicklung&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;Kapitel 2. Installation und Grundkonfiguration</td></tr></table></div></body></html>
\ No newline at end of file
index 28b4e22..5a87c88 100644 (file)
@@ -1,88 +1,18 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>Kapitel 2. Installation und Grundkonfiguration</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch01.html" title="Kapitel 1. Aktuelle Hinweise"><link rel="next" href="ch02s02.html" title="2.2. Manuelle Installation des Programmpaketes"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Kapitel 2. Installation und Grundkonfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Zurück</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 2. Installation und Grundkonfiguration"><div class="titlepage"><div><div><h2 class="title"><a name="config"></a>Kapitel 2. Installation und Grundkonfiguration</h2></div></div></div><div class="sect1" title="2.1. Benötigte Software und Pakete"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Ben%C3%B6tigte-Software-und-Pakete"></a>2.1. Benötigte Software und Pakete</h2></div></div></div><div class="sect2" title="2.1.1. Betriebssystem"><div class="titlepage"><div><div><h3 class="title"><a name="Betriebssystem"></a>2.1.1. Betriebssystem</h3></div></div></div><p>kivitendo ist für Linux konzipiert, und sollte auf jedem
-        unixoiden Betriebssystem zum Laufen zu kriegen sein. Getestet ist
-        diese Version im speziellen auf Debian und Ubuntu, grundsätzlich wurde
-        bei der Auswahl der Pakete aber darauf Rücksicht genommen, dass es
-        ohne große Probleme auf den derzeit aktuellen verbreiteten
-        Distributionen läuft.</p><p>Mitte 2012 sind das folgende Systeme, von denen bekannt ist,
-        dass kivitendo auf ihnen läuft:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Ubuntu 10.04 LTS Lucid Lynx bis 12.10 Oneiric Ocelot</p></li><li class="listitem"><p>Debian 5.0 Lenny und 6.0 Squeeze</p></li><li class="listitem"><p>openSUSE 11.2 und 11.3</p></li><li class="listitem"><p>SuSE Linux Enterprice Server 11</p></li><li class="listitem"><p>Fedora 13 bis 16</p></li></ul></div></div><div class="sect2" title="2.1.2. Pakete"><div class="titlepage"><div><div><h3 class="title"><a name="Pakete"></a>2.1.2. Pakete</h3></div></div></div><p>Zum Betrieb von kivitendo werden zwingend ein Webserver (meist
-        Apache) und ein Datenbankserver (PostgreSQL, mindestens v8.2)
-        benötigt.</p><p>Zusätzlich benötigt kivitendo die folgenden Perl-Pakete, die
-        nicht Bestandteil einer Standard-Perl-Installation sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
-                     <code class="literal">parent</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">Archive::Zip</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">Config::Std</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">DateTime</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">DBI</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">DBD::Pg</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">Email::Address</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">Email::MIME</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">JSON</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">List::MoreUtils</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">Net::SMTP::SSL</code> (optional, bei E-Mail-Versand über SSL; siehe Abschnitt "<a class="xref" href="ch02s09.html#config.sending-email.smtp" title="2.9.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
-                     <code class="literal">Net::SSLGlue</code> (optional, bei E-Mail-Versand über TLS; siehe Abschnitt "<a class="xref" href="ch02s09.html#config.sending-email.smtp" title="2.9.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
-                     <code class="literal">Params::Validate</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">PDF::API2</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">Rose::Object</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">Rose::DB</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">Rose::DB::Object</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">Template</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">Text::CSV_XS</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">Text::Iconv</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">URI</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">XML::Writer</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">YAML</code>
-                  </p></li></ul></div><p>Seit v2.7.0 sind die folgenden Pakete hinzugekommen: <code class="literal">Email::MIME</code>, <code class="literal">Net::SMTP::SSL</code>,
-        <code class="literal">Net::SSLGlue</code>.</p><p>Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete
-        hinzugekommen, <code class="literal">URI</code> und
-        <code class="literal">XML::Writer</code> sind notwendig. Ohne startet kivitendo
-        nicht.</p><p>Gegenüber Version 2.6.1 sind <code class="literal">parent</code>,
-        <code class="literal">DateTime</code>, <code class="literal">Rose::Object</code>,
-        <code class="literal">Rose::DB</code> und <code class="literal">Rose::DB::Object</code>
-        neu hinzugekommen. <code class="literal">IO::Wrap</code> wurde entfernt.</p><p>Gegenüber Version 2.6.3 ist <code class="literal">JSON</code> neu
-        hinzugekommen.</p><p>
-               <code class="literal">Email::Address</code> und
-        <code class="literal">List::MoreUtils</code> sind schon länger feste
-        Abhängigkeiten, wurden aber bisher mit kivitendo mitgeliefert. Beide
-        sind auch in 2.6.1 weiterhin mit ausgeliefert, wurden in einer
-        zukünftigen Version aber aus dem Paket entfernt werden. Es wird
-        empfohlen diese Module zusammen mit den anderen als Bibliotheken zu
-        installieren.</p><p>Die zu installierenden Pakete können in den verschiedenen
-        Distributionen unterschiedlich heißen.</p><p>Für Debian oder Ubuntu benötigen Sie diese Pakete:</p><pre class="programlisting">apt-get install apache2 postgresql libparent-perl libarchive-zip-perl \
-  libdatetime-perl libdbi-perl libdbd-pg-perl libpg-perl \
-  libemail-address-perl libemail-mime-perl liblist-moreutils-perl libpdf-api2-perl \
-  librose-object-perl librose-db-perl librose-db-object-perl \
-  libtemplate-perl libtext-csv-xs-perl libtext-iconv-perl liburi-perl \
-  libxml-writer-perl libyaml-perl libconfig-std-perl \
-  libparams-validate-perl libjson-perl libclass-accessor-perl \
-  libnet-sslglue-perl libnet-smtp-ssl-perl</pre><p>Für Fedora Core benötigen Sie diese Pakete:</p><pre class="programlisting">yum install httpd postgresql-server perl-parent perl-DateTime \
-  perl-DBI perl-DBD-Pg perl-Email-Address perl-Email-MIME perl-List-MoreUtils \
-  perl-PDF-API2 perl-Rose-Object perl-Rose-DB perl-Rose-DB-Object \
-  perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI \
-  perl-XML-Writer perl-YAML perl-Net-SSLGlue perl-Net-SMTP-SSL</pre><p>Für OpenSuSE benötigen Sie diese Pakete:</p><pre class="programlisting">zypper install apache2 postgresql-server perl-Archive-Zip \
-  perl-DateTime perl-DBI perl-DBD-Pg perl-Email-MIME perl-MailTools perl-List-MoreUtils \
-  perl-PDF-API2 perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv \
-  perl-URI perl-XML-Writer perl-YAML perl-Net-SSLGlue perl-Net-SMTP-SSL</pre><p>kivitendo enthält ein Script, mit dem überprüft werden kann, ob
-        alle benötigten Perl-Module installiert sind. Der Aufruf lautet wie
-        folgt:</p><pre class="programlisting">./scripts/installation_check.pl</pre></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html">Zurück</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 1. Aktuelle Hinweise&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.2. Manuelle Installation des Programmpaketes</td></tr></table></div></body></html>
\ No newline at end of file
+   <title>Kapitel 2. Installation und Grundkonfiguration</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch01.html" title="Kapitel 1. Aktuelle Hinweise"><link rel="next" href="ch02s02.html" title="2.2. Benötigte Software und Pakete"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Kapitel 2. Installation und Grundkonfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Zurück</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 2. Installation und Grundkonfiguration"><div class="titlepage"><div><div><h2 class="title"><a name="config"></a>Kapitel 2. Installation und Grundkonfiguration</h2></div></div></div><div class="sect1" title="2.1. Übersicht"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Installation-%C3%9Cbersicht"></a>2.1. Übersicht</h2></div></div></div><p>
+        Die Installation von kivitendo umfasst mehrere Schritte. Die folgende Liste kann sowohl für Neulinge als auch für alte Hasen als
+        Übersicht und Stichpunktliste zum Abhaken dienen, um eine Version mit minimalen Features möglichst schnell zum Laufen zu kriegen.
+      </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
+                  <span class="emphasis"><em>Voraussetzungen überprüfen</em></span>: kivitendo benötigt gewisse Ressourcen und benutzt weitere
+        Programme. Das Kapitel "<a class="xref" href="ch02s02.html" title="2.2. Benötigte Software und Pakete">Abschnitt&nbsp;2.2, „Benötigte Software und Pakete“</a>" erläutert diese. Auch die Liste der benötigten Perl-Module
+        befindet sich hier.</p></li><li class="listitem"><p>
+                  <span class="emphasis"><em>Installation von kivitendo</em></span>: Diese umfasst die "<a class="xref" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>" sowie grundlegende Einstellungen, die der "<a class="xref" href="ch02s04.html" title="2.4. kivitendo-Konfigurationsdatei">Abschnitt&nbsp;2.4, „kivitendo-Konfigurationsdatei“</a>" erläutert.</p></li><li class="listitem"><p>
+                  <span class="emphasis"><em>Konfiguration externer Programme</em></span>: hierzu gehören die Datenbank ("<a class="xref" href="ch02s05.html" title="2.5. Anpassung der PostgreSQL-Konfiguration">Abschnitt&nbsp;2.5, „Anpassung der PostgreSQL-Konfiguration“</a>") und der Webserver ("<a class="xref" href="ch02s06.html" title="2.6. Webserver-Konfiguration">Abschnitt&nbsp;2.6, „Webserver-Konfiguration“</a>"). </p></li><li class="listitem"><p>
+                  <span class="emphasis"><em>Benutzerinformationen speichern können</em></span>: man benötigt mindestens eine Datenbank, in der
+        Informationen zur Authentifizierung sowie die Nutzdaten gespeichert werden. Wie man das als Administrator macht, verrät "<a class="xref" href="ch02s08.html" title="2.8. Benutzerauthentifizierung und Administratorpasswort">Abschnitt&nbsp;2.8, „Benutzerauthentifizierung und Administratorpasswort“</a>".</p></li><li class="listitem"><p>
+                  <span class="emphasis"><em>Benutzer, Gruppen und Datenbanken anlegen</em></span>: wie dies alles zusammenspielt erläutert "<a class="xref" href="ch02s09.html" title="2.9. Benutzer- und Gruppenverwaltung">Abschnitt&nbsp;2.9, „Benutzer- und Gruppenverwaltung“</a>".</p></li><li class="listitem"><p>
+                  <span class="emphasis"><em>Los geht's</em></span>: alles soweit erledigt? Dann kann es losgehen: "<a class="xref" href="ch02s16.html" title="2.16. kivitendo ERP verwenden">Abschnitt&nbsp;2.16, „kivitendo ERP verwenden“</a>"</p></li></ol></div><p>
+        Alle weiteren Unterkapitel in diesem Kapitel sind ebenfalls wichtig und dienen sollten vor einer ernsthaften Inbetriebnahme gelesen
+        werden.
+      </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html">Zurück</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 1. Aktuelle Hinweise&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.2. Benötigte Software und Pakete</td></tr></table></div></body></html>
\ No newline at end of file
index 668c4bf..05d1c0a 100644 (file)
@@ -1,15 +1,87 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>2.2. Manuelle Installation des Programmpaketes</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="next" href="ch02s03.html" title="2.3. kivitendo-Konfigurationsdatei"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.2. Manuelle Installation des Programmpaketes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.2. Manuelle Installation des Programmpaketes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Manuelle-Installation-des-Programmpaketes"></a>2.2. Manuelle Installation des Programmpaketes</h2></div></div></div><p>Die kivitendo ERP Installationsdatei (kivitendo-erp-2.6.3.tgz) wird
-      im Dokumentenverzeichnis des Webservers (z.B.
-      <code class="filename">/var/www/html/</code>,
-      <code class="filename">/srv/www/htdocs</code> oder
-      <code class="filename">/var/www/</code>) entpackt:</p><pre class="programlisting">cd /var/www
-tar xvzf kivitendo-erp-2.6.3.tgz</pre><p>Wechseln Sie in das entpackte Verzeichnis:</p><pre class="programlisting">cd kivitendo-erp</pre><p>Alternativ können Sie auch einen Alias in der
-      Webserverkonfiguration benutzen, um auf das tatsächliche
-      Installationsverzeichnis zu verweisen.</p><p>Die Verzeichnisse <code class="filename">users</code>, <code class="filename">spool</code> und <code class="filename">webdav</code> 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 <code class="constant">www-data</code>, bei Fedora
-      core <code class="constant">apache</code> oder bei OpenSuSE <code class="constant">wwwrun</code>).</p><p>Der folgende Befehl ändert den Besitzer für die oben genannten
-      Verzeichnisse auf einem Debian/Ubuntu-System:</p><pre class="programlisting">chown -R www-data users spool webdav</pre><p>Weiterhin muss der Webserver-Benutzer in den Verzeichnissen <code class="filename">templates</code> und <code class="filename">users</code>
-      Unterverzeichnisse für jeden neuen Benutzer anlegen dürfen, der in kivitendo angelegt wird:</p><pre class="programlisting">chown www-data templates users</pre></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 2. Installation und Grundkonfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.3. kivitendo-Konfigurationsdatei</td></tr></table></div></body></html>
\ No newline at end of file
+   <title>2.2. Benötigte Software und Pakete</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="next" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.2. Benötigte Software und Pakete</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.2. Benötigte Software und Pakete"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Ben%C3%B6tigte-Software-und-Pakete"></a>2.2. Benötigte Software und Pakete</h2></div></div></div><div class="sect2" title="2.2.1. Betriebssystem"><div class="titlepage"><div><div><h3 class="title"><a name="Betriebssystem"></a>2.2.1. Betriebssystem</h3></div></div></div><p>kivitendo ist für Linux konzipiert, und sollte auf jedem
+        unixoiden Betriebssystem zum Laufen zu kriegen sein. Getestet ist
+        diese Version im speziellen auf Debian und Ubuntu, grundsätzlich wurde
+        bei der Auswahl der Pakete aber darauf Rücksicht genommen, dass es
+        ohne große Probleme auf den derzeit aktuellen verbreiteten
+        Distributionen läuft.</p><p>Mitte 2012 sind das folgende Systeme, von denen bekannt ist,
+        dass kivitendo auf ihnen läuft:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Debian</p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>6.0 Squeeze (hier muss allerdings das Modul FCGI in der Version &gt;= 0.72 compiled werden)</p></li><li class="listitem"><p>7.0 Wheezy</p></li></ul></div></li><li class="listitem"><p>Ubuntu 10.04 LTS Lucid Lynx bis 12.10 Oneiric Ocelot</p></li><li class="listitem"><p>openSUSE 11.2 und 11.3</p></li><li class="listitem"><p>SuSE Linux Enterprice Server 11</p></li><li class="listitem"><p>Fedora 13 bis 16</p></li></ul></div></div><div class="sect2" title="2.2.2. Pakete"><div class="titlepage"><div><div><h3 class="title"><a name="Pakete"></a>2.2.2. Pakete</h3></div></div></div><p>Zum Betrieb von kivitendo werden zwingend ein Webserver (meist
+        Apache) und ein Datenbankserver (PostgreSQL, mindestens v8.2)
+        benötigt.</p><p>Zusätzlich benötigt kivitendo die folgenden Perl-Pakete, die
+        nicht Bestandteil einer Standard-Perl-Installation sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+                     <code class="literal">parent</code> (nur bei Perl vor 5.10.1)</p></li><li class="listitem"><p>
+                     <code class="literal">Archive::Zip</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">Config::Std</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">DateTime</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">DBI</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">DBD::Pg</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">Email::Address</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">Email::MIME</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">JSON</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">List::MoreUtils</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">Net::SMTP::SSL</code> (optional, bei E-Mail-Versand über SSL; siehe Abschnitt "<a class="xref" href="ch02s10.html#config.sending-email.smtp" title="2.10.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
+                     <code class="literal">Net::SSLGlue</code> (optional, bei E-Mail-Versand über TLS; siehe Abschnitt "<a class="xref" href="ch02s10.html#config.sending-email.smtp" title="2.10.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
+                     <code class="literal">Params::Validate</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">PDF::API2</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">Rose::Object</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">Rose::DB</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">Rose::DB::Object</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">Template</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">Text::CSV_XS</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">Text::Iconv</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">URI</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">XML::Writer</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">YAML</code>
+                  </p></li></ul></div><p>Seit v2.7.0 sind die folgenden Pakete hinzugekommen: <code class="literal">Email::MIME</code>, <code class="literal">Net::SMTP::SSL</code>,
+        <code class="literal">Net::SSLGlue</code>.</p><p>Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete
+        hinzugekommen, <code class="literal">URI</code> und
+        <code class="literal">XML::Writer</code> sind notwendig. Ohne startet kivitendo
+        nicht.</p><p>Gegenüber Version 2.6.1 sind <code class="literal">parent</code>,
+        <code class="literal">DateTime</code>, <code class="literal">Rose::Object</code>,
+        <code class="literal">Rose::DB</code> und <code class="literal">Rose::DB::Object</code>
+        neu hinzugekommen. <code class="literal">IO::Wrap</code> wurde entfernt.</p><p>Gegenüber Version 2.6.3 ist <code class="literal">JSON</code> neu
+        hinzugekommen.</p><p>
+               <code class="literal">Email::Address</code> und
+        <code class="literal">List::MoreUtils</code> sind schon länger feste
+        Abhängigkeiten, wurden aber bisher mit kivitendo mitgeliefert. Beide
+        sind auch in 2.6.1 weiterhin mit ausgeliefert, wurden in einer
+        zukünftigen Version aber aus dem Paket entfernt werden. Es wird
+        empfohlen diese Module zusammen mit den anderen als Bibliotheken zu
+        installieren.</p><p>Die zu installierenden Pakete können in den verschiedenen
+        Distributionen unterschiedlich heißen.</p><p>Für Debian oder Ubuntu benötigen Sie diese Pakete:</p><pre class="programlisting">apt-get install apache2 postgresql libarchive-zip-perl \
+  libdatetime-perl libdbi-perl libdbd-pg-perl libpg-perl \
+  libemail-address-perl libemail-mime-perl liblist-moreutils-perl libpdf-api2-perl \
+  librose-object-perl librose-db-perl librose-db-object-perl \
+  libtemplate-perl libtext-csv-xs-perl libtext-iconv-perl liburi-perl \
+  libxml-writer-perl libyaml-perl libconfig-std-perl \
+  libparams-validate-perl libjson-perl libclass-accessor-perl \
+  libnet-sslglue-perl libnet-smtp-ssl-perl</pre><p>Für Fedora Core benötigen Sie diese Pakete:</p><pre class="programlisting">yum install httpd postgresql-server perl-parent perl-DateTime \
+  perl-DBI perl-DBD-Pg perl-Email-Address perl-Email-MIME perl-List-MoreUtils \
+  perl-PDF-API2 perl-Rose-Object perl-Rose-DB perl-Rose-DB-Object \
+  perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI \
+  perl-XML-Writer perl-YAML perl-Net-SSLGlue perl-Net-SMTP-SSL</pre><p>Für OpenSuSE benötigen Sie diese Pakete:</p><pre class="programlisting">zypper install apache2 postgresql-server perl-Archive-Zip \
+  perl-DateTime perl-DBI perl-DBD-Pg perl-Email-MIME perl-MailTools perl-List-MoreUtils \
+  perl-PDF-API2 perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv \
+  perl-URI perl-XML-Writer perl-YAML perl-Net-SSLGlue perl-Net-SMTP-SSL</pre><p>kivitendo enthält ein Script, mit dem überprüft werden kann, ob
+        alle benötigten Perl-Module installiert sind. Der Aufruf lautet wie
+        folgt:</p><pre class="programlisting">./scripts/installation_check.pl</pre></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 2. Installation und Grundkonfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.3. Manuelle Installation des Programmpaketes</td></tr></table></div></body></html>
\ No newline at end of file
index 248e638..bb2c61d 100644 (file)
@@ -1,75 +1,15 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>2.3. kivitendo-Konfigurationsdatei</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s02.html" title="2.2. Manuelle Installation des Programmpaketes"><link rel="next" href="ch02s04.html" title="2.4. Anpassung der PostgreSQL-Konfiguration"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.3. kivitendo-Konfigurationsdatei</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.3. kivitendo-Konfigurationsdatei"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.config-file"></a>2.3. kivitendo-Konfigurationsdatei</h2></div></div></div><div class="sect2" title="2.3.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.introduction"></a>2.3.1. Einführung</h3></div></div></div><p>In kivitendo gibt es nur noch eine Konfigurationsdatei,
-        die benötigt wird: <code class="filename">config/kivitendo.conf</code> (kurz:
-        "die Hauptkonfigurationsdatei"). Diese muss bei der Erstinstallation
-        von kivitendo bzw. der Migration von älteren Versionen angelegt
-        werden.</p><p>Als Vorlage dient die Datei
-        <code class="filename">config/kivitendo.conf.default</code> (kurz: "die
-        Default-Datei"):</p><pre class="programlisting">$ cp config/kivitendo.conf.default config/kivitendo.conf</pre><p>Die Default-Datei wird immer zuerst eingelesen. Werte, die in
-        der Hauptkonfigurationsdatei stehen, überschreiben die Werte aus der
-        Default-Datei. Die Hauptkonfigurationsdatei muss also nur die
-        Abschnitte und Werte enthalten, die von denen der Default-Datei
-        abweichen.</p><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="../../../../system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>
-          Vor der Umbenennung in kivitendo hieß diese Datei noch <code class="filename">config/lx_office.conf</code>. Aus Gründen der Kompatibilität
-          wird diese Datei eingelesen, sofern die Datei <code class="filename">config/kivitendo.conf</code> nicht existiert.
-         </p></td></tr></table></div><p>Diese Hauptkonfigurationsdatei ist dann eine
-        installationsspezifische Datei, d.h. sie enthält bspw. lokale
-        Passwörter und wird auch nicht im Versionsmanagement (git)
-        verwaltet.</p><p>Die Konfiguration ist ferner serverabhängig, d.h. für alle
-        Mandaten, bzw. Datenbanken gleich.</p></div><div class="sect2" title="2.3.2. Abschnitte und Parameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.sections-parameters"></a>2.3.2. Abschnitte und Parameter</h3></div></div></div><p>Die Konfigurationsdatei besteht aus mehreren Teilen, die
-        entsprechend kommentiert sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
-                     <code class="literal">authentication</code> (siehe Abschnitt "<a class="xref" href="ch02s07.html" title="2.7. Benutzerauthentifizierung und Administratorpasswort">Abschnitt&nbsp;2.7, „Benutzerauthentifizierung und Administratorpasswort“</a>" in diesem Kapitel)</p></li><li class="listitem"><p>
-                     <code class="literal">authentication/database</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">authentication/ldap</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">system</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">features</code> (siehe Kapitel "<a class="xref" href="ch03.html" title="Kapitel 3. Features und Funktionen">Features und Funktionen</a>")</p></li><li class="listitem"><p>
-                     <code class="literal">paths</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">applications</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">environment</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">mail_delivery</code> (siehe Abschnitt "<a class="xref" href="ch02s09.html#config.sending-email.smtp" title="2.9.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>)</p></li><li class="listitem"><p>
-                     <code class="literal">print_templates</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">task_server</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">periodic_invoices</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">console</code>
-                  </p></li><li class="listitem"><p>
-                     <code class="literal">debug</code>
-                  </p></li></ul></div><p>Die üblicherweise wichtigsten Parameter, die am Anfang
-        einzustellen oder zu kontrollieren sind, sind:</p><pre class="programlisting">[authentication]
-admin_password = geheim
-
-[authentication/database]
-host     = localhost
-port     = 5432
-db       = kivitendo_auth
-user     = postgres
-password =
-
-[system]
-dbcharset = UTF-8</pre><p>Nutzt man wiederkehrende Rechnungen, kann man unter
-        <code class="varname">[periodic_invoices]</code> den Login eines Benutzers
-        angeben, der nach Erstellung der Rechnungen eine entsprechende E-Mail
-        mit Informationen über die erstellten Rechnungen bekommt.</p><p>Nutzt man den <a class="link" href="ch02s06.html" title="2.6. Der Task-Server">Taskserver</a> für <a class="link" href="ch03.html#features.periodic-invoices" title="3.1. Wiederkehrende Rechnungen">wiederkehrende Rechnungen</a>,
-        muss unter <code class="varname">[task_server]</code> ein Login eines Benutzers
-        angegeben werden, mit dem sich der Taskserver an kivitendo bei der
-        Datenbank anmeldet, die dem Benutzer zugewiesen ist.</p><p>Für Entwickler finden sich unter <code class="varname">[debug]</code>
-        wichtige Funktionen, um die Fehlersuche zu erleichtern.</p></div><div class="sect2" title="2.3.3. Versionen vor 2.6.3"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.prior-versions"></a>2.3.3. Versionen vor 2.6.3</h3></div></div></div><p>In älteren kivitendo Versionen gab es im Verzeichnis
-        <code class="filename">config</code> die Dateien
-        <code class="filename">authentication.pl</code> und
-        <code class="filename">lx-erp.conf</code>, die jeweils Perl-Dateien waren. Es
-        gab auch die Möglichkeit, eine lokale Version der Konfigurationsdatei
-        zu erstellen (<code class="filename">lx-erp-local.conf</code>). Dies ist ab
-        2.6.3 nicht mehr möglich, aber auch nicht mehr nötig.</p><p>Beim Update von einer kivitendo-Version vor 2.6.3 auf 2.6.3 oder
-        jünger müssen die Einstellungen aus den alten Konfigurationsdateien
-        manuell übertragen und die alten Konfigurationsdateien anschließend
-        gelöscht oder verschoben werden. Ansonsten zeigt kivitendo eine
-        entsprechende Fehlermeldung an.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s02.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.2. Manuelle Installation des Programmpaketes&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.4. Anpassung der PostgreSQL-Konfiguration</td></tr></table></div></body></html>
\ No newline at end of file
+   <title>2.3. Manuelle Installation des Programmpaketes</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s02.html" title="2.2. Benötigte Software und Pakete"><link rel="next" href="ch02s04.html" title="2.4. kivitendo-Konfigurationsdatei"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.3. Manuelle Installation des Programmpaketes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s04.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.3. Manuelle Installation des Programmpaketes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Manuelle-Installation-des-Programmpaketes"></a>2.3. Manuelle Installation des Programmpaketes</h2></div></div></div><p>Die kivitendo ERP Installationsdatei (kivitendo-erp-2.6.3.tgz) wird
+      im Dokumentenverzeichnis des Webservers (z.B.
+      <code class="filename">/var/www/html/</code>,
+      <code class="filename">/srv/www/htdocs</code> oder
+      <code class="filename">/var/www/</code>) entpackt:</p><pre class="programlisting">cd /var/www
+tar xvzf kivitendo-erp-2.6.3.tgz</pre><p>Wechseln Sie in das entpackte Verzeichnis:</p><pre class="programlisting">cd kivitendo-erp</pre><p>Alternativ können Sie auch einen Alias in der
+      Webserverkonfiguration benutzen, um auf das tatsächliche
+      Installationsverzeichnis zu verweisen.</p><p>Die Verzeichnisse <code class="filename">users</code>, <code class="filename">spool</code> und <code class="filename">webdav</code> 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 <code class="constant">www-data</code>, bei Fedora
+      core <code class="constant">apache</code> oder bei OpenSuSE <code class="constant">wwwrun</code>).</p><p>Der folgende Befehl ändert den Besitzer für die oben genannten
+      Verzeichnisse auf einem Debian/Ubuntu-System:</p><pre class="programlisting">chown -R www-data users spool webdav</pre><p>Weiterhin muss der Webserver-Benutzer in den Verzeichnissen <code class="filename">templates</code> und <code class="filename">users</code>
+      Unterverzeichnisse für jeden neuen Benutzer anlegen dürfen, der in kivitendo angelegt wird:</p><pre class="programlisting">chown www-data templates users</pre></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s02.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.2. Benötigte Software und Pakete&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.4. kivitendo-Konfigurationsdatei</td></tr></table></div></body></html>
\ No newline at end of file
index 9a1e409..23fa4d2 100644 (file)
@@ -1,48 +1,75 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>2.4. Anpassung der PostgreSQL-Konfiguration</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s03.html" title="2.3. kivitendo-Konfigurationsdatei"><link rel="next" href="ch02s05.html" title="2.5. Webserver-Konfiguration"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.4. Anpassung der PostgreSQL-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s05.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.4. Anpassung der PostgreSQL-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Anpassung-der-PostgreSQL-Konfiguration"></a>2.4. Anpassung der PostgreSQL-Konfiguration</h2></div></div></div><p>PostgreSQL muss auf verschiedene Weisen angepasst werden.</p><div class="sect2" title="2.4.1. Zeichensätze/die Verwendung von UTF-8"><div class="titlepage"><div><div><h3 class="title"><a name="Zeichens%C3%A4tze-die-Verwendung-von-UTF-8"></a>2.4.1. Zeichensätze/die Verwendung von UTF-8</h3></div></div></div><p>Bei aktuellen Serverinstallationen braucht man hier meist nicht
-       eingreifen</p><p>Dieses kann überprüft werden: ist das Encoding der Datenbank
-       “template1” “UTF8”, so braucht man nichts weiteres diesbezueglich
-       unternehmen. Zum Testen:
+   <title>2.4. kivitendo-Konfigurationsdatei</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes"><link rel="next" href="ch02s05.html" title="2.5. Anpassung der PostgreSQL-Konfiguration"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.4. kivitendo-Konfigurationsdatei</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s05.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.4. kivitendo-Konfigurationsdatei"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.config-file"></a>2.4. kivitendo-Konfigurationsdatei</h2></div></div></div><div class="sect2" title="2.4.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.introduction"></a>2.4.1. Einführung</h3></div></div></div><p>In kivitendo gibt es nur noch eine Konfigurationsdatei,
+        die benötigt wird: <code class="filename">config/kivitendo.conf</code> (kurz:
+        "die Hauptkonfigurationsdatei"). Diese muss bei der Erstinstallation
+        von kivitendo bzw. der Migration von älteren Versionen angelegt
+        werden.</p><p>Als Vorlage dient die Datei
+        <code class="filename">config/kivitendo.conf.default</code> (kurz: "die
+        Default-Datei"):</p><pre class="programlisting">$ cp config/kivitendo.conf.default config/kivitendo.conf</pre><p>Die Default-Datei wird immer zuerst eingelesen. Werte, die in
+        der Hauptkonfigurationsdatei stehen, überschreiben die Werte aus der
+        Default-Datei. Die Hauptkonfigurationsdatei muss also nur die
+        Abschnitte und Werte enthalten, die von denen der Default-Datei
+        abweichen.</p><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>
+          Vor der Umbenennung in kivitendo hieß diese Datei noch <code class="filename">config/lx_office.conf</code>. Aus Gründen der Kompatibilität
+          wird diese Datei eingelesen, sofern die Datei <code class="filename">config/kivitendo.conf</code> nicht existiert.
+         </p></td></tr></table></div><p>Diese Hauptkonfigurationsdatei ist dann eine
+        installationsspezifische Datei, d.h. sie enthält bspw. lokale
+        Passwörter und wird auch nicht im Versionsmanagement (git)
+        verwaltet.</p><p>Die Konfiguration ist ferner serverabhängig, d.h. für alle
+        Mandaten, bzw. Datenbanken gleich.</p></div><div class="sect2" title="2.4.2. Abschnitte und Parameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.sections-parameters"></a>2.4.2. Abschnitte und Parameter</h3></div></div></div><p>Die Konfigurationsdatei besteht aus mehreren Teilen, die
+        entsprechend kommentiert sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+                     <code class="literal">authentication</code> (siehe Abschnitt "<a class="xref" href="ch02s08.html" title="2.8. Benutzerauthentifizierung und Administratorpasswort">Abschnitt&nbsp;2.8, „Benutzerauthentifizierung und Administratorpasswort“</a>" in diesem Kapitel)</p></li><li class="listitem"><p>
+                     <code class="literal">authentication/database</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">authentication/ldap</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">system</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">features</code> (siehe Kapitel "<a class="xref" href="ch03.html" title="Kapitel 3. Features und Funktionen">Features und Funktionen</a>")</p></li><li class="listitem"><p>
+                     <code class="literal">paths</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">applications</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">environment</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">mail_delivery</code> (siehe Abschnitt "<a class="xref" href="ch02s10.html#config.sending-email.smtp" title="2.10.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>)</p></li><li class="listitem"><p>
+                     <code class="literal">print_templates</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">task_server</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">periodic_invoices</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">console</code>
+                  </p></li><li class="listitem"><p>
+                     <code class="literal">debug</code>
+                  </p></li></ul></div><p>Die üblicherweise wichtigsten Parameter, die am Anfang
+        einzustellen oder zu kontrollieren sind, sind:</p><pre class="programlisting">[authentication]
+admin_password = geheim
 
-        </p><pre class="programlisting">su postgres
-echo '\l' | psql
-exit </pre><p>
+[authentication/database]
+host     = localhost
+port     = 5432
+db       = kivitendo_auth
+user     = postgres
+password =
 
-        Andernfalls ist es notwendig, einen neuen Datenbankcluster mit
-        UTF-8-Encoding anzulegen und diesen zu verwenden. Unter Debian und
-        Ubuntu kann dies z.B. für PostgreSQL 8.2 mit dem folgenden Befehl
-        getan werden:</p><pre class="programlisting">pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 8.2 clustername</pre><p>Die Datenbankversionsnummer muss an die tatsächlich verwendete
-        Versionsnummer angepasst werden.</p><p>Unter anderen Distributionen gibt es ähnliche Methoden.</p><p>Wurde PostgreSQL nicht mit UTF-8 als Encoding initialisiert und
-        ist ein Neuanlegen eines weiteren Clusters nicht möglich, so kann
-        kivitendo mit ISO-8859-15 als Encoding betrieben werden.</p><p>Das Encoding einer Datenbank kann in <span class="command"><strong>psql</strong></span> mit
-        <code class="literal">\l</code> geprüft werden.</p></div><div class="sect2" title="2.4.2. Änderungen an Konfigurationsdateien"><div class="titlepage"><div><div><h3 class="title"><a name="%C3%84nderungen-an-Konfigurationsdateien"></a>2.4.2. Änderungen an Konfigurationsdateien</h3></div></div></div><p>In der Datei <code class="filename">postgresql.conf</code>, die je nach
-        Distribution in verschiedenen Verzeichnissen liegen kann (z.B.
-        <code class="filename">/var/lib/pgsql/data/</code> oder
-        <code class="filename">/etc/postgresql/</code>, muss sichergestellt werden,
-        dass TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den
-        Parameter <code class="varname">listen_address</code> gesteuert. Laufen
-        PostgreSQL und kivitendo auf demselben Rechner, so kann dort der Wert
-        <code class="literal">localhost</code> verwendet werden. Andernfalls müssen
-        Datenbankverbindungen auch von anderen Rechnern aus zugelassen werden,
-        was mit dem Wert <code class="literal">*</code> geschieht.</p><p>In der Datei <code class="filename">pg_hba.conf</code>, die im gleichen
-        Verzeichnis wie die <code class="filename">postgresql.conf</code> 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
-       nögiten Verbindungen immer zuzulassen, für eine lokal laufenden
-       Datenbank zum Beispiel:</p><pre class="programlisting">local all kivitendo password
-host all kivitendo 127.0.0.1 255.255.255.255 password</pre></div><div class="sect2" title="2.4.3. Erweiterung für servergespeicherte Prozeduren"><div class="titlepage"><div><div><h3 class="title"><a name="Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren"></a>2.4.3. Erweiterung für servergespeicherte Prozeduren</h3></div></div></div><p>In der Datenbank <code class="literal">template1</code> muss die
-        Unterstützung für servergespeicherte Prozeduren eingerichet werden.
-        Melden Sie sich dafür als Benutzer “postgres” an der Datenbank an:
-        </p><pre class="programlisting">su - postgres
-psql template1</pre><p>
-
-        führen Sie die folgenden Kommandos aus:</p><pre class="programlisting">create language 'plpgsql';
-\q</pre></div><div class="sect2" title="2.4.4. Datenbankbenutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbankbenutzer-anlegen"></a>2.4.4. Datenbankbenutzer anlegen</h3></div></div></div><p>Wenn Sie nicht den Datenbanksuperuser “postgres” zum Zugriff
-        benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer
-        anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen
-        können:</p><pre class="programlisting">su - postgres
-createuser -d -P kivitendo
-exit</pre><p>Wenn Sie später einen Datenbankzugriff konfigurieren, verändern
-        Sie den evtl. voreingestellten Benutzer “postgres” auf “kivitendo” bzw.
-        den hier gewählten Benutzernamen.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s03.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s05.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.3. kivitendo-Konfigurationsdatei&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.5. Webserver-Konfiguration</td></tr></table></div></body></html>
\ No newline at end of file
+[system]
+dbcharset = UTF-8</pre><p>Nutzt man wiederkehrende Rechnungen, kann man unter
+        <code class="varname">[periodic_invoices]</code> den Login eines Benutzers
+        angeben, der nach Erstellung der Rechnungen eine entsprechende E-Mail
+        mit Informationen über die erstellten Rechnungen bekommt.</p><p>Nutzt man den <a class="link" href="ch02s07.html" title="2.7. Der Task-Server">Taskserver</a> für <a class="link" href="ch03.html#features.periodic-invoices" title="3.1. Wiederkehrende Rechnungen">wiederkehrende Rechnungen</a>,
+        muss unter <code class="varname">[task_server]</code> ein Login eines Benutzers
+        angegeben werden, mit dem sich der Taskserver an kivitendo bei der
+        Datenbank anmeldet, die dem Benutzer zugewiesen ist.</p><p>Für Entwickler finden sich unter <code class="varname">[debug]</code>
+        wichtige Funktionen, um die Fehlersuche zu erleichtern.</p></div><div class="sect2" title="2.4.3. Versionen vor 2.6.3"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.prior-versions"></a>2.4.3. Versionen vor 2.6.3</h3></div></div></div><p>In älteren kivitendo Versionen gab es im Verzeichnis
+        <code class="filename">config</code> die Dateien
+        <code class="filename">authentication.pl</code> und
+        <code class="filename">lx-erp.conf</code>, die jeweils Perl-Dateien waren. Es
+        gab auch die Möglichkeit, eine lokale Version der Konfigurationsdatei
+        zu erstellen (<code class="filename">lx-erp-local.conf</code>). Dies ist ab
+        2.6.3 nicht mehr möglich, aber auch nicht mehr nötig.</p><p>Beim Update von einer kivitendo-Version vor 2.6.3 auf 2.6.3 oder
+        jünger müssen die Einstellungen aus den alten Konfigurationsdateien
+        manuell übertragen und die alten Konfigurationsdateien anschließend
+        gelöscht oder verschoben werden. Ansonsten zeigt kivitendo eine
+        entsprechende Fehlermeldung an.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s03.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s05.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.3. Manuelle Installation des Programmpaketes&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.5. Anpassung der PostgreSQL-Konfiguration</td></tr></table></div></body></html>
\ No newline at end of file
index 523411b..582067d 100644 (file)
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>2.5. Webserver-Konfiguration</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s04.html" title="2.4. Anpassung der PostgreSQL-Konfiguration"><link rel="next" href="ch02s06.html" title="2.6. Der Task-Server"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.5. Webserver-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s04.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s06.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.5. Webserver-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Apache-Konfiguration"></a>2.5. Webserver-Konfiguration</h2></div></div></div><div class="sect2" title="2.5.1. Grundkonfiguration mittels CGI"><div class="titlepage"><div><div><h3 class="title"><a name="d0e589"></a>2.5.1. Grundkonfiguration mittels CGI</h3></div></div></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="../../../../system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Für einen deutlichen Performanceschub sorgt die Ausführung
-          mittels FastCGI/FCGI. Die Einrichtung wird ausführlich im Abschnitt
-          <a class="xref" href="ch02s05.html#Apache-Konfiguration.FCGI" title="2.5.2. Konfiguration für FastCGI/FCGI">Konfiguration für FastCGI/FCGI</a> beschrieben.</p></td></tr></table></div><p>Der Zugriff auf das Programmverzeichnis muss in der Apache
-        Webserverkonfigurationsdatei <code class="literal">httpd.conf</code> eingestellt
-        werden. Fügen Sie den folgenden Abschnitt dieser Datei oder einer
-        anderen Datei hinzu, die beim Starten des Webservers eingelesen
-        wird:</p><pre class="programlisting">AddHandler cgi-script .pl
-Alias /kivitendo-erp/ /var/www/kiviteno-erp/
+   <title>2.5. Anpassung der PostgreSQL-Konfiguration</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s04.html" title="2.4. kivitendo-Konfigurationsdatei"><link rel="next" href="ch02s06.html" title="2.6. Webserver-Konfiguration"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.5. Anpassung der PostgreSQL-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s04.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s06.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.5. Anpassung der PostgreSQL-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Anpassung-der-PostgreSQL-Konfiguration"></a>2.5. Anpassung der PostgreSQL-Konfiguration</h2></div></div></div><p>PostgreSQL muss auf verschiedene Weisen angepasst werden.</p><div class="sect2" title="2.5.1. Zeichensätze/die Verwendung von UTF-8"><div class="titlepage"><div><div><h3 class="title"><a name="Zeichens%C3%A4tze-die-Verwendung-von-UTF-8"></a>2.5.1. Zeichensätze/die Verwendung von UTF-8</h3></div></div></div><p>Bei aktuellen Serverinstallationen braucht man hier meist nicht
+       eingreifen</p><p>Dieses kann überprüft werden: ist das Encoding der Datenbank
+       “template1” “UTF8”, so braucht man nichts weiteres diesbezüglich
+       unternehmen. Zum Testen:
 
-&lt;Directory /var/www/kivitendo-erp&gt;
- Options ExecCGI Includes FollowSymlinks
-&lt;/Directory&gt;
+        </p><pre class="programlisting">su postgres
+echo '\l' | psql
+exit </pre><p>
 
-&lt;Directory /var/www/kivitendo-erp/users&gt;
- Order Deny,Allow
- Deny from All
-&lt;/Directory&gt;</pre><p>Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher
-        das kivitendo-Archiv entpacket haben.</p><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="../../../../system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Vor den einzelnen Optionen muss bei einigen Distributionen ein
-          Plus ‘<code class="literal">+</code>’ gesetzt werden.</p></td></tr></table></div><p>Auf einigen Webservern werden manchmal die Grafiken und
-        Style-Sheets nicht ausgeliefert. In solchen Fällen hat es oft
-        geholfen, die folgende Option in die Konfiguration aufzunehmen:</p><pre class="programlisting">EnableSendfile Off</pre></div><div class="sect2" title="2.5.2. Konfiguration für FastCGI/FCGI"><div class="titlepage"><div><div><h3 class="title"><a name="Apache-Konfiguration.FCGI"></a>2.5.2. Konfiguration für FastCGI/FCGI</h3></div></div></div><div class="sect3" title="2.5.2.1. Was ist FastCGI?"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WasIstEs"></a>2.5.2.1. Was ist FastCGI?</h4></div></div></div><p>Direkt aus <a class="ulink" href="http://de.wikipedia.org/wiki/FastCGI" target="_top">Wikipedia</a>
-          kopiert:</p><p>
-                  [<span class="citation"> FastCGI ist ein Standard für die Einbindung
-          externer Software zur Generierung dynamischer Webseiten in einem
-          Webserver. FastCGI ist vergleichbar zum Common Gateway Interface
-          (CGI), wurde jedoch entwickelt, um dessen Performance-Probleme zu
-          umgehen. </span>]
-               </p></div><div class="sect3" title="2.5.2.2. Warum FastCGI?"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.Warum"></a>2.5.2.2. Warum FastCGI?</h4></div></div></div><p>Perl Programme (wie kivitendo eines ist) werden nicht statisch
-          kompiliert. Stattdessen werden die Quelldateien bei jedem Start
-          übersetzt, was bei kurzen Laufzeiten einen Großteil der Laufzeit
-          ausmacht. Während SQL Ledger einen Großteil der Funktionalität in
-          einzelne Module kapselt, um immer nur einen kleinen Teil laden zu
-          müssen, ist die Funktionalität von kivitendo soweit gewachsen, dass
-          immer mehr Module auf den Rest des Programms zugreifen. Zusätzlich
-          benutzen wir umfangreiche Bibliotheken um Funktionaltät nicht selber
-          entwickeln zu müssen, die zusätzliche Ladezeit kosten. All dies
-          führt dazu dass ein kivitendo Aufruf der Kernmasken mittlerweile
-          deutlich länger dauert als früher, und dass davon 90% für das Laden
-          der Module verwendet wird.</p><p>Mit FastCGI werden nun die Module einmal geladen, und danach
-          wird nur die eigentliche Programmlogik ausgeführt.</p></div><div class="sect3" title="2.5.2.3. Getestete Kombinationen aus Webservern und Plugin"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WebserverUndPlugin"></a>2.5.2.3. Getestete Kombinationen aus Webservern und Plugin</h4></div></div></div><p>Folgende Kombinationen sind getestet:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Apache 2.2.11 (Ubuntu) und mod_fcgid.</p></li><li class="listitem"><p>Apache 2.2.11 (Ubuntu) und mod_fastcgi.</p></li></ul></div><p>Dabei wird mod_fcgid empfohlen, weil mod_fastcgi seit geraumer
-          Zeit nicht mehr weiter entwickelt wird. Im Folgenden wird auf
-          mod_fastcgi nicht mehr explizit eingegangen.</p><p>Als Perl Backend wird das Modul <code class="filename">FCGI.pm</code>
-          verwendet.</p><div class="warning" title="Warnung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warnung]" src="../../../../system/docbook-xsl/images/warning.png"></td><th align="left">Warnung</th></tr><tr><td align="left" valign="top"><p>FCGI-Versionen ab 0.69 und bis zu 0.71 inklusive sind extrem strict in der Behandlung von Unicode, und verweigern
-            bestimmte Eingaben von kivitendo. Falls es Probleme mit Umlauten in Ihrere Installation gibt, muss zwingend Version 0.68 oder
-            aber Version 0.72 und neuer eingesetzt werden.</p><p>Mit CPAN lässt sie sich die Vorgängerversion wie folgt
-            installieren:</p><pre class="programlisting">force install M/MS/MSTROUT/FCGI-0.68.tar.gz</pre></td></tr></table></div></div><div class="sect3" title="2.5.2.4. Konfiguration des Webservers"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.Konfiguration"></a>2.5.2.4. Konfiguration des Webservers</h4></div></div></div><p>Bevor Sie versuchen, eine kivitendo Installation unter FCGI
-          laufen zu lassen, empfliehlt es sich die Installation ersteinmal
-          unter CGI aufzusetzen. FCGI macht es nicht einfach Fehler zu
-          debuggen die beim ersten aufsetzen auftreten können. Sollte die
-          Installation schon funktionieren, lesen Sie weiter.</p><p>Zuerst muss das FastCGI-Modul aktiviert werden. Dies kann
-          unter Debian/Ubuntu z.B. mit folgendem Befehl geschehen:</p><pre class="programlisting">a2enmod fcgid</pre><p>Die Konfiguration für die Verwendung von kivitendo mit FastCGI
-          erfolgt durch Anpassung der vorhandenen <code class="function">Alias</code>-
-          und <code class="function">Directory</code>-Direktiven. Dabei wird zwischen
-          dem Installationspfad von kivitendo im Dateisystem
-          ("<code class="filename">/path/to/kivitendo-erp</code>") und der URL
-          unterschieden, unter der kivitendo im Webbrowser erreichbar ist
-          ("<code class="filename">/url/for/kivitendo-erp</code>").</p><p>Folgender Konfigurationsschnipsel funktioniert mit
-          mod_fastcgi:</p><pre class="programlisting">AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fcgi
-Alias       /url/for/kivitendo-erp/          /path/to/kivitendo-erp/
+        Andernfalls ist es notwendig, einen neuen Datenbankcluster mit
+        UTF-8-Encoding anzulegen und diesen zu verwenden. Unter Debian und
+        Ubuntu kann dies z.B. für PostgreSQL 8.2 mit dem folgenden Befehl
+        getan werden:</p><pre class="programlisting">pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 8.2 clustername</pre><p>Die Datenbankversionsnummer muss an die tatsächlich verwendete
+        Versionsnummer angepasst werden.</p><p>Unter anderen Distributionen gibt es ähnliche Methoden.</p><p>Wurde PostgreSQL nicht mit UTF-8 als Encoding initialisiert und
+        ist ein Neuanlegen eines weiteren Clusters nicht möglich, so kann
+        kivitendo mit ISO-8859-15 als Encoding betrieben werden.</p><p>Das Encoding einer Datenbank kann in <span class="command"><strong>psql</strong></span> mit
+        <code class="literal">\l</code> geprüft werden.</p></div><div class="sect2" title="2.5.2. Änderungen an Konfigurationsdateien"><div class="titlepage"><div><div><h3 class="title"><a name="%C3%84nderungen-an-Konfigurationsdateien"></a>2.5.2. Änderungen an Konfigurationsdateien</h3></div></div></div><p>In der Datei <code class="filename">postgresql.conf</code>, die je nach
+        Distribution in verschiedenen Verzeichnissen liegen kann (z.B.
+        <code class="filename">/var/lib/pgsql/data/</code> oder
+        <code class="filename">/etc/postgresql/</code>, muss sichergestellt werden,
+        dass TCP/IP-Verbindungen aktiviert sind. Das Verhalten wird über den
+        Parameter <code class="varname">listen_address</code> gesteuert. Laufen
+        PostgreSQL und kivitendo auf demselben Rechner, so kann dort der Wert
+        <code class="literal">localhost</code> verwendet werden. Andernfalls müssen
+        Datenbankverbindungen auch von anderen Rechnern aus zugelassen werden,
+        was mit dem Wert <code class="literal">*</code> geschieht.</p><p>In der Datei <code class="filename">pg_hba.conf</code>, die im gleichen
+        Verzeichnis wie die <code class="filename">postgresql.conf</code> 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
+       nögiten Verbindungen immer zuzulassen, für eine lokal laufenden
+       Datenbank zum Beispiel:</p><pre class="programlisting">local all kivitendo password
+host all kivitendo 127.0.0.1 255.255.255.255 password</pre></div><div class="sect2" title="2.5.3. Erweiterung für servergespeicherte Prozeduren"><div class="titlepage"><div><div><h3 class="title"><a name="Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren"></a>2.5.3. Erweiterung für servergespeicherte Prozeduren</h3></div></div></div><p>In der Datenbank <code class="literal">template1</code> muss die
+        Unterstützung für servergespeicherte Prozeduren eingerichet werden.
+        Melden Sie sich dafür als Benutzer “postgres” an der Datenbank an:
+        </p><pre class="programlisting">su - postgres
+psql template1</pre><p>
 
-&lt;Directory /path/to/kivitendo-erp&gt;
-  AllowOverride All
-  Options ExecCGI Includes FollowSymlinks
-  Order Allow,Deny
-  Allow from All
-&lt;/Directory&gt;
-
-&lt;DirectoryMatch /path/to/kivitendo-erp/users&gt;
-  Order Deny,Allow
-  Deny from All
-&lt;/DirectoryMatch&gt;</pre><p>Seit mod_fcgid-Version 2.6.3 gelten sehr kleine Grenzen für
-          die maximale Größe eines Requests. Diese sollte wie folgt
-          hochgesetzt werden:</p><pre class="programlisting">FcgidMaxRequestLen 10485760</pre><p>Das ganze sollte dann so aussehen:</p><pre class="programlisting">AddHandler fcgid-script .fpl
-AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl
-Alias       /url/for/kivitendo-erp/          /path/to/kivitendo-erp/
-FcgidMaxRequestLen 10485760
-
-&lt;Directory /path/to/kivitendo-erp&gt;
-  AllowOverride All
-  Options ExecCGI Includes FollowSymlinks
-  Order Allow,Deny
-  Allow from All
-&lt;/Directory&gt;
-
-&lt;DirectoryMatch /path/to/kivitendo-erp/users&gt;
-  Order Deny,Allow
-  Deny from All
-&lt;/DirectoryMatch&gt;</pre><p>Hierdurch wird nur ein zentraler Dispatcher gestartet. Alle
-          Zugriffe auf die einzelnen Scripte werden auf diesen umgeleitet.
-          Dadurch, dass zur Laufzeit öfter mal Scripte neu geladen werden,
-          gibt es hier kleine Performance-Einbußen.</p><p>Es ist möglich, die gleiche kivitendo Version parallel unter
-          CGI und FastCGI zu betreiben. Dafür bleiben die Directorydirektiven
-          wie oben beschrieben, die URLs werden aber umgeleitet:</p><pre class="programlisting"># Zugriff über CGI
-Alias       /url/for/kivitendo-erp                /path/to/kivitendo-erp
-
-# Zugriff mit mod_fcgid:
-AliasMatch ^/url/for/kivitendo-erp-fcgid/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl
-Alias       /url/for/kivitendo-erp-fcgid/          /path/to/kivitendo-erp/</pre><p>Dann ist unter <code class="filename">/url/for/kivitendo-erp/</code>
-          die normale Version erreichbar, und unter
-          <code class="constant">/url/for/kivitendo-erp-fcgid/</code> die
-          FastCGI-Version.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s04.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s06.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.4. Anpassung der PostgreSQL-Konfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.6. Der Task-Server</td></tr></table></div></body></html>
\ No newline at end of file
+        führen Sie die folgenden Kommandos aus:</p><pre class="programlisting">create language 'plpgsql';
+\q</pre></div><div class="sect2" title="2.5.4. Datenbankbenutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbankbenutzer-anlegen"></a>2.5.4. Datenbankbenutzer anlegen</h3></div></div></div><p>Wenn Sie nicht den Datenbanksuperuser “postgres” zum Zugriff
+        benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer
+        anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen
+        können:</p><p>Die Frage, ob der neue User Superuser sein soll, können Sie mit nein
+       beantworten, genauso ist die Berechtigung neue User (Roles) zu
+       generieren nicht nötig.</p><pre class="programlisting">su - postgres
+createuser -d -P kivitendo
+exit</pre><p>Wenn Sie später einen Datenbankzugriff konfigurieren, verändern
+        Sie den evtl. voreingestellten Benutzer “postgres” auf “kivitendo” bzw.
+        den hier gewählten Benutzernamen.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s04.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s06.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.4. kivitendo-Konfigurationsdatei&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.6. Webserver-Konfiguration</td></tr></table></div></body></html>
\ No newline at end of file
index 5adbf1a..e2ae937 100644 (file)
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>2.6. Der Task-Server</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s05.html" title="2.5. Webserver-Konfiguration"><link rel="next" href="ch02s07.html" title="2.7. Benutzerauthentifizierung und Administratorpasswort"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.6. Der Task-Server</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s05.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s07.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.6. Der Task-Server"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.task-server"></a>2.6. Der Task-Server</h2></div></div></div><p>Der Task-Server ist ein Prozess, der im Hintergrund läuft, in
-      regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese zu
-      festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess
-      wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen
-      benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen
-      bekommen.</p><div class="sect2" title="2.6.1. Verfügbare und notwendige Konfigurationsoptionen"><div class="titlepage"><div><div><h3 class="title"><a name="Konfiguration-des-Task-Servers"></a>2.6.1. Verfügbare und notwendige Konfigurationsoptionen</h3></div></div></div><p>Die Konfiguration erfolgt über den Abschnitt
-        <code class="literal">[task_server]</code> in der Datei
-        <code class="filename">config/kivitendo.conf</code>. Die dort verfügbaren
-        Optionen sind:</p><div class="variablelist"><dl><dt><span class="term">
-                     <code class="varname">login</code>
-                  </span></dt><dd><p>gültiger kivitendo-Benutzername, der benutzt wird, um die
-              zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss
-              in der Administration angelegt werden. Diese Option muss
-              angegeben werden.</p></dd><dt><span class="term">
-                     <code class="varname">run_as</code>
-                  </span></dt><dd><p>Wird der Server vom Systembenutzer <code class="literal">root</code>
-              gestartet, so wechselt er auf den mit <code class="literal">run_as</code>
-              angegebenen Systembenutzer. Der Systembenutzer muss dieselben
-              Lese- und Schreibrechte haben, wie auch der Webserverbenutzer
-              (siehe see <a class="xref" href="ch02s02.html" title="2.2. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>). Daher
-              ist es sinnvoll, hier denselben Systembenutzer einzutragen,
-              unter dem auch der Webserver läuft.</p></dd><dt><span class="term">
-                     <code class="varname">debug</code>
-                  </span></dt><dd><p>Schaltet Debug-Informationen an und aus.</p></dd></dl></div></div><div class="sect2" title="2.6.2. Automatisches Starten des Task-Servers beim Booten"><div class="titlepage"><div><div><h3 class="title"><a name="Einbinden-in-den-Boot-Prozess"></a>2.6.2. Automatisches Starten des Task-Servers beim Booten</h3></div></div></div><p>Der Task-Server verhält sich von seinen Optionen her wie ein
-        reguläres SystemV-kompatibles Boot-Script. Außerdem wechselt er beim
-        Starten automatisch in das kivitendo-Installationsverzeichnis.</p><p>Deshalb ist es möglich, ihn durch Setzen eines symbolischen
-        Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess
-        einzubinden. Da das bei neueren Linux-Distributionen aber nicht
-        zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die
-        anstelle eines symbolischen Links verwendet werden können.</p><div class="sect3" title="2.6.2.1. SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora Core)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e773"></a>2.6.2.1. SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora
-          Core)</h4></div></div></div><p>Kopieren Sie die Datei
-          <code class="filename">scripts/boot/system-v/kivitendo-server</code>
-          nach <code class="filename">/etc/init.d/kivitendo-server</code>. Passen
-          Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
-          <code class="literal">DAEMON=....</code>). Binden Sie das Script in den
-          Boot-Prozess ein. Dies ist distributionsabhängig:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Debian-basierende Systeme:</p><pre class="programlisting">update-rc.d kivitendo-task-server defaults
-# Nur bei Debian Squeeze und neuer:
-insserv kivitendo-task-server</pre></li><li class="listitem"><p>OpenSuSE und Fedora Core:</p><pre class="programlisting">chkconfig --add kivitendo-task-server</pre></li></ul></div><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
-          werden: <span class="command"><strong>/etc/init.d/kivitendo-task-server
-          start</strong></span>
-               </p></div><div class="sect3" title="2.6.2.2. Upstart-basierende Systeme (z.B. Ubuntu)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e803"></a>2.6.2.2. Upstart-basierende Systeme (z.B. Ubuntu)</h4></div></div></div><p>Kopieren Sie die Datei
-          <code class="filename">scripts/boot/upstart/kivitendo-task-server.conf</code>
-          nach <code class="filename">/etc/init/kivitendo-task-server.conf</code>.
-          Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
-          <code class="literal">exec ....</code>).</p><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
-          werden: <span class="command"><strong>service kivitendo-task-server
-          start</strong></span>
-               </p></div></div><div class="sect2" title="2.6.3. Wie der Task-Server gestartet und beendet wird"><div class="titlepage"><div><div><h3 class="title"><a name="Prozesskontrolle"></a>2.6.3. Wie der Task-Server gestartet und beendet wird</h3></div></div></div><p>Der Task-Server wird wie folgt kontrolliert:</p><pre class="programlisting">./scripts/task_server.pl Befehl</pre><p>
-               <code class="literal">Befehl</code> ist dabei eine der folgenden
-        Optionen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
-                     <code class="literal">start</code> startet eine neue Instanz des
-            Task-Servers. Die Prozess-ID wird innerhalb des
-            <code class="filename">users</code>-Verzeichnisses abgelegt.</p></li><li class="listitem"><p>
-                     <code class="literal">stop</code> beendet einen laufenden
-            Task-Server.</p></li><li class="listitem"><p>
-                     <code class="literal">restart</code> beendet und startet ihn
-            neu.</p></li><li class="listitem"><p>
-                     <code class="literal">status</code> berichtet, ob der Task-Server
-            läuft.</p></li></ul></div><p>Der Task-Server wechselt beim Starten automatisch in das
-        kivitendo-Installationsverzeichnis.</p><p>Dieselben Optionen können auch für die SystemV-basierenden
-        Runlevel-Scripte benutzt werden (siehe oben).</p></div><div class="sect2" title="2.6.4. Task-Server mit mehreren Mandanten"><div class="titlepage"><div><div><h3 class="title"><a name="Prozesskontrolle2"></a>2.6.4. Task-Server mit mehreren Mandanten</h3></div></div></div><p>Beim Task-Server wird der Login-Name des Benutzers, unter dem der
-        Task-Server laufen soll, in die Konfigurationsdatei geschrieben. Hat
-        man mehrere Mandanten muß man auch mehrere Konfigurationsdateien
-        anlegen.</p><p>Die Konfigurationsdatei ist eine Kopie der Datei kivitendo.conf,
-        wo in der Kategorie [task_server] der gewünschte "login" steht.</p><p>Der alternative Task-Server wird dann mit folgendem Befehl
-        gestartet:</p><pre class="programlisting">./scripts/task_server.pl -c config/DATEINAME.conf</pre></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s05.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s07.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.5. Webserver-Konfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.7. Benutzerauthentifizierung und Administratorpasswort</td></tr></table></div></body></html>
\ No newline at end of file
+   <title>2.6. Webserver-Konfiguration</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s05.html" title="2.5. Anpassung der PostgreSQL-Konfiguration"><link rel="next" href="ch02s07.html" title="2.7. Der Task-Server"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.6. Webserver-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s05.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s07.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.6. Webserver-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Apache-Konfiguration"></a>2.6. Webserver-Konfiguration</h2></div></div></div><div class="sect2" title="2.6.1. Grundkonfiguration mittels CGI"><div class="titlepage"><div><div><h3 class="title"><a name="d0e652"></a>2.6.1. Grundkonfiguration mittels CGI</h3></div></div></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Für einen deutlichen Performanceschub sorgt die Ausführung
+          mittels FastCGI/FCGI. Die Einrichtung wird ausführlich im Abschnitt
+          <a class="xref" href="ch02s06.html#Apache-Konfiguration.FCGI" title="2.6.2. Konfiguration für FastCGI/FCGI">Konfiguration für FastCGI/FCGI</a> beschrieben.</p></td></tr></table></div><p>Der Zugriff auf das Programmverzeichnis muss in der Apache
+        Webserverkonfigurationsdatei <code class="literal">httpd.conf</code> eingestellt
+        werden. Fügen Sie den folgenden Abschnitt dieser Datei oder einer
+        anderen Datei hinzu, die beim Starten des Webservers eingelesen
+        wird:</p><pre class="programlisting">AddHandler cgi-script .pl
+Alias /kivitendo-erp/ /var/www/kiviteno-erp/
+
+&lt;Directory /var/www/kivitendo-erp&gt;
+ Options ExecCGI Includes FollowSymlinks
+&lt;/Directory&gt;
+
+&lt;Directory /var/www/kivitendo-erp/users&gt;
+ Order Deny,Allow
+ Deny from All
+&lt;/Directory&gt;</pre><p>Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher
+        das kivitendo-Archiv entpacket haben.</p><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Vor den einzelnen Optionen muss bei einigen Distributionen ein
+          Plus ‘<code class="literal">+</code>’ gesetzt werden.</p></td></tr></table></div><p>Auf einigen Webservern werden manchmal die Grafiken und
+        Style-Sheets nicht ausgeliefert. In solchen Fällen hat es oft
+        geholfen, die folgende Option in die Konfiguration aufzunehmen:</p><pre class="programlisting">EnableSendfile Off</pre></div><div class="sect2" title="2.6.2. Konfiguration für FastCGI/FCGI"><div class="titlepage"><div><div><h3 class="title"><a name="Apache-Konfiguration.FCGI"></a>2.6.2. Konfiguration für FastCGI/FCGI</h3></div></div></div><div class="sect3" title="2.6.2.1. Was ist FastCGI?"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WasIstEs"></a>2.6.2.1. Was ist FastCGI?</h4></div></div></div><p>Direkt aus <a class="ulink" href="http://de.wikipedia.org/wiki/FastCGI" target="_top">Wikipedia</a>
+          kopiert:</p><p>
+                  [<span class="citation"> FastCGI ist ein Standard für die Einbindung
+          externer Software zur Generierung dynamischer Webseiten in einem
+          Webserver. FastCGI ist vergleichbar zum Common Gateway Interface
+          (CGI), wurde jedoch entwickelt, um dessen Performance-Probleme zu
+          umgehen. </span>]
+               </p></div><div class="sect3" title="2.6.2.2. Warum FastCGI?"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.Warum"></a>2.6.2.2. Warum FastCGI?</h4></div></div></div><p>Perl Programme (wie kivitendo eines ist) werden nicht statisch
+          kompiliert. Stattdessen werden die Quelldateien bei jedem Start
+          übersetzt, was bei kurzen Laufzeiten einen Großteil der Laufzeit
+          ausmacht. Während SQL Ledger einen Großteil der Funktionalität in
+          einzelne Module kapselt, um immer nur einen kleinen Teil laden zu
+          müssen, ist die Funktionalität von kivitendo soweit gewachsen, dass
+          immer mehr Module auf den Rest des Programms zugreifen. Zusätzlich
+          benutzen wir umfangreiche Bibliotheken um Funktionaltät nicht selber
+          entwickeln zu müssen, die zusätzliche Ladezeit kosten. All dies
+          führt dazu dass ein kivitendo Aufruf der Kernmasken mittlerweile
+          deutlich länger dauert als früher, und dass davon 90% für das Laden
+          der Module verwendet wird.</p><p>Mit FastCGI werden nun die Module einmal geladen, und danach
+          wird nur die eigentliche Programmlogik ausgeführt.</p></div><div class="sect3" title="2.6.2.3. Getestete Kombinationen aus Webservern und Plugin"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WebserverUndPlugin"></a>2.6.2.3. Getestete Kombinationen aus Webservern und Plugin</h4></div></div></div><p>Folgende Kombinationen sind getestet:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Apache 2.2.11 (Ubuntu) und mod_fcgid.</p></li><li class="listitem"><p>Apache 2.2.11 (Ubuntu) und mod_fastcgi.</p></li></ul></div><p>Dabei wird mod_fcgid empfohlen, weil mod_fastcgi seit geraumer
+          Zeit nicht mehr weiter entwickelt wird. Im Folgenden wird auf
+          mod_fastcgi nicht mehr explizit eingegangen.</p><p>Als Perl Backend wird das Modul <code class="filename">FCGI.pm</code>
+          verwendet.</p><div class="warning" title="Warnung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warnung]" src="system/docbook-xsl/images/warning.png"></td><th align="left">Warnung</th></tr><tr><td align="left" valign="top"><p>FCGI-Versionen ab 0.69 und bis zu 0.71 inklusive sind extrem strict in der Behandlung von Unicode, und verweigern
+            bestimmte Eingaben von kivitendo. Falls es Probleme mit Umlauten in Ihrere Installation gibt, muss zwingend Version 0.68 oder
+            aber Version 0.72 und neuer eingesetzt werden.</p><p>Mit <a class="ulink" href="http://www.cpan.org" target="_top">CPAN</a> lässt sie sich die Vorgängerversion wie folgt
+            installieren:</p><pre class="programlisting">force install M/MS/MSTROUT/FCGI-0.68.tar.gz</pre></td></tr></table></div></div><div class="sect3" title="2.6.2.4. Konfiguration des Webservers"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.Konfiguration"></a>2.6.2.4. Konfiguration des Webservers</h4></div></div></div><p>Bevor Sie versuchen, eine kivitendo Installation unter FCGI
+          laufen zu lassen, empfliehlt es sich die Installation ersteinmal
+          unter CGI aufzusetzen. FCGI macht es nicht einfach Fehler zu
+          debuggen die beim ersten aufsetzen auftreten können. Sollte die
+          Installation schon funktionieren, lesen Sie weiter.</p><p>Zuerst muss das FastCGI-Modul aktiviert werden. Dies kann
+          unter Debian/Ubuntu z.B. mit folgendem Befehl geschehen:</p><pre class="programlisting">a2enmod fcgid</pre><p>Die Konfiguration für die Verwendung von kivitendo mit FastCGI
+          erfolgt durch Anpassung der vorhandenen <code class="function">Alias</code>-
+          und <code class="function">Directory</code>-Direktiven. Dabei wird zwischen
+          dem Installationspfad von kivitendo im Dateisystem
+          ("<code class="filename">/path/to/kivitendo-erp</code>") und der URL
+          unterschieden, unter der kivitendo im Webbrowser erreichbar ist
+          ("<code class="filename">/url/for/kivitendo-erp</code>").</p><p>Folgender Konfigurationsschnipsel funktioniert mit
+          mod_fastcgi:</p><pre class="programlisting">AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fcgi
+Alias       /url/for/kivitendo-erp/          /path/to/kivitendo-erp/
+
+&lt;Directory /path/to/kivitendo-erp&gt;
+  AllowOverride All
+  Options ExecCGI Includes FollowSymlinks
+  Order Allow,Deny
+  Allow from All
+&lt;/Directory&gt;
+
+&lt;DirectoryMatch /path/to/kivitendo-erp/users&gt;
+  Order Deny,Allow
+  Deny from All
+&lt;/DirectoryMatch&gt;</pre><p>Seit mod_fcgid-Version 2.6.3 gelten sehr kleine Grenzen für
+          die maximale Größe eines Requests. Diese sollte wie folgt
+          hochgesetzt werden:</p><pre class="programlisting">FcgidMaxRequestLen 10485760</pre><p>Das ganze sollte dann so aussehen:</p><pre class="programlisting">AddHandler fcgid-script .fpl
+AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl
+Alias       /url/for/kivitendo-erp/          /path/to/kivitendo-erp/
+FcgidMaxRequestLen 10485760
+
+&lt;Directory /path/to/kivitendo-erp&gt;
+  AllowOverride All
+  Options ExecCGI Includes FollowSymlinks
+  Order Allow,Deny
+  Allow from All
+&lt;/Directory&gt;
+
+&lt;DirectoryMatch /path/to/kivitendo-erp/users&gt;
+  Order Deny,Allow
+  Deny from All
+&lt;/DirectoryMatch&gt;</pre><p>Hierdurch wird nur ein zentraler Dispatcher gestartet. Alle
+          Zugriffe auf die einzelnen Scripte werden auf diesen umgeleitet.
+          Dadurch, dass zur Laufzeit öfter mal Scripte neu geladen werden,
+          gibt es hier kleine Performance-Einbußen.</p><p>Es ist möglich, die gleiche kivitendo Version parallel unter
+          CGI und FastCGI zu betreiben. Dafür bleiben die Directorydirektiven
+          wie oben beschrieben, die URLs werden aber umgeleitet:</p><pre class="programlisting"># Zugriff über CGI
+Alias       /url/for/kivitendo-erp                /path/to/kivitendo-erp
+
+# Zugriff mit mod_fcgid:
+AliasMatch ^/url/for/kivitendo-erp-fcgid/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl
+Alias       /url/for/kivitendo-erp-fcgid/          /path/to/kivitendo-erp/</pre><p>Dann ist unter <code class="filename">/url/for/kivitendo-erp/</code>
+          die normale Version erreichbar, und unter
+          <code class="constant">/url/for/kivitendo-erp-fcgid/</code> die
+          FastCGI-Version.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s05.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s07.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.5. Anpassung der PostgreSQL-Konfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.7. Der Task-Server</td></tr></table></div></body></html>
\ No newline at end of file
index 03430ca..cce20a2 100644 (file)
@@ -1,98 +1,68 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>2.7. Benutzerauthentifizierung und Administratorpasswort</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s06.html" title="2.6. Der Task-Server"><link rel="next" href="ch02s08.html" title="2.8. Benutzer- und Gruppenverwaltung"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.7. Benutzerauthentifizierung und Administratorpasswort</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s08.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.7. Benutzerauthentifizierung und Administratorpasswort"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzerauthentifizierung-und-Administratorpasswort"></a>2.7. Benutzerauthentifizierung und Administratorpasswort</h2></div></div></div><p>Informationen über die Einrichtung der Benutzerauthentifizierung,
-      über die Verwaltung von Gruppen und weitere Einstellungen</p><div class="sect2" title="2.7.1. Grundlagen zur Benutzerauthentifizierung"><div class="titlepage"><div><div><h3 class="title"><a name="Grundlagen-zur-Benutzerauthentifizierung"></a>2.7.1. Grundlagen zur Benutzerauthentifizierung</h3></div></div></div><p>kivitendo verwaltet die Benutzerinformationen in einer
-        Datenbank, die im folgenden “Authentifizierungsdatenbank” genannt
-        wird. Für jeden Benutzer kann dort eine eigene Datenbank für die
-        eigentlichen Finanzdaten hinterlegt sein. Diese beiden Datenbanken
-        können, müssen aber nicht unterschiedlich sein.</p><p>Im einfachsten Fall gibt es für kivitendo nur eine einzige
-        Datenbank, in der sowohl die Benutzerinformationen als auch die Daten
-        abgelegt werden.</p><p>Zusätzlich ermöglicht es kivitendo, dass die Benutzerpasswörter
-        entweder gegen die Authentifizierungsdatenbank oder gegen einen
-        LDAP-Server überprüft werden.</p><p>Welche Art der Passwortüberprüfung kivitendo benutzt und wie
-        kivitendo die Authentifizierungsdatenbank erreichen kann, wird in der
-        Konfigurationsdatei <code class="filename">config/kivitendo.conf</code>
-        festgelegt. Diese muss bei der Installation und bei einem Upgrade von
-        einer Version vor v2.6.0 angelegt werden. Eine
-        Beispielkonfigurationsdatei
-        <code class="filename">config/kivitendo.conf.default</code> existiert, die als
-        Vorlage benutzt werden kann.</p></div><div class="sect2" title="2.7.2. Administratorpasswort"><div class="titlepage"><div><div><h3 class="title"><a name="Administratorpasswort"></a>2.7.2. Administratorpasswort</h3></div></div></div><p>Das Passwort, das zum Zugriff auf das Aministrationsinterface
-        benutzt wird, wird ebenfalls in dieser Datei gespeichert. Es kann auch
-        nur dort und nicht mehr im Administrationsinterface selber geändert
-        werden. Der Parameter dazu heißt <code class="varname">admin_password</code> im
-        Abschnitt <code class="varname">[authentication]</code>.</p></div><div class="sect2" title="2.7.3. Authentifizierungsdatenbank"><div class="titlepage"><div><div><h3 class="title"><a name="Authentifizierungsdatenbank"></a>2.7.3. Authentifizierungsdatenbank</h3></div></div></div><p>Die Verbindung zur Authentifizierungsdatenbank wird mit den
-        Parametern in <code class="varname">[authentication/database]</code>
-        konfiguriert. Hier sind die folgenden Parameter anzugeben:</p><div class="variablelist"><dl><dt><span class="term">
-                     <code class="literal">host</code>
-                  </span></dt><dd><p>Der Rechnername oder die IP-Adresse des
-              Datenbankservers</p></dd><dt><span class="term">
-                     <code class="literal">port</code>
-                  </span></dt><dd><p>Die Portnummer des Datenbankservers, meist 5432</p></dd><dt><span class="term">
-                     <code class="literal">db</code>
-                  </span></dt><dd><p>Der Name der Authentifizierungsdatenbank</p></dd><dt><span class="term">
-                     <code class="literal">user</code>
-                  </span></dt><dd><p>Der Benutzername, mit dem sich kivitendo beim
-              Datenbankserver anmeldet (z.B.
-              "<code class="literal">postgres</code>")</p></dd><dt><span class="term">
-                     <code class="literal">password</code>
-                  </span></dt><dd><p>Das Passwort für den Datenbankbenutzer</p></dd></dl></div><p>Die Datenbank muss noch nicht existieren. kivitendo kann sie
-        automatisch anlegen (mehr dazu siehe unten).</p></div><div class="sect2" title="2.7.4. Passwortüberprüfung"><div class="titlepage"><div><div><h3 class="title"><a name="Passwort%C3%BCberpr%C3%BCfung"></a>2.7.4. Passwortüberprüfung</h3></div></div></div><p>kivitendo unterstützt Passwortüberprüfung auf zwei Arten: gegen
-        die Authentifizierungsdatenbank und gegen einen externen LDAP- oder
-        Active-Directory-Server. Welche davon benutzt wird, regelt der
-        Parameter <code class="varname">module</code> im Abschnitt
-        <code class="varname">[authentication]</code>.</p><p>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
-        gespeichert werden, so muss der Parameter <code class="varname">module</code>
-        den Wert <code class="literal">DB</code> enthalten. In diesem Fall können sowohl
-        der Administrator als auch die Benutzer selber ihre Psaswörter in
-        kivitendo ändern.</p><p>Soll hingegen ein externer LDAP- oder Active-Directory-Server
-        benutzt werden, so muss der Parameter <code class="varname">module</code> auf
-        <code class="literal">LDAP</code> gesetzt werden. In diesem Fall müssen
-        zusätzliche Informationen über den LDAP-Server im Abschnitt
-        <code class="literal">[authentication/ldap]</code> angegeben werden:</p><div class="variablelist"><dl><dt><span class="term">
-                     <code class="literal">host</code>
-                  </span></dt><dd><p>Der Rechnername oder die IP-Adresse des LDAP- oder
-              Active-Directory-Servers. Diese Angabe ist zwingend
-              erforderlich.</p></dd><dt><span class="term">
-                     <code class="literal">port</code>
-                  </span></dt><dd><p>Die Portnummer des LDAP-Servers; meist 389.</p></dd><dt><span class="term">
-                     <code class="literal">tls</code>
-                  </span></dt><dd><p>Wenn Verbindungsverschlüsselung gewünscht ist, so diesen
-              Wert auf ‘<code class="literal">1</code>’ setzen, andernfalls auf
-              ‘<code class="literal">0</code>’ belassen</p></dd><dt><span class="term">
-                     <code class="literal">attribute</code>
-                  </span></dt><dd><p>Das LDAP-Attribut, in dem der Benutzername steht, den der
-              Benutzer eingegeben hat. Für Active-Directory-Server ist dies
-              meist ‘<code class="literal">sAMAccountName</code>’, für andere
-              LDAP-Server hingegen ‘<code class="literal">uid</code>’. Diese Angabe ist
-              zwingend erforderlich.</p></dd><dt><span class="term">
-                     <code class="literal">base_dn</code>
-                  </span></dt><dd><p>Der Abschnitt des LDAP-Baumes, der durchsucht werden soll.
-              Diese Angabe ist zwingend erforderlich.</p></dd><dt><span class="term">
-                     <code class="literal">filter</code>
-                  </span></dt><dd><p>Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort
-              <code class="literal">&lt;%login%&gt;</code>, so wird dieses durch den vom
-              Benutzer eingegebenen Benutzernamen ersetzt. Andernfalls wird
-              der LDAP-Baum nach einem Element durchsucht, bei dem das oben
-              angegebene Attribut mit dem Benutzernamen identisch ist.</p></dd><dt><span class="term">
-                     <code class="literal">bind_dn</code> und
-            <code class="literal">bind_password</code>
-                  </span></dt><dd><p>Wenn der LDAP-Server eine Anmeldung erfordert, bevor er
-              durchsucht werden kann (z.B. ist dies bei
-              Active-Directory-Servern der Fall), so kann diese hier angegeben
-              werden. Für Active-Directory-Server kann als
-              ‘<code class="literal">bind_dn</code>’ entweder eine komplette LDAP-DN wie
-              z.B. ‘<code class="literal">cn=Martin
-              Mustermann,cn=Users,dc=firmendomain</code>’ auch nur der
-              volle Name des Benutzers eingegeben werden; in diesem Beispiel
-              also ‘<code class="literal">Martin Mustermann</code>’.</p></dd></dl></div></div><div class="sect2" title="2.7.5. Name des Session-Cookies"><div class="titlepage"><div><div><h3 class="title"><a name="Name-des-Session-Cookies"></a>2.7.5. Name des Session-Cookies</h3></div></div></div><p>Sollen auf einem Server mehrere kivitendo-Installationen
-        aufgesetzt werden, so müssen die Namen der Session-Cookies für alle
-        Installationen unterschiedlich sein. Der Name des Cookies wird mit dem
-        Parameter <code class="varname">cookie_name</code> im Abschnitt
-        <code class="varname">[authentication]</code>gesetzt.</p><p>Diese Angabe ist optional, wenn nur eine Installation auf dem
-        Server existiert.</p></div><div class="sect2" title="2.7.6. Anlegen der Authentifizierungsdatenbank"><div class="titlepage"><div><div><h3 class="title"><a name="Anlegen-der-Authentifizierungsdatenbank"></a>2.7.6. Anlegen der Authentifizierungsdatenbank</h3></div></div></div><p>Nachdem alle Einstellungen in
-        <code class="filename">config/kivitendo.conf</code> vorgenommen wurden, muss
-        kivitendo die Authentifizierungsdatenbank anlegen. Dieses geschieht
-        automatisch, wenn Sie sich im Administrationsmodul anmelden, das unter
-        der folgenden URL erreichbar sein sollte:</p><p>
-               <a class="ulink" href="http://localhost/kivitendo-erp/admin.pl" target="_top">http://localhost/kivitendo-erp/admin.pl</a>
-            </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s08.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.6. Der Task-Server&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.8. Benutzer- und Gruppenverwaltung</td></tr></table></div></body></html>
\ No newline at end of file
+   <title>2.7. Der Task-Server</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s06.html" title="2.6. Webserver-Konfiguration"><link rel="next" href="ch02s08.html" title="2.8. Benutzerauthentifizierung und Administratorpasswort"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.7. Der Task-Server</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s08.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.7. Der Task-Server"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.task-server"></a>2.7. Der Task-Server</h2></div></div></div><p>Der Task-Server ist ein Prozess, der im Hintergrund läuft, in
+      regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese zu
+      festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess
+      wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen
+      benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen
+      bekommen.</p><div class="sect2" title="2.7.1. Verfügbare und notwendige Konfigurationsoptionen"><div class="titlepage"><div><div><h3 class="title"><a name="Konfiguration-des-Task-Servers"></a>2.7.1. Verfügbare und notwendige Konfigurationsoptionen</h3></div></div></div><p>Die Konfiguration erfolgt über den Abschnitt
+        <code class="literal">[task_server]</code> in der Datei
+        <code class="filename">config/kivitendo.conf</code>. Die dort verfügbaren
+        Optionen sind:</p><div class="variablelist"><dl><dt><span class="term">
+                     <code class="varname">login</code>
+                  </span></dt><dd><p>gültiger kivitendo-Benutzername, der benutzt wird, um die
+              zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss
+              in der Administration angelegt werden. Diese Option muss
+              angegeben werden.</p></dd><dt><span class="term">
+                     <code class="varname">run_as</code>
+                  </span></dt><dd><p>Wird der Server vom Systembenutzer <code class="literal">root</code>
+              gestartet, so wechselt er auf den mit <code class="literal">run_as</code>
+              angegebenen Systembenutzer. Der Systembenutzer muss dieselben
+              Lese- und Schreibrechte haben, wie auch der Webserverbenutzer
+              (siehe see <a class="xref" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>). Daher
+              ist es sinnvoll, hier denselben Systembenutzer einzutragen,
+              unter dem auch der Webserver läuft.</p></dd><dt><span class="term">
+                     <code class="varname">debug</code>
+                  </span></dt><dd><p>Schaltet Debug-Informationen an und aus.</p></dd></dl></div></div><div class="sect2" title="2.7.2. Automatisches Starten des Task-Servers beim Booten"><div class="titlepage"><div><div><h3 class="title"><a name="Einbinden-in-den-Boot-Prozess"></a>2.7.2. Automatisches Starten des Task-Servers beim Booten</h3></div></div></div><p>Der Task-Server verhält sich von seinen Optionen her wie ein
+        reguläres SystemV-kompatibles Boot-Script. Außerdem wechselt er beim
+        Starten automatisch in das kivitendo-Installationsverzeichnis.</p><p>Deshalb ist es möglich, ihn durch Setzen eines symbolischen
+        Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess
+        einzubinden. Da das bei neueren Linux-Distributionen aber nicht
+        zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die
+        anstelle eines symbolischen Links verwendet werden können.</p><div class="sect3" title="2.7.2.1. SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora Core)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e839"></a>2.7.2.1. SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora
+          Core)</h4></div></div></div><p>Kopieren Sie die Datei
+          <code class="filename">scripts/boot/system-v/kivitendo-server</code>
+          nach <code class="filename">/etc/init.d/kivitendo-server</code>. Passen
+          Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
+          <code class="literal">DAEMON=....</code>). Binden Sie das Script in den
+          Boot-Prozess ein. Dies ist distributionsabhängig:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Debian-basierende Systeme:</p><pre class="programlisting">update-rc.d kivitendo-task-server defaults
+# Nur bei Debian Squeeze und neuer:
+insserv kivitendo-task-server</pre></li><li class="listitem"><p>OpenSuSE und Fedora Core:</p><pre class="programlisting">chkconfig --add kivitendo-task-server</pre></li></ul></div><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
+          werden: <span class="command"><strong>/etc/init.d/kivitendo-task-server
+          start</strong></span>
+               </p></div><div class="sect3" title="2.7.2.2. Upstart-basierende Systeme (z.B. Ubuntu)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e869"></a>2.7.2.2. Upstart-basierende Systeme (z.B. Ubuntu)</h4></div></div></div><p>Kopieren Sie die Datei
+          <code class="filename">scripts/boot/upstart/kivitendo-task-server.conf</code>
+          nach <code class="filename">/etc/init/kivitendo-task-server.conf</code>.
+          Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
+          <code class="literal">exec ....</code>).</p><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet
+          werden: <span class="command"><strong>service kivitendo-task-server
+          start</strong></span>
+               </p></div></div><div class="sect2" title="2.7.3. Wie der Task-Server gestartet und beendet wird"><div class="titlepage"><div><div><h3 class="title"><a name="Prozesskontrolle"></a>2.7.3. Wie der Task-Server gestartet und beendet wird</h3></div></div></div><p>Der Task-Server wird wie folgt kontrolliert:</p><pre class="programlisting">./scripts/task_server.pl Befehl</pre><p>
+               <code class="literal">Befehl</code> ist dabei eine der folgenden
+        Optionen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+                     <code class="literal">start</code> startet eine neue Instanz des
+            Task-Servers. Die Prozess-ID wird innerhalb des
+            <code class="filename">users</code>-Verzeichnisses abgelegt.</p></li><li class="listitem"><p>
+                     <code class="literal">stop</code> beendet einen laufenden
+            Task-Server.</p></li><li class="listitem"><p>
+                     <code class="literal">restart</code> beendet und startet ihn
+            neu.</p></li><li class="listitem"><p>
+                     <code class="literal">status</code> berichtet, ob der Task-Server
+            läuft.</p></li></ul></div><p>Der Task-Server wechselt beim Starten automatisch in das
+        kivitendo-Installationsverzeichnis.</p><p>Dieselben Optionen können auch für die SystemV-basierenden
+        Runlevel-Scripte benutzt werden (siehe oben).</p></div><div class="sect2" title="2.7.4. Task-Server mit mehreren Mandanten"><div class="titlepage"><div><div><h3 class="title"><a name="Prozesskontrolle2"></a>2.7.4. Task-Server mit mehreren Mandanten</h3></div></div></div><p>Beim Task-Server wird der Login-Name des Benutzers, unter dem der
+        Task-Server laufen soll, in die Konfigurationsdatei geschrieben. Hat
+        man mehrere Mandanten muß man auch mehrere Konfigurationsdateien
+        anlegen.</p><p>Die Konfigurationsdatei ist eine Kopie der Datei kivitendo.conf,
+        wo in der Kategorie [task_server] der gewünschte "login" steht.</p><p>Der alternative Task-Server wird dann mit folgendem Befehl
+        gestartet:</p><pre class="programlisting">./scripts/task_server.pl -c config/DATEINAME.conf</pre></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s08.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.6. Webserver-Konfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.8. Benutzerauthentifizierung und Administratorpasswort</td></tr></table></div></body></html>
\ No newline at end of file
index 2810a6c..ff5493f 100644 (file)
@@ -1,73 +1,98 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>2.8. Benutzer- und Gruppenverwaltung</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s07.html" title="2.7. Benutzerauthentifizierung und Administratorpasswort"><link rel="next" href="ch02s09.html" title="2.9. E-Mail-Versand aus kivitendo heraus"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.8. Benutzer- und Gruppenverwaltung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s07.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s09.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.8. Benutzer- und Gruppenverwaltung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzer--und-Gruppenverwaltung"></a>2.8. Benutzer- und Gruppenverwaltung</h2></div></div></div><p>Nach der Installation müssen Benutzer, Gruppen und Datenbanken
-      angelegt werden. Dieses geschieht im Administrationsmenü, das Sie unter
-      folgender URL finden:</p><p>
-            <a class="ulink" href="http://localhost/kivitendo-erp/admin.pl" target="_top">http://localhost/kivitendo-erp/admin.pl</a>
-         </p><p>Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei
-      <code class="filename">config/kivitendo.conf</code> eingetragen haben.</p><div class="sect2" title="2.8.1. Zusammenhänge"><div class="titlepage"><div><div><h3 class="title"><a name="Zusammenh%C3%A4nge"></a>2.8.1. Zusammenhänge</h3></div></div></div><p>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.</p><p>Die Basisdaten der Benutzer, die in der Administration
-        eingegeben werden können, werden in einer zweiten Datenbank
-        gespeichert, der bereits erwähnten Authentifizierungsdatenbank. Diese
-        ist also den Produktivdaten enthaltenden Datenbanken vorgeschaltet.
-        Pro kivitendo-Installation gibt es nur eine
-        Authentifizierungsdatenbank, aber beliebig viele Datenbanken mit
-        Firmendaten.</p><p>kivitendo kann seinen Benutzern Zugriff auf bestimmte
-        Funktionsbereiche erlauben oder verbieten. Wird der Zugriff nicht
-        gestattet, so werden der entsprechenden Menüpunkte auch nicht
-        angezeigt. Diese Rechte werden ebenfalls in der
-        Authentifizierungsdatenbank gespeichert.</p><p>Um Rechte verteilen zu können, verwendet kivitendo ein
-        Gruppen-Prinzip. Einer Gruppe kann der Zugriff auf bestimmte Bereiche
-        erlaubt werden. Ein Benutzer wiederum kann Mitglied in einer oder
-        mehrerer Gruppen sein. Der Benutzer hat Zugriff auf alle diejenigen
-        Funktionen, die mindestens einer Gruppe erlaubt sind, in der der
-        Benutzer Mitglied ist.</p><p>Die allgemeine Reihenfolge, in der Datenbanken, Gruppen und
-        Benutzer angelegt werden sollten, lautet:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Datenbank anlegen</p></li><li class="listitem"><p>Gruppen anlegen</p></li><li class="listitem"><p>Benutzer anlegen</p></li><li class="listitem"><p>Benutzer den Gruppen zuordnen</p></li></ol></div></div><div class="sect2" title="2.8.2. Datenbanken anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbanken-anlegen"></a>2.8.2. Datenbanken anlegen</h3></div></div></div><p>Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für
-        den Datenbankzugriff den vorhin angelegten Benutzer (in unseren
-        Beispielen ist dies ‘<code class="literal">kivitendo</code>’).</p><p>Wenn Sie für die kivitendo-Installation nicht Unicode (UTF-8) sondern den europäischen Schriftsatz ISO-8859-15 benutzen
-        wollen, so müssen Sie vor dem Anlegen der Datenbank in der Datei <code class="filename">config/kivitendo.conf</code> die Variable
-        <code class="literal">dbcharset</code> im Abschnitt <code class="literal">system</code> auf den Wert ‘<code class="literal">ISO-8859-15</code>’ setzen.</p><p>Bitte beachten Sie, dass alle Datenbanken den selben Zeichensatz
-        verwenden müssen, da diese Einstellungen momentan global in kivitendo
-        vorgenommen wird und nicht nach Datenbank unterschieden werden kann.
-        Auch die Authentifizierungsdatenbank muss mit diesem Zeichensatz
-        angelegt worden sein.</p></div><div class="sect2" title="2.8.3. Gruppen anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Gruppen-anlegen"></a>2.8.3. Gruppen anlegen</h3></div></div></div><p>Eine Gruppe wird in der Gruppenverwaltung angelegt. Ihr muss ein
-        Name gegeben werden, eine Beschreibung ist hingegen optional. Nach dem
-        Anlegen können Sie die verschiedenen Bereiche wählen, auf die
-        Mitglieder dieser Gruppe Zugriff haben sollen.</p><p>Benutzergruppen sind unabhängig von Datenbanken, da sie in der
-        Authentifizierungsdatenbank gespeichert werden. Sie gelten für alle
-        Datenbanken, die in dieser Installation verwaltet werden.</p></div><div class="sect2" title="2.8.4. Benutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Benutzer-anlegen"></a>2.8.4. Benutzer anlegen</h3></div></div></div><p>Beim Anlegen von Benutzern werden für viele Parameter
-        Standardeinstellungen vorgenommen, die den Gepflogenheiten des
-        deutschen Raumes entsprechen.</p><p>Zwingend anzugeben sind der Loginname sowie die komplette
-        Datenbankkonfiguration. Wenn die Passwortauthentifizierung über die
-        Datenbank eingestellt ist, so kann hier auch das Benutzerpasswort
-        gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung
-        aktiv, so ist das Passwort-Feld deaktiviert.</p><p>In der Datenbankkonfiguration müssen die Zugriffsdaten einer der
-        eben angelegten Datenbanken eingetragen werden.</p></div><div class="sect2" title="2.8.5. Gruppenmitgliedschaften verwalten"><div class="titlepage"><div><div><h3 class="title"><a name="Gruppenmitgliedschaften-verwalten"></a>2.8.5. Gruppenmitgliedschaften verwalten</h3></div></div></div><p>Nach dem Anlegen von Benutzern und Gruppen müssen Benutzer den
-        Gruppen zugewiesen werden. Dazu gibt es zwei Möglichkeiten:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>In der Gruppenverwaltung wählt man eine Gruppe aus. Im
-            folgenden Dialog kann man dann einzeln die Benutzer der Gruppe
-            hinzufügen.</p></li><li class="listitem"><p>In der Gruppenverwaltung wählt man das Tool zur Verwaltung
-            der Gruppenmitgliedschaft. Hier wird eine Matrix angezeigt, die
-            alle im System angelegten Gruppen und Benutzer enthält. Durch
-            Setzen der Häkchen wird der Benutzer in der ausgewählten Zeile der
-            Gruppe in der ausgewählten Spalte hinzugefügt.</p></li></ol></div></div><div class="sect2" title="2.8.6. Migration alter Installationen"><div class="titlepage"><div><div><h3 class="title"><a name="Migration-alter-Installationen"></a>2.8.6. Migration alter Installationen</h3></div></div></div><p>Wenn kivitendo 2.6.3 über eine ältere Version installiert wird,
-        in der die Benutzerdaten noch im Dateisystem im Verzeichnis
-        <code class="literal">users</code> verwaltet wurden, so bietet kivitendo die
-        Möglichkeit, diese Benutzerdaten automatisch in die
-        Authentifizierungsdatenbank zu übernehmen. Dies geschieht, wenn man
-        sich nach dem Update der Installation das erste Mal im
-        Administrationsbereich anmeldet. Findet kivitendo die Datei
-        <code class="literal">users/members</code>, so wird der Migrationsprozess
-        gestartet.</p><p>Der Migrationsprozess ist nahezu vollautomatisch. Alle
-        Benutzerdaten können übernommen werden. Nach den Benutzerdaten bietet
-        kivitendo noch die Möglichkeit an, dass automatisch eine
-        Benutzergruppe angelegt wird. Dieser Gruppe wird Zugriff auf alle
-        Funktionen von kivitendo gewährt. Alle migrierten Benutzern werden
-        Mitglied in dieser Gruppe. Damit wird das Verhalten von kivitendo bis
-        Version 2.4.3 inklusive wiederhergestellt, und die Benutzer können
-        sich sofort wieder anmelden und mit dem System arbeiten.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s07.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s09.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.7. Benutzerauthentifizierung und Administratorpasswort&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.9. E-Mail-Versand aus kivitendo heraus</td></tr></table></div></body></html>
\ No newline at end of file
+   <title>2.8. Benutzerauthentifizierung und Administratorpasswort</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s07.html" title="2.7. Der Task-Server"><link rel="next" href="ch02s09.html" title="2.9. Benutzer- und Gruppenverwaltung"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.8. Benutzerauthentifizierung und Administratorpasswort</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s07.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s09.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.8. Benutzerauthentifizierung und Administratorpasswort"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzerauthentifizierung-und-Administratorpasswort"></a>2.8. Benutzerauthentifizierung und Administratorpasswort</h2></div></div></div><p>Informationen über die Einrichtung der Benutzerauthentifizierung,
+      über die Verwaltung von Gruppen und weitere Einstellungen</p><div class="sect2" title="2.8.1. Grundlagen zur Benutzerauthentifizierung"><div class="titlepage"><div><div><h3 class="title"><a name="Grundlagen-zur-Benutzerauthentifizierung"></a>2.8.1. Grundlagen zur Benutzerauthentifizierung</h3></div></div></div><p>kivitendo verwaltet die Benutzerinformationen in einer
+        Datenbank, die im folgenden “Authentifizierungsdatenbank” genannt
+        wird. Für jeden Benutzer kann dort eine eigene Datenbank für die
+        eigentlichen Finanzdaten hinterlegt sein. Diese beiden Datenbanken
+        können, müssen aber nicht unterschiedlich sein.</p><p>Im einfachsten Fall gibt es für kivitendo nur eine einzige
+        Datenbank, in der sowohl die Benutzerinformationen als auch die Daten
+        abgelegt werden.</p><p>Zusätzlich ermöglicht es kivitendo, dass die Benutzerpasswörter
+        entweder gegen die Authentifizierungsdatenbank oder gegen einen
+        LDAP-Server überprüft werden.</p><p>Welche Art der Passwortüberprüfung kivitendo benutzt und wie
+        kivitendo die Authentifizierungsdatenbank erreichen kann, wird in der
+        Konfigurationsdatei <code class="filename">config/kivitendo.conf</code>
+        festgelegt. Diese muss bei der Installation und bei einem Upgrade von
+        einer Version vor v2.6.0 angelegt werden. Eine
+        Beispielkonfigurationsdatei
+        <code class="filename">config/kivitendo.conf.default</code> existiert, die als
+        Vorlage benutzt werden kann.</p></div><div class="sect2" title="2.8.2. Administratorpasswort"><div class="titlepage"><div><div><h3 class="title"><a name="Administratorpasswort"></a>2.8.2. Administratorpasswort</h3></div></div></div><p>Das Passwort, das zum Zugriff auf das Aministrationsinterface
+        benutzt wird, wird ebenfalls in dieser Datei gespeichert. Es kann auch
+        nur dort und nicht mehr im Administrationsinterface selber geändert
+        werden. Der Parameter dazu heißt <code class="varname">admin_password</code> im
+        Abschnitt <code class="varname">[authentication]</code>.</p></div><div class="sect2" title="2.8.3. Authentifizierungsdatenbank"><div class="titlepage"><div><div><h3 class="title"><a name="Authentifizierungsdatenbank"></a>2.8.3. Authentifizierungsdatenbank</h3></div></div></div><p>Die Verbindung zur Authentifizierungsdatenbank wird mit den
+        Parametern in <code class="varname">[authentication/database]</code>
+        konfiguriert. Hier sind die folgenden Parameter anzugeben:</p><div class="variablelist"><dl><dt><span class="term">
+                     <code class="literal">host</code>
+                  </span></dt><dd><p>Der Rechnername oder die IP-Adresse des
+              Datenbankservers</p></dd><dt><span class="term">
+                     <code class="literal">port</code>
+                  </span></dt><dd><p>Die Portnummer des Datenbankservers, meist 5432</p></dd><dt><span class="term">
+                     <code class="literal">db</code>
+                  </span></dt><dd><p>Der Name der Authentifizierungsdatenbank</p></dd><dt><span class="term">
+                     <code class="literal">user</code>
+                  </span></dt><dd><p>Der Benutzername, mit dem sich kivitendo beim
+              Datenbankserver anmeldet (z.B.
+              "<code class="literal">postgres</code>")</p></dd><dt><span class="term">
+                     <code class="literal">password</code>
+                  </span></dt><dd><p>Das Passwort für den Datenbankbenutzer</p></dd></dl></div><p>Die Datenbank muss noch nicht existieren. kivitendo kann sie
+        automatisch anlegen (mehr dazu siehe unten).</p></div><div class="sect2" title="2.8.4. Passwortüberprüfung"><div class="titlepage"><div><div><h3 class="title"><a name="Passwort%C3%BCberpr%C3%BCfung"></a>2.8.4. Passwortüberprüfung</h3></div></div></div><p>kivitendo unterstützt Passwortüberprüfung auf zwei Arten: gegen
+        die Authentifizierungsdatenbank und gegen einen externen LDAP- oder
+        Active-Directory-Server. Welche davon benutzt wird, regelt der
+        Parameter <code class="varname">module</code> im Abschnitt
+        <code class="varname">[authentication]</code>.</p><p>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
+        gespeichert werden, so muss der Parameter <code class="varname">module</code>
+        den Wert <code class="literal">DB</code> enthalten. In diesem Fall können sowohl
+        der Administrator als auch die Benutzer selber ihre Psaswörter in
+        kivitendo ändern.</p><p>Soll hingegen ein externer LDAP- oder Active-Directory-Server
+        benutzt werden, so muss der Parameter <code class="varname">module</code> auf
+        <code class="literal">LDAP</code> gesetzt werden. In diesem Fall müssen
+        zusätzliche Informationen über den LDAP-Server im Abschnitt
+        <code class="literal">[authentication/ldap]</code> angegeben werden:</p><div class="variablelist"><dl><dt><span class="term">
+                     <code class="literal">host</code>
+                  </span></dt><dd><p>Der Rechnername oder die IP-Adresse des LDAP- oder
+              Active-Directory-Servers. Diese Angabe ist zwingend
+              erforderlich.</p></dd><dt><span class="term">
+                     <code class="literal">port</code>
+                  </span></dt><dd><p>Die Portnummer des LDAP-Servers; meist 389.</p></dd><dt><span class="term">
+                     <code class="literal">tls</code>
+                  </span></dt><dd><p>Wenn Verbindungsverschlüsselung gewünscht ist, so diesen
+              Wert auf ‘<code class="literal">1</code>’ setzen, andernfalls auf
+              ‘<code class="literal">0</code>’ belassen</p></dd><dt><span class="term">
+                     <code class="literal">attribute</code>
+                  </span></dt><dd><p>Das LDAP-Attribut, in dem der Benutzername steht, den der
+              Benutzer eingegeben hat. Für Active-Directory-Server ist dies
+              meist ‘<code class="literal">sAMAccountName</code>’, für andere
+              LDAP-Server hingegen ‘<code class="literal">uid</code>’. Diese Angabe ist
+              zwingend erforderlich.</p></dd><dt><span class="term">
+                     <code class="literal">base_dn</code>
+                  </span></dt><dd><p>Der Abschnitt des LDAP-Baumes, der durchsucht werden soll.
+              Diese Angabe ist zwingend erforderlich.</p></dd><dt><span class="term">
+                     <code class="literal">filter</code>
+                  </span></dt><dd><p>Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort
+              <code class="literal">&lt;%login%&gt;</code>, so wird dieses durch den vom
+              Benutzer eingegebenen Benutzernamen ersetzt. Andernfalls wird
+              der LDAP-Baum nach einem Element durchsucht, bei dem das oben
+              angegebene Attribut mit dem Benutzernamen identisch ist.</p></dd><dt><span class="term">
+                     <code class="literal">bind_dn</code> und
+            <code class="literal">bind_password</code>
+                  </span></dt><dd><p>Wenn der LDAP-Server eine Anmeldung erfordert, bevor er
+              durchsucht werden kann (z.B. ist dies bei
+              Active-Directory-Servern der Fall), so kann diese hier angegeben
+              werden. Für Active-Directory-Server kann als
+              ‘<code class="literal">bind_dn</code>’ entweder eine komplette LDAP-DN wie
+              z.B. ‘<code class="literal">cn=Martin
+              Mustermann,cn=Users,dc=firmendomain</code>’ auch nur der
+              volle Name des Benutzers eingegeben werden; in diesem Beispiel
+              also ‘<code class="literal">Martin Mustermann</code>’.</p></dd></dl></div></div><div class="sect2" title="2.8.5. Name des Session-Cookies"><div class="titlepage"><div><div><h3 class="title"><a name="Name-des-Session-Cookies"></a>2.8.5. Name des Session-Cookies</h3></div></div></div><p>Sollen auf einem Server mehrere kivitendo-Installationen
+        aufgesetzt werden, so müssen die Namen der Session-Cookies für alle
+        Installationen unterschiedlich sein. Der Name des Cookies wird mit dem
+        Parameter <code class="varname">cookie_name</code> im Abschnitt
+        <code class="varname">[authentication]</code>gesetzt.</p><p>Diese Angabe ist optional, wenn nur eine Installation auf dem
+        Server existiert.</p></div><div class="sect2" title="2.8.6. Anlegen der Authentifizierungsdatenbank"><div class="titlepage"><div><div><h3 class="title"><a name="Anlegen-der-Authentifizierungsdatenbank"></a>2.8.6. Anlegen der Authentifizierungsdatenbank</h3></div></div></div><p>Nachdem alle Einstellungen in
+        <code class="filename">config/kivitendo.conf</code> vorgenommen wurden, muss
+        kivitendo die Authentifizierungsdatenbank anlegen. Dieses geschieht
+        automatisch, wenn Sie sich im Administrationsmodul anmelden, das unter
+        der folgenden URL erreichbar sein sollte:</p><p>
+               <a class="ulink" href="http://localhost/kivitendo-erp/admin.pl" target="_top">http://localhost/kivitendo-erp/admin.pl</a>
+            </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s07.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s09.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.7. Der Task-Server&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.9. Benutzer- und Gruppenverwaltung</td></tr></table></div></body></html>
\ No newline at end of file
index acfb795..09b3a6d 100644 (file)
@@ -1,36 +1,73 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>2.9. E-Mail-Versand aus kivitendo heraus</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s08.html" title="2.8. Benutzer- und Gruppenverwaltung"><link rel="next" href="ch02s10.html" title="2.10. Drucken mit kivitendo"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.9. E-Mail-Versand aus kivitendo heraus</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s08.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s10.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.9. E-Mail-Versand aus kivitendo heraus"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.sending-email"></a>2.9. E-Mail-Versand aus kivitendo heraus</h2></div></div></div><p>kivitendo kann direkt aus dem Programm heraus E-Mails versenden, z.B. um ein Angebot direkt an einen Kunden zu
-      verschicken. Damit dies funktioniert, muss eingestellt werden, über welchen Server die E-Mails verschickt werden sollen. kivitendo
-      unterstützt dabei zwei Mechanismen: Versand über einen lokalen E-Mail-Server (z.B. mit <span class="productname">Postfix</span>™ oder
-      <span class="productname">Exim</span>™, was auch die standardmäßig aktive Methode ist) sowie Versand über einen SMTP-Server (z.B. der des
-      eigenen Internet-Providers).</p><p>Welche Methode und welcher Server verwendet werden, wird über die Konfigurationsdatei <code class="filename">config/kivitendo.conf</code>
-      festgelegt. Dort befinden sich alle Einstellungen zu diesem Thema im Abschnitt '<code class="literal">[mail_delivery]</code>'.</p><div class="sect2" title="2.9.1. Versand über lokalen E-Mail-Server"><div class="titlepage"><div><div><h3 class="title"><a name="config.sending-email.sendmail"></a>2.9.1. Versand über lokalen E-Mail-Server</h3></div></div></div><p>Diese Methode bietet sich an, wenn auf dem Server, auf dem kivitendo läuft, bereits ein funktionsfähiger E-Mail-Server wie
-        z.B. <span class="productname">Postfix</span>™, <span class="productname">Exim</span>™ oder <span class="productname">Sendmail</span>™ läuft.</p><p>Um diese Methode auszuwählen, muss der Konfigurationsparameter '<code class="literal">method = sendmail</code>' gesetzt sein. Dies ist
-        gleichzeitig der Standardwert, falls er nicht verändert wird.</p><p>Um zu kontrollieren, wie das Programm zum Einliefern gestartet wird, dient der Parameter '<code class="literal">sendmail =
-        ...</code>'. Der Standardwert verweist auf das Programm <code class="filename">/usr/bin/sendmail</code>, das bei allen oben genannten
-        E-Mail-Serverprodukten für diesen Zweck funktionieren sollte.</p><p>Die Konfiguration des E-Mail-Servers selber würde den Rahmen dieses sprengen. Hierfür sei auf die Dokumentation des
-        E-Mail-Servers verwiesen.</p></div><div class="sect2" title="2.9.2. Versand über einen SMTP-Server"><div class="titlepage"><div><div><h3 class="title"><a name="config.sending-email.smtp"></a>2.9.2. Versand über einen SMTP-Server</h3></div></div></div><p>Diese Methode bietet sich an, wenn kein lokaler E-Mail-Server vorhanden oder zwar einer vorhanden, dieser aber nicht
-        konfiguriert ist.</p><p>Um diese Methode auszuwählen, muss der Konfigurationsparameter '<code class="literal">method = smtp</code>' gesetzt sein. Die folgenden
-        Parameter dienen dabei der weiteren Konfiguration:</p><div class="variablelist"><dl><dt><span class="term">
-                     <code class="varname">hostname</code>
-                  </span></dt><dd><p>Name oder IP-Adresse des SMTP-Servers. Standardwert: '<code class="literal">localhost</code>'</p></dd><dt><span class="term">
-                     <code class="varname">port</code>
-                  </span></dt><dd><p>Portnummer. Der Standardwert hängt von der verwendeten Verschlüsselungsmethode ab. Gilt '<code class="literal">security =
-            none</code>' oder '<code class="literal">security = tls</code>', so ist 25 die Standardportnummer. Für '<code class="literal">security =
-            ssl</code>' ist 465 die Portnummer. Muss normalerweise nicht geändert werden.</p></dd><dt><span class="term">
-                     <code class="varname">security</code>
-                  </span></dt><dd><p>Wahl der zu verwendenden Verschlüsselung der Verbindung mit dem Server. Standardwert ist
-            '<code class="literal">none</code>', wodurch keine Verschlüsselung verwendet wird. Mit '<code class="literal">tls</code>' wird TLS-Verschlüsselung
-            eingeschaltet, und mit '<code class="literal">ssl</code>' wird Verschlüsselung via SSL eingeschaltet. Achtung: Für
-            '<code class="literal">tls</code>' und '<code class="literal">ssl</code>' werden zusätzliche Perl-Module benötigt (siehe unten).</p></dd><dt><span class="term">
-                     <code class="varname">login</code> und <code class="varname">password</code>
-                  </span></dt><dd><p>Falls der E-Mail-Server eine Authentifizierung verlangt, so können mit diesen zwei Parametern der Benutzername
-            und das Passwort angegeben werden. Wird Authentifizierung verwendet, so sollte aus Sicherheitsgründen auch eine Form von
-            Verschlüsselung aktiviert werden.</p></dd></dl></div><p>Wird Verschlüsselung über TLS oder SSL aktiviert, so werden zusätzliche Perl-Module benötigt. Diese sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>TLS-Verschlüsselung: Modul <code class="literal">Net::SSLGlue</code> (Debian-Paketname
-          <code class="literal">libnet-sslglue-perl</code>, Fedora Core: <code class="literal">perl-Net-SSLGlue</code>, openSuSE:
-          <code class="literal">perl-Net-SSLGlue</code>
-                  </p></li><li class="listitem"><p>SSL-Verschlüsselung: Modul <code class="literal">Net::SMTP::SSL</code> (Debian-Paketname
-          <code class="literal">libnet-smtp-ssl-perl</code>, Fedora Core: <code class="literal">perl-Net-SMTP-SSL</code>, openSuSE:
-          <code class="literal">perl-Net-SMTP-SSL</code>
-                  </p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s08.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s10.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.8. Benutzer- und Gruppenverwaltung&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.10. Drucken mit kivitendo</td></tr></table></div></body></html>
\ No newline at end of file
+   <title>2.9. Benutzer- und Gruppenverwaltung</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s08.html" title="2.8. Benutzerauthentifizierung und Administratorpasswort"><link rel="next" href="ch02s10.html" title="2.10. E-Mail-Versand aus kivitendo heraus"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.9. Benutzer- und Gruppenverwaltung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s08.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s10.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.9. Benutzer- und Gruppenverwaltung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzer--und-Gruppenverwaltung"></a>2.9. Benutzer- und Gruppenverwaltung</h2></div></div></div><p>Nach der Installation müssen Benutzer, Gruppen und Datenbanken
+      angelegt werden. Dieses geschieht im Administrationsmenü, das Sie unter
+      folgender URL finden:</p><p>
+            <a class="ulink" href="http://localhost/kivitendo-erp/admin.pl" target="_top">http://localhost/kivitendo-erp/admin.pl</a>
+         </p><p>Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei
+      <code class="filename">config/kivitendo.conf</code> eingetragen haben.</p><div class="sect2" title="2.9.1. Zusammenhänge"><div class="titlepage"><div><div><h3 class="title"><a name="Zusammenh%C3%A4nge"></a>2.9.1. Zusammenhänge</h3></div></div></div><p>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.</p><p>Die Basisdaten der Benutzer, die in der Administration
+        eingegeben werden können, werden in einer zweiten Datenbank
+        gespeichert, der bereits erwähnten Authentifizierungsdatenbank. Diese
+        ist also den Produktivdaten enthaltenden Datenbanken vorgeschaltet.
+        Pro kivitendo-Installation gibt es nur eine
+        Authentifizierungsdatenbank, aber beliebig viele Datenbanken mit
+        Firmendaten.</p><p>kivitendo kann seinen Benutzern Zugriff auf bestimmte
+        Funktionsbereiche erlauben oder verbieten. Wird der Zugriff nicht
+        gestattet, so werden der entsprechenden Menüpunkte auch nicht
+        angezeigt. Diese Rechte werden ebenfalls in der
+        Authentifizierungsdatenbank gespeichert.</p><p>Um Rechte verteilen zu können, verwendet kivitendo ein
+        Gruppen-Prinzip. Einer Gruppe kann der Zugriff auf bestimmte Bereiche
+        erlaubt werden. Ein Benutzer wiederum kann Mitglied in einer oder
+        mehrerer Gruppen sein. Der Benutzer hat Zugriff auf alle diejenigen
+        Funktionen, die mindestens einer Gruppe erlaubt sind, in der der
+        Benutzer Mitglied ist.</p><p>Die allgemeine Reihenfolge, in der Datenbanken, Gruppen und
+        Benutzer angelegt werden sollten, lautet:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Datenbank anlegen</p></li><li class="listitem"><p>Gruppen anlegen</p></li><li class="listitem"><p>Benutzer anlegen</p></li><li class="listitem"><p>Benutzer den Gruppen zuordnen</p></li></ol></div></div><div class="sect2" title="2.9.2. Datenbanken anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbanken-anlegen"></a>2.9.2. Datenbanken anlegen</h3></div></div></div><p>Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für
+        den Datenbankzugriff den vorhin angelegten Benutzer (in unseren
+        Beispielen ist dies ‘<code class="literal">kivitendo</code>’).</p><p>Wenn Sie für die kivitendo-Installation nicht Unicode (UTF-8) sondern den europäischen Schriftsatz ISO-8859-15 benutzen
+        wollen, so müssen Sie vor dem Anlegen der Datenbank in der Datei <code class="filename">config/kivitendo.conf</code> die Variable
+        <code class="literal">dbcharset</code> im Abschnitt <code class="literal">system</code> auf den Wert ‘<code class="literal">ISO-8859-15</code>’ setzen.</p><p>Bitte beachten Sie, dass alle Datenbanken den selben Zeichensatz
+        verwenden müssen, da diese Einstellungen momentan global in kivitendo
+        vorgenommen wird und nicht nach Datenbank unterschieden werden kann.
+        Auch die Authentifizierungsdatenbank muss mit diesem Zeichensatz
+        angelegt worden sein.</p></div><div class="sect2" title="2.9.3. Gruppen anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Gruppen-anlegen"></a>2.9.3. Gruppen anlegen</h3></div></div></div><p>Eine Gruppe wird in der Gruppenverwaltung angelegt. Ihr muss ein
+        Name gegeben werden, eine Beschreibung ist hingegen optional. Nach dem
+        Anlegen können Sie die verschiedenen Bereiche wählen, auf die
+        Mitglieder dieser Gruppe Zugriff haben sollen.</p><p>Benutzergruppen sind unabhängig von Datenbanken, da sie in der
+        Authentifizierungsdatenbank gespeichert werden. Sie gelten für alle
+        Datenbanken, die in dieser Installation verwaltet werden.</p></div><div class="sect2" title="2.9.4. Benutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Benutzer-anlegen"></a>2.9.4. Benutzer anlegen</h3></div></div></div><p>Beim Anlegen von Benutzern werden für viele Parameter
+        Standardeinstellungen vorgenommen, die den Gepflogenheiten des
+        deutschen Raumes entsprechen.</p><p>Zwingend anzugeben sind der Loginname sowie die komplette
+        Datenbankkonfiguration. Wenn die Passwortauthentifizierung über die
+        Datenbank eingestellt ist, so kann hier auch das Benutzerpasswort
+        gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung
+        aktiv, so ist das Passwort-Feld deaktiviert.</p><p>In der Datenbankkonfiguration müssen die Zugriffsdaten einer der
+        eben angelegten Datenbanken eingetragen werden.</p></div><div class="sect2" title="2.9.5. Gruppenmitgliedschaften verwalten"><div class="titlepage"><div><div><h3 class="title"><a name="Gruppenmitgliedschaften-verwalten"></a>2.9.5. Gruppenmitgliedschaften verwalten</h3></div></div></div><p>Nach dem Anlegen von Benutzern und Gruppen müssen Benutzer den
+        Gruppen zugewiesen werden. Dazu gibt es zwei Möglichkeiten:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>In der Gruppenverwaltung wählt man eine Gruppe aus. Im
+            folgenden Dialog kann man dann einzeln die Benutzer der Gruppe
+            hinzufügen.</p></li><li class="listitem"><p>In der Gruppenverwaltung wählt man das Tool zur Verwaltung
+            der Gruppenmitgliedschaft. Hier wird eine Matrix angezeigt, die
+            alle im System angelegten Gruppen und Benutzer enthält. Durch
+            Setzen der Häkchen wird der Benutzer in der ausgewählten Zeile der
+            Gruppe in der ausgewählten Spalte hinzugefügt.</p></li></ol></div></div><div class="sect2" title="2.9.6. Migration alter Installationen"><div class="titlepage"><div><div><h3 class="title"><a name="Migration-alter-Installationen"></a>2.9.6. Migration alter Installationen</h3></div></div></div><p>Wenn kivitendo 2.6.3 über eine ältere Version installiert wird,
+        in der die Benutzerdaten noch im Dateisystem im Verzeichnis
+        <code class="literal">users</code> verwaltet wurden, so bietet kivitendo die
+        Möglichkeit, diese Benutzerdaten automatisch in die
+        Authentifizierungsdatenbank zu übernehmen. Dies geschieht, wenn man
+        sich nach dem Update der Installation das erste Mal im
+        Administrationsbereich anmeldet. Findet kivitendo die Datei
+        <code class="literal">users/members</code>, so wird der Migrationsprozess
+        gestartet.</p><p>Der Migrationsprozess ist nahezu vollautomatisch. Alle
+        Benutzerdaten können übernommen werden. Nach den Benutzerdaten bietet
+        kivitendo noch die Möglichkeit an, dass automatisch eine
+        Benutzergruppe angelegt wird. Dieser Gruppe wird Zugriff auf alle
+        Funktionen von kivitendo gewährt. Alle migrierten Benutzern werden
+        Mitglied in dieser Gruppe. Damit wird das Verhalten von kivitendo bis
+        Version 2.4.3 inklusive wiederhergestellt, und die Benutzer können
+        sich sofort wieder anmelden und mit dem System arbeiten.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s08.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s10.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.8. Benutzerauthentifizierung und Administratorpasswort&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.10. E-Mail-Versand aus kivitendo heraus</td></tr></table></div></body></html>
\ No newline at end of file
index d9bbfec..e78a3d5 100644 (file)
@@ -1,27 +1,36 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>2.10. Drucken mit kivitendo</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s09.html" title="2.9. E-Mail-Versand aus kivitendo heraus"><link rel="next" href="ch02s11.html" title="2.11. OpenDocument-Vorlagen"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.10. Drucken mit kivitendo</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s11.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.10. Drucken mit kivitendo"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Drucken-mit-kivitendo"></a>2.10. Drucken mit kivitendo</h2></div></div></div><p>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 <code class="literal">texlive</code> Installation. Unter
-      Debianoiden Betriebssystemen sind das die Pakete:</p><p>
-            <code class="literal">texlive-latex-base texlive-latex-extra
-      texlive-fonts-recommended</code>
-         </p><p>Diese hinteren beiden enthalten Bibliotheken und Schriftarten die
-      von den Standardvorlagen verwendet werden.</p><p>TODO: rpm Pakete.</p><p>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
-      die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler sind zum
-      Beispiel:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>! LaTeX Error: File `eurosym.sty' not found. Die entsprechende
-          LaTeX-Bibliothek wurde nicht gefunden. Das tritt vor allem bei
-          Vorlagen aus der Community auf. Installieren Sie die entsprechenden
-          Pakete.</p></li><li class="listitem"><p>! Package inputenc Error: Unicode char \u8:æ¡\9c not set up for
-          use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
-          einer Standardinstallation exotische utf8 Zeichen zu drucken.
-          TeXLive unterstützt von Haus nur romanische Schriften und muss mit
-          diversen Tricks dazu gebracht werden andere Zeichen zu akzeptieren.
-          Adere TeX Systeme wie XeTeX schaffen hier Abhilfe.</p></li></ul></div><p>Wird garkein Fehler angezeigt sondern nur der Name des Templates,
-      heißt das normalerweise, dass das LaTeX Binary nicht gefunden wurde.
-      Prüfen Sie den Namen in der Konfiguration (Standard:
-      <code class="literal">pdflatex</code>), und stellen Sie sicher, dass pdflatex
-      (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden
-      darf.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. E-Mail-Versand aus kivitendo heraus&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.11. OpenDocument-Vorlagen</td></tr></table></div></body></html>
\ No newline at end of file
+   <title>2.10. E-Mail-Versand aus kivitendo heraus</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s09.html" title="2.9. Benutzer- und Gruppenverwaltung"><link rel="next" href="ch02s11.html" title="2.11. Drucken mit kivitendo"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.10. E-Mail-Versand aus kivitendo heraus</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s11.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.10. E-Mail-Versand aus kivitendo heraus"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.sending-email"></a>2.10. E-Mail-Versand aus kivitendo heraus</h2></div></div></div><p>kivitendo kann direkt aus dem Programm heraus E-Mails versenden, z.B. um ein Angebot direkt an einen Kunden zu
+      verschicken. Damit dies funktioniert, muss eingestellt werden, über welchen Server die E-Mails verschickt werden sollen. kivitendo
+      unterstützt dabei zwei Mechanismen: Versand über einen lokalen E-Mail-Server (z.B. mit <span class="productname">Postfix</span>™ oder
+      <span class="productname">Exim</span>™, was auch die standardmäßig aktive Methode ist) sowie Versand über einen SMTP-Server (z.B. der des
+      eigenen Internet-Providers).</p><p>Welche Methode und welcher Server verwendet werden, wird über die Konfigurationsdatei <code class="filename">config/kivitendo.conf</code>
+      festgelegt. Dort befinden sich alle Einstellungen zu diesem Thema im Abschnitt '<code class="literal">[mail_delivery]</code>'.</p><div class="sect2" title="2.10.1. Versand über lokalen E-Mail-Server"><div class="titlepage"><div><div><h3 class="title"><a name="config.sending-email.sendmail"></a>2.10.1. Versand über lokalen E-Mail-Server</h3></div></div></div><p>Diese Methode bietet sich an, wenn auf dem Server, auf dem kivitendo läuft, bereits ein funktionsfähiger E-Mail-Server wie
+        z.B. <span class="productname">Postfix</span>™, <span class="productname">Exim</span>™ oder <span class="productname">Sendmail</span>™ läuft.</p><p>Um diese Methode auszuwählen, muss der Konfigurationsparameter '<code class="literal">method = sendmail</code>' gesetzt sein. Dies ist
+        gleichzeitig der Standardwert, falls er nicht verändert wird.</p><p>Um zu kontrollieren, wie das Programm zum Einliefern gestartet wird, dient der Parameter '<code class="literal">sendmail =
+        ...</code>'. Der Standardwert verweist auf das Programm <code class="filename">/usr/bin/sendmail</code>, das bei allen oben genannten
+        E-Mail-Serverprodukten für diesen Zweck funktionieren sollte.</p><p>Die Konfiguration des E-Mail-Servers selber würde den Rahmen dieses sprengen. Hierfür sei auf die Dokumentation des
+        E-Mail-Servers verwiesen.</p></div><div class="sect2" title="2.10.2. Versand über einen SMTP-Server"><div class="titlepage"><div><div><h3 class="title"><a name="config.sending-email.smtp"></a>2.10.2. Versand über einen SMTP-Server</h3></div></div></div><p>Diese Methode bietet sich an, wenn kein lokaler E-Mail-Server vorhanden oder zwar einer vorhanden, dieser aber nicht
+        konfiguriert ist.</p><p>Um diese Methode auszuwählen, muss der Konfigurationsparameter '<code class="literal">method = smtp</code>' gesetzt sein. Die folgenden
+        Parameter dienen dabei der weiteren Konfiguration:</p><div class="variablelist"><dl><dt><span class="term">
+                     <code class="varname">hostname</code>
+                  </span></dt><dd><p>Name oder IP-Adresse des SMTP-Servers. Standardwert: '<code class="literal">localhost</code>'</p></dd><dt><span class="term">
+                     <code class="varname">port</code>
+                  </span></dt><dd><p>Portnummer. Der Standardwert hängt von der verwendeten Verschlüsselungsmethode ab. Gilt '<code class="literal">security =
+            none</code>' oder '<code class="literal">security = tls</code>', so ist 25 die Standardportnummer. Für '<code class="literal">security =
+            ssl</code>' ist 465 die Portnummer. Muss normalerweise nicht geändert werden.</p></dd><dt><span class="term">
+                     <code class="varname">security</code>
+                  </span></dt><dd><p>Wahl der zu verwendenden Verschlüsselung der Verbindung mit dem Server. Standardwert ist
+            '<code class="literal">none</code>', wodurch keine Verschlüsselung verwendet wird. Mit '<code class="literal">tls</code>' wird TLS-Verschlüsselung
+            eingeschaltet, und mit '<code class="literal">ssl</code>' wird Verschlüsselung via SSL eingeschaltet. Achtung: Für
+            '<code class="literal">tls</code>' und '<code class="literal">ssl</code>' werden zusätzliche Perl-Module benötigt (siehe unten).</p></dd><dt><span class="term">
+                     <code class="varname">login</code> und <code class="varname">password</code>
+                  </span></dt><dd><p>Falls der E-Mail-Server eine Authentifizierung verlangt, so können mit diesen zwei Parametern der Benutzername
+            und das Passwort angegeben werden. Wird Authentifizierung verwendet, so sollte aus Sicherheitsgründen auch eine Form von
+            Verschlüsselung aktiviert werden.</p></dd></dl></div><p>Wird Verschlüsselung über TLS oder SSL aktiviert, so werden zusätzliche Perl-Module benötigt. Diese sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>TLS-Verschlüsselung: Modul <code class="literal">Net::SSLGlue</code> (Debian-Paketname
+          <code class="literal">libnet-sslglue-perl</code>, Fedora Core: <code class="literal">perl-Net-SSLGlue</code>, openSuSE:
+          <code class="literal">perl-Net-SSLGlue</code>
+                  </p></li><li class="listitem"><p>SSL-Verschlüsselung: Modul <code class="literal">Net::SMTP::SSL</code> (Debian-Paketname
+          <code class="literal">libnet-smtp-ssl-perl</code>, Fedora Core: <code class="literal">perl-Net-SMTP-SSL</code>, openSuSE:
+          <code class="literal">perl-Net-SMTP-SSL</code>
+                  </p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. Benutzer- und Gruppenverwaltung&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.11. Drucken mit kivitendo</td></tr></table></div></body></html>
\ No newline at end of file
index 94228a0..78df092 100644 (file)
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>2.11. OpenDocument-Vorlagen</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s10.html" title="2.10. Drucken mit kivitendo"><link rel="next" href="ch02s12.html" title="2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.11. OpenDocument-Vorlagen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s10.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s12.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.11. OpenDocument-Vorlagen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="OpenDocument-Vorlagen"></a>2.11. OpenDocument-Vorlagen</h2></div></div></div><p>kivitendo unterstützt die Verwendung von Vorlagen im
-      OpenDocument-Format, wie es OpenOffice.org ab Version 2 erzeugt.
-      kivitendo kann dabei sowohl neue OpenDocument-Dokumente als auch aus
-      diesen direkt PDF-Dateien erzeugen. Um die Unterstützung von
-      OpenDocument-Vorlagen zu aktivieren muss in der Datei
-      <code class="filename">config/kivitendo.conf</code> die Variable
-      <code class="literal">opendocument</code> im Abschnitt
-      <code class="literal">print_templates</code> auf ‘<code class="literal">1</code>’ stehen.
-      Dieses ist die Standardeinstellung.</p><p>Weiterhin muss in der Datei
-      <code class="filename">config/kivitendo.conf</code> die Variable
-      <code class="literal">dbcharset</code> im Abschnitt <code class="literal">system</code> auf
-      die Zeichenkodierung gesetzt werden, die auch bei der Speicherung der
-      Daten in der Datenbank verwendet wird. Diese ist in den meisten Fällen
-      "UTF-8".</p><p>Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
-      weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
-      OpenOffice.org benötigt. Soll dieses Feature genutzt werden, so muss
-      neben OpenOffice.org ab Version 2 auch der “X virtual frame buffer”
-      (xvfb) installiert werden. Bei Debian ist er im Paket “xvfb” enthalten.
-      Andere Distributionen enthalten ihn in anderen Paketen.</p><p>Nach der Installation müssen in der Datei
-      <code class="filename">config/kivitendo.conf</code> zwei weitere Variablen
-      angepasst werden: <code class="literal">openofficeorg_writer</code> muss den
-      vollständigen Pfad zur OpenOffice.org Writer-Anwendung enthalten.
-      <code class="literal">xvfb</code> muss den Pfad zum “X virtual frame buffer”
-      enthalten. Beide stehen im Abschnitt
-      <code class="literal">applications</code>.</p><p>Zusätzlich gibt es zwei verschiedene Arten, wie kivitendo mit
-      OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn die
-      Variable <code class="literal">$openofficeorg_daemon</code> gesetzt ist, startet
-      ein OpenOffice, das auch nach der Umwandlung des Dokumentes gestartet
-      bleibt. Bei weiteren Umwandlungen wird dann diese laufende Instanz
-      benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung deutlich
-      reduziert wird, weil nicht für jedes Dokument ein OpenOffice gestartet
-      werden muss. Der Nachteil ist, dass diese Methode Python und die
-      Python-UNO-Bindings benötigt, die Bestandteil von OpenOffice 2
-      sind.</p><p>Ist <code class="literal">$openofficeorg_daemon</code> nicht gesetzt, so
-      wird für jedes Dokument OpenOffice neu gestartet und die Konvertierung
-      mit Hilfe eines Makros durchgeführt. Dieses Makro muss in der
-      Dokumentenvorlage enthalten sein und
-      “Standard.Conversion.ConvertSelfToPDF()” heißen. Die Beispielvorlage
-      ‘<code class="literal">templates/mastertemplates/German/invoice.odt</code>’
-      enthält ein solches Makro, das in jeder anderen Dokumentenvorlage
-      ebenfalls enthalten sein muss.</p><p>Als letztes muss herausgefunden werden, welchen Namen
-      OpenOffice.org Writer dem Verzeichnis mit den Benutzereinstellungen
-      gibt. Unter Debian ist dies momentan
-      <code class="literal">~/.openoffice.org2</code>. Sollte der Name bei Ihrer
-      OpenOffice.org-Installation anders sein, so muss das Verzeichnis
-      <code class="literal">users/.openoffice.org2</code> entsprechend umbenannt werden.
-      Ist der Name z.B. einfach nur <code class="literal">.openoffice</code>, so wäre
-      folgender Befehl auszuführen:</p><p>
-            <code class="literal">mv users/.openoffice.org2
-      users/.openoffice</code>
-         </p><p>Dieses Verzeichnis, wie auch das komplette
-      <code class="literal">users</code>-Verzeichnis, muss vom Webserver beschreibbar
-      sein. Dieses wurde bereits erledigt (siehe <a class="xref" href="ch02s02.html" title="2.2. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>), kann aber
-      erneut überprüft werden, wenn die Konvertierung nach PDF
-      fehlschlägt.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s10.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s12.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.10. Drucken mit kivitendo&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
-      EUR</td></tr></table></div></body></html>
\ No newline at end of file
+   <title>2.11. Drucken mit kivitendo</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s10.html" title="2.10. E-Mail-Versand aus kivitendo heraus"><link rel="next" href="ch02s12.html" title="2.12. OpenDocument-Vorlagen"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.11. Drucken mit kivitendo</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s10.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s12.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.11. Drucken mit kivitendo"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Drucken-mit-kivitendo"></a>2.11. Drucken mit kivitendo</h2></div></div></div><p>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 <code class="literal">texlive</code> Installation. Unter Debianoiden Betriebssystemen installiert man
+      die Pakete mit:</p><p>
+            </p><pre class="programlisting">aptitude install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \
+  texlive-latex-extra texlive-lang-german texlive-generic-extra</pre><p>
+         </p><p>TODO: RPM-Pakete.</p><p>kivitendo bringt drei alternative Vorlagensätze mit:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Standard</p></li><li class="listitem"><p>f-tex</p></li><li class="listitem"><p>RB</p></li></ul></div><div class="sect2" title="2.11.1. Vorlagenverzeichnis anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagenverzeichnis-anlegen"></a>2.11.1. Vorlagenverzeichnis anlegen</h3></div></div></div><p>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 <span class="guimenu">Benutzerverwaltung</span> auf.</p><p>Wählen Sie dort einen Benutzer aus oder legen Sie einen neuen an. In der Benutzerbearbeiten-Maske müssen Sie zwei Dinge
+        angeben:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
+                     <code class="option">Name</code>: Der Verzeichnisname für den neuen Vorlagensatz. Dieser kann im Rahmen der üblichen
+          Bedingungen für Verzeichnisnamen frei gewählt werden.</p></li><li class="listitem"><p>
+                     <code class="option">Vorlagen auswählen</code>: Wählen Sie hier den Vorlagensatz aus, der kopiert werden soll
+          (<code class="filename">Standard</code>, <code class="filename">f-tex</code> oder <code class="filename">RB</code>.)</p></li></ol></div><p>Der gleiche Vorlagensatz kann, wenn er mal angelegt ist, bei mehreren Benutzern verwendet werden.</p><p>Die Abhängigkeiten kann man prüfen mit:</p><pre class="programlisting">/scripts/installation_check.pl -l</pre></div><div class="sect2" title="2.11.2. Standard"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagen-Standard"></a>2.11.2. Standard</h3></div></div></div><p>Der Standard-Vorlagensatz von Kivitendo. Wie unter <a class="ulink" href="http://demo.kivitendo.org" target="_top">http://demo.kivitendo.org</a> zu
+        sehen.</p></div><div class="sect2" title="2.11.3. f-tex"><div class="titlepage"><div><div><h3 class="title"><a name="f-tex"></a>2.11.3. f-tex</h3></div></div></div><p>Ein Vorlagensatz, der in wenigen Minuten alle Dokumente zur Verfügung stellt.</p><div class="sect3" title="2.11.3.1. Feature-Übersicht"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Feature-%C3%9Cbersicht"></a>2.11.3.1. Feature-Übersicht</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>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..</p></li><li class="listitem"><p>Leichte Anpassung an das Firmen-Layout durch verwendung eines Hintergrund-PDF. Dieses kann leicht mit dem
+            eigenen Lieblingsprogramm erstellt werden (Openoffice, Inkscape, Gimp, Adobe*)</p></li><li class="listitem"><p>Hintergrund-PDF umschaltbar auf "nur erste Seite" (Standard) oder "alle Seiten" (Option
+            "<code class="option">bgPdfFirstPageOnly</code>" in Datei <code class="filename">letter.lco</code>)</p></li><li class="listitem"><p>Hintergrund-PDF für Ausdruck auf bereits bedrucktem Briefpapier abschaltbar. Es wird dann nur bei per E-Mail
+            versendeten Dokumenten eingebunden (Option "<code class="option">bgPdfEmailOnly</code>" in Datei
+            <code class="filename">letter.lco</code>).</p></li><li class="listitem"><p>Nutzung der Layout-Funktionen von LaTeX für Seitenumbruch, Wiederholung von Kopfzeilen, Zwischensummen
+            etc. (danke an Kai-Martin Knaak für die Vorarbeit)</p></li><li class="listitem"><p>Anzeige des Empfängerlandes im Adressfeld nur, wenn es vom Land des eigenen Unternehmens abweicht (also die
+            Rechnung das Land verlässt).</p></li><li class="listitem"><p>Multisprachfähig leicht um weitere Sprachen zu erweitern, alle Übersetzungen in der Datei
+            <code class="filename">translatinos.tex</code>.</p></li><li class="listitem"><p>Auflistung von Bruttopreisen für Endverbraucher.</p></li></ul></div></div><div class="sect3" title="2.11.3.2. Die Installation"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Installation"></a>2.11.3.2. Die Installation</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Vorlagenverzeichnis mit Option f-tex anlegen, siehe: <a class="xref" href="ch02s11.html#Vorlagenverzeichnis-anlegen" title="2.11.1. Vorlagenverzeichnis anlegen">Vorlagenverzeichnis anlegen</a>. Das
+            Vorlagensystem funktioniert jetzt schon, hat allerdings noch einen Beispiel-Briefkopf.</p></li><li class="listitem"><p>Erstelle eine pdf-Hintergrund Datei und verlinke sie nach <code class="filename">./letter_head.pdf</code>.</p></li><li class="listitem"><p>Editiere den Bereich "<code class="option">settings</code>" in der datei <code class="filename">letter.lco</code>.</p></li></ul></div><p>oder etwas Detaillierter:</p><p>
+            Es wird eine Datei <code class="filename">sample.lco</code> erstellt und diese nach <code class="filename">letter.lco</code> 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 <code class="filename">sample.lco</code> unverändert zu lassen. Die die Anpassung über eine
+            <code class="filename">*.lco</code>-Datei die letztlich auf <code class="filename">letter.lco</code> verlinkt ist ist aber auch möglich.
+          </p><p>
+            Es wird eine Datei <code class="filename">sample_head.pdf</code> mit ausgeliefert, diese wird nach <code class="filename">letter_head.pdf</code>
+            verlinkt. Damit gibt es schon mal eine Funktionsfähige Vorlage. Schau Dir nach Abschluss der Installation die Datei
+            <code class="filename">sample_haed.pdf</code> an und erstelle ein entsprechendes PDF passend zum Briefkopf Deiner Firma, diese dann im
+            Template Verzeichniss ablegen und statt <code class="filename">sample_head.pdf</code> nach <code class="filename">letter_head.pdf</code>
+            verlinken.
+          </p><p>
+            letzlich muss <code class="filename">letter_head.pdf</code> auf das passende Hintergrund-PDF verweisen, welches gewünschten Briefkopf
+            enthält. Bei Updates oder nach erneutem
+          </p><p>
+            Es wird eine Datei <code class="filename">mydata.tex.example</code> ausgeliefert, die nach <code class="filename">mytdata.tex</code> 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).
+          </p><p>
+            Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc.  sollten über die Hintergrund-PDF-Datei oder die
+            <code class="filename">*.lco</code>-Datei erfolgen.
+          </p></div><div class="sect3" title="2.11.3.3. f-tex Funktionsübersicht"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Funktions%C3%BCbersicht"></a>2.11.3.3. f-tex Funktionsübersicht</h4></div></div></div><p>
+            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
+            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.
+          </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Tabellen mit oder ohne Preis</p></li><li class="listitem"><p>Sprache der Tabellenüberschriften etc.</p></li><li class="listitem"><p>Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus Angebotsnummer)</p></li><li class="listitem"><p>Darstellung von Brutto oder Netto-Preisen in der Auflistung (Endverbraucher versus Gewerblicher
+            Kunde)</p></li></ul></div><p>Nachteil:</p><p>
+             LaTeX hat ohnehin eine sehr steile Lehrnkurve. Die Datei <code class="filename">letter.tex</code> 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.
+           </p><p>Wer nicht so tief in die Materie einsteigen will oder leicht zu frustrieren ist, sollte sein Hintergrund PDF auf Basis der
+           mitglieferten Datei <code class="filename">sample_head.pdf</code> erstellen, und sich an der Form der dargestellten Tabellen wie sie
+           ausgeliefert werden, erfreuen.
+           </p><p>Kleiner Tipp: Nicht zu viel auf einmal wollen, lieber kleine kontinuierliche Schritte gehen.</p></div><div class="sect3" title="2.11.3.4. Bruttopreise für Endverbraucher"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Bruttopreise"></a>2.11.3.4. Bruttopreise für Endverbraucher</h4></div></div></div><p>Der auszuweisende Bruttopreis wird innerhalb der LaTeX-Umgebung berechnet. Es gibt zwar ein Feld, um bei Aufträgen "alle
+                Preise Brutto" auszuwählen, aber:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>hierfür müssen die Preise auch in Brutto in der Datenbank stehen (ja - das lässt sich über die Preisgruppen und die
+              Zuordung einer Default-Preisgruppe handhaben)</p></li><li class="listitem"><p>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)</p></li></ul></div><p>
+            Es gibt mit f-tex eine weitere Alternative. Die Information ob Brutto oder Nettorechnung wird mit den Zahlarten
+            verknüpft. Zahlarten bei denen Rechnungen, Angebote, etc, in Brutto ausgegeben werden sollen, enden mit "_E" (für
+            Endverbraucher). Falls identische Zahlarten für Gewerbekunden und Endverbraucher vorhanden sind, legt man diese einfach doppelt
+            an (einmal mit der Namensendung "_E"). Gewinn:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Die Entscheidung, ob Netopreise ausgewiesen werden, ist nicht mehr fix mit einer Preisliste Verbunden.</p></li><li class="listitem"><p>Die Default-Zahlart kann im Kundendatensatz hinterlegt werden, und man muss nicht mehr daran denken, "alle Preise
+            Netto" auszuwählen.</p></li><li class="listitem"><p>Die Entscheidung, ob Netto- oder Bruttopreise ausgewiesen werden, kann direkt beim Drucken reviediert werden,
+            ohne dass sich der Auftragswert ändert.</p></li></ul></div></div><div class="sect3" title="2.11.3.5. Lieferadressen"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-lieferadressen"></a>2.11.3.5. Lieferadressen</h4></div></div></div><p>In Lieferscheinen kommen <code class="varname">shipto*</code>-Variablen im Adressfeld zum Einsatz. Wenn die
+          <code class="varname">shipto*</code>-Variable leer ist, wird die entsprechende Adressvariable eingesetzt.  Wenn also die Lieferadresse in
+          Straße, Hausnummer und Ort abweicht, müssen auch nur diese Felder in der Lieferadresse ausgefüllt werden. Für den Firmenname wird
+          der Wert der Hauptadresse angezeigt.
+          </p></div></div><div class="sect2" title="2.11.4. RB"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagen-RB"></a>2.11.4. RB</h3></div></div></div><p>Vollständiger Dokumentensatz mit alternativem Design</p></div><div class="sect2" title="2.11.5. Allgemeine Hinweise zu LaTeX Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="allgemeine-hinweise-zu-latex"></a>2.11.5. Allgemeine Hinweise zu LaTeX Vorlagen</h3></div></div></div><p>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
+        die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler sind zum
+        Beispiel:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>! LaTeX Error: File `eurosym.sty' not found. Die entsprechende
+            LaTeX-Bibliothek wurde nicht gefunden. Das tritt vor allem bei
+            Vorlagen aus der Community auf. Installieren Sie die entsprechenden
+            Pakete.</p></li><li class="listitem"><p>! Package inputenc Error: Unicode char \u8:... set up for
+            use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
+            einer Standardinstallation exotische utf8 Zeichen zu drucken.
+            TeXLive unterstützt von Haus nur romanische Schriften und muss mit
+            diversen Tricks dazu gebracht werden andere Zeichen zu akzeptieren.
+            Adere TeX Systeme wie XeTeX schaffen hier Abhilfe.</p></li></ul></div><p>Wird garkein Fehler angezeigt sondern nur der Name des Templates,
+        heißt das normalerweise, dass das LaTeX Binary nicht gefunden wurde.
+        Prüfen Sie den Namen in der Konfiguration (Standard:
+        <code class="literal">pdflatex</code>), und stellen Sie sicher, dass pdflatex
+        (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden
+        darf.</p><p>Wenn sich das Problem nicht auf Grund der ausgabe im Webbrowser verifizieren lässt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> editiere [kivitendo-home]/config/kivitendo.conf und ändere "keep_tmp_files" auf 1</p><p>
+                     </p><pre class="programlisting">keep_temp_files = 1;</pre><p>
+                  </p></li><li class="listitem"><p>bei fastcgi oder mod_perl den Webserver neu Starten</p></li><li class="listitem"><p>Nochmal einen Druckversuch im Webfrontend auslösen</p></li><li class="listitem"><p>wechsele in das users Verzeichnis von kivitendo</p><p>
+                     </p><pre class="programlisting">cd [kivitendo-home]/users</pre><p>
+                  </p></li><li class="listitem"><p>LaTeX Suchpfad anpassen:</p><p>
+                     </p><pre class="programlisting">export TEXINPUTS=".:[kivitendo-home]/templates/[aktuelles_template_verzeichniss]:"</pre><p>
+                  </p></li><li class="listitem"><p>Finde herraus welche Datei kivitendo beim letzten Durchlauf erstellt hat</p><p>
+                     </p><pre class="programlisting">ls -lahtr ./1*.tex</pre><p>
+                  </p><p>Es sollte die letzte Datei ganz unten sein</p></li><li class="listitem"><p>für besseren Hinweis auf Fehler texdatei nochmals übersetzen</p><p>
+                     </p><pre class="programlisting">pdflatex ./1*.tex</pre><p>
+                  </p><p>in der *.tex datei nach dem Fehler suchen.</p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s10.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s12.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.10. E-Mail-Versand aus kivitendo heraus&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.12. OpenDocument-Vorlagen</td></tr></table></div></body></html>
\ No newline at end of file
index a78ea4a..ab27592 100644 (file)
@@ -1,65 +1,58 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s11.html" title="2.11. OpenDocument-Vorlagen"><link rel="next" href="ch02s13.html" title="2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
-      EUR</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s11.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s13.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.eur"></a>2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
-      EUR</h2></div></div></div><div class="sect2" title="2.12.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.introduction"></a>2.12.1. Einführung</h3></div></div></div><p>kivitendo besaß bis inklusive Version 2.6.3 einen Konfigurationsparameter namens <code class="varname">eur</code>, der sich in der
-        Konfigurationsdatei <code class="filename">config/kivitendo.conf</code> (damals noch <code class="filename">config/lx_office.conf</code>)
-        befand. Somit galt er für alle Mandanten, die in dieser Installation benutzt wurden.</p><p>Mit der nachfolgenden Version wurde der Parameter zum Einen in
-        die Mandantendatenbank verschoben und dabei auch gleich in drei
-        Einzelparameter aufgeteilt, mit denen sich das Verhalten genauer
-        steuern lässt.</p></div><div class="sect2" title="2.12.2. Konfigurationsparameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.parameters"></a>2.12.2. Konfigurationsparameter</h3></div></div></div><p>Es gibt drei Parameter, die die Gewinnermittlungsart,
-        Versteuerungsart und die Warenbuchungsmethode regeln:</p><div class="variablelist"><dl><dt><span class="term">
-                     <code class="varname">profit_determination</code>
-                  </span></dt><dd><p>Dieser Parameter legt die Berechnungsmethode für die
-              Gewinnermittlung fest. Er enthält entweder
-              <code class="literal">balance</code> für
-              Betriebsvermögensvergleich/Bilanzierung oder
-              <code class="literal">income</code> für die
-              Einnahmen-Überschuss-Rechnung.</p></dd><dt><span class="term">
-                     <code class="varname">accounting_method</code>
-                  </span></dt><dd><p>Dieser Parameter steuert die Buchungs- und
-              Berechnungsmethoden für die Versteuerungsart. Er enthält
-              entweder <code class="literal">accrual</code> für die Soll-Versteuerung
-              oder <code class="literal">cash</code> für die Ist-Versteuerung.</p></dd><dt><span class="term">
-                     <code class="varname">inventory_system</code>
-                  </span></dt><dd><p>Dieser Parameter legt die Warenbuchungsmethode fest. Er
-              enthält entweder <code class="literal">perpetual</code> für die
-              Bestandsmethode oder <code class="literal">periodic</code> für die
-              Aufwandsmethode.</p></dd></dl></div><p>Zum Vergleich der Funktionalität bis und nach 2.6.3:
-        <code class="varname">eur</code> = 1 bedeutete Einnahmen-Überschuss-Rechnung,
-        Ist-Versteuerung und Aufwandsmethode. <code class="varname">eur</code> = 0
-        bedeutete hingegen Bilanzierung, Soll-Versteuerung und
-        Bestandsmethode.</p><p>Die Konfiguration "<code class="varname">eur</code>" unter
-        <code class="varname">[system]</code> in der <a class="link" href="ch02s03.html" title="2.3. kivitendo-Konfigurationsdatei">Konfigurationsdatei</a>
-        
-               <code class="filename">config/kivitendo.conf</code> wird nun nicht mehr
-        benötigt und kann entfernt werden. Dies muss manuell geschehen.</p></div><div class="sect2" title="2.12.3. Festlegen der Parameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.setting-parameters"></a>2.12.3. Festlegen der Parameter</h3></div></div></div><p>Beim Anlegen eines neuen Mandanten bzw. einer neuen Datenbank in
-        der Admininstration können diese Optionen nun unabhängig voneinander
-        eingestellt werden.</p><p>Beim Upgrade bestehender Mandanten wird eur ausgelesen und die
-        Variablen werden so gesetzt, daß sich an der Funktionalität nichts
-        ändert.</p><p>Die aktuelle Konfiguration wird unter Nummernkreise und
-        Standardkonten unter dem neuen Punkt "Einstellungen" (read-only)
-        angezeigt. Unter <span class="guimenu">System</span>
-        -&gt; <span class="guisubmenu">Mandantenkonfiguration</span> können
-        die Einstellungen auch geändert werden. Dabei ist zu beachten,
-        dass eine Änderung vorhandene Daten so belässt und damit
-        evtl. die Ergebnisse verfälscht. Dies gilt vor Allem für die
-        Warenbuchungsmethode (siehe auch
-        <a class="link" href="ch02s12.html#config.eur.inventory-system-perpetual" title="2.12.4. Bemerkungen zu Bestandsmethode">
-        Bemerkungen zu Bestandsmethode</a>).</p></div><div class="sect2" title="2.12.4. Bemerkungen zu Bestandsmethode"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.inventory-system-perpetual"></a>2.12.4. Bemerkungen zu Bestandsmethode</h3></div></div></div><p>Die Bestandsmethode ist eigentlich eine sehr elegante Methode,
-        funktioniert in kivitendo aber nur unter bestimmten Bedingungen:
-        Voraussetzung ist, daß auch immer alle Einkaufsrechnungen gepflegt
-        werden, und man beim Jahreswechsel nicht mit einer leeren Datenbank
-        anfängt, da bei jedem Verkauf anhand der gesamten Rechnungshistorie
-        der Einkaufswert der Ware nach dem FIFO-Prinzip aus den
-        Einkaufsrechnungen berechnet wird.</p><p>Die Bestandsmethode kann vom Prinzip her also nur funktioneren,
-        wenn man mit den Buchungen bei Null anfängt, und man kann auch nicht
-        im laufenden Betrieb von der Aufwandsmethode zur Bestandsmethode
-        wechseln.</p></div><div class="sect2" title="2.12.5. Bekannte Probleme"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.knonw-issues"></a>2.12.5. Bekannte Probleme</h3></div></div></div><p>Bei bestimmten Berichten kann man derzeit noch inviduell
-        einstellen, ob man nach Ist- oder Sollversteuerung auswertet, und es
-        werden im Code Variablen wie $accrual oder $cash gesetzt. Diese
-        Codestellen wurden noch nicht angepasst, sondern nur die, wo bisher
-        die Konfigurationsvariable
-        <code class="varname">$::lx_office_conf{system}-&gt;{eur}</code> ausgewertet
-        wurde.</p><p>Es fehlen Hilfetext beim Neuanlegen eines Mandanten, was die
-        Optionen bewirken, z.B. mit zwei Standardfällen.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s11.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s13.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.11. OpenDocument-Vorlagen&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</td></tr></table></div></body></html>
\ No newline at end of file
+   <title>2.12. OpenDocument-Vorlagen</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s11.html" title="2.11. Drucken mit kivitendo"><link rel="next" href="ch02s13.html" title="2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.12. OpenDocument-Vorlagen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s11.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s13.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.12. OpenDocument-Vorlagen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="OpenDocument-Vorlagen"></a>2.12. OpenDocument-Vorlagen</h2></div></div></div><p>kivitendo unterstützt die Verwendung von Vorlagen im
+      OpenDocument-Format, wie es OpenOffice.org ab Version 2 erzeugt.
+      kivitendo kann dabei sowohl neue OpenDocument-Dokumente als auch aus
+      diesen direkt PDF-Dateien erzeugen. Um die Unterstützung von
+      OpenDocument-Vorlagen zu aktivieren muss in der Datei
+      <code class="filename">config/kivitendo.conf</code> die Variable
+      <code class="literal">opendocument</code> im Abschnitt
+      <code class="literal">print_templates</code> auf ‘<code class="literal">1</code>’ stehen.
+      Dieses ist die Standardeinstellung.</p><p>Weiterhin muss in der Datei
+      <code class="filename">config/kivitendo.conf</code> die Variable
+      <code class="literal">dbcharset</code> im Abschnitt <code class="literal">system</code> auf
+      die Zeichenkodierung gesetzt werden, die auch bei der Speicherung der
+      Daten in der Datenbank verwendet wird. Diese ist in den meisten Fällen
+      "UTF-8".</p><p>Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
+      weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
+      OpenOffice.org benötigt. Soll dieses Feature genutzt werden, so muss
+      neben OpenOffice.org ab Version 2 auch der “X virtual frame buffer”
+      (xvfb) installiert werden. Bei Debian ist er im Paket “xvfb” enthalten.
+      Andere Distributionen enthalten ihn in anderen Paketen.</p><p>Nach der Installation müssen in der Datei
+      <code class="filename">config/kivitendo.conf</code> zwei weitere Variablen
+      angepasst werden: <code class="literal">openofficeorg_writer</code> muss den
+      vollständigen Pfad zur OpenOffice.org Writer-Anwendung enthalten.
+      <code class="literal">xvfb</code> muss den Pfad zum “X virtual frame buffer”
+      enthalten. Beide stehen im Abschnitt
+      <code class="literal">applications</code>.</p><p>Zusätzlich gibt es zwei verschiedene Arten, wie kivitendo mit
+      OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn die
+      Variable <code class="literal">$openofficeorg_daemon</code> gesetzt ist, startet
+      ein OpenOffice, das auch nach der Umwandlung des Dokumentes gestartet
+      bleibt. Bei weiteren Umwandlungen wird dann diese laufende Instanz
+      benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung deutlich
+      reduziert wird, weil nicht für jedes Dokument ein OpenOffice gestartet
+      werden muss. Der Nachteil ist, dass diese Methode Python und die
+      Python-UNO-Bindings benötigt, die Bestandteil von OpenOffice 2
+      sind.</p><p>Ist <code class="literal">$openofficeorg_daemon</code> nicht gesetzt, so
+      wird für jedes Dokument OpenOffice neu gestartet und die Konvertierung
+      mit Hilfe eines Makros durchgeführt. Dieses Makro muss in der
+      Dokumentenvorlage enthalten sein und
+      “Standard.Conversion.ConvertSelfToPDF()” heißen. Die Beispielvorlage
+      ‘<code class="literal">templates/mastertemplates/German/invoice.odt</code>’
+      enthält ein solches Makro, das in jeder anderen Dokumentenvorlage
+      ebenfalls enthalten sein muss.</p><p>Als letztes muss herausgefunden werden, welchen Namen
+      OpenOffice.org Writer dem Verzeichnis mit den Benutzereinstellungen
+      gibt. Unter Debian ist dies momentan
+      <code class="literal">~/.openoffice.org2</code>. Sollte der Name bei Ihrer
+      OpenOffice.org-Installation anders sein, so muss das Verzeichnis
+      <code class="literal">users/.openoffice.org2</code> entsprechend umbenannt werden.
+      Ist der Name z.B. einfach nur <code class="literal">.openoffice</code>, so wäre
+      folgender Befehl auszuführen:</p><p>
+            <code class="literal">mv users/.openoffice.org2
+      users/.openoffice</code>
+         </p><p>Dieses Verzeichnis, wie auch das komplette
+      <code class="literal">users</code>-Verzeichnis, muss vom Webserver beschreibbar
+      sein. Dieses wurde bereits erledigt (siehe <a class="xref" href="ch02s03.html" title="2.3. Manuelle Installation des Programmpaketes">Manuelle Installation des Programmpaketes</a>), kann aber
+      erneut überprüft werden, wenn die Konvertierung nach PDF
+      fehlschlägt.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s11.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s13.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.11. Drucken mit kivitendo&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
+      EUR</td></tr></table></div></body></html>
\ No newline at end of file
index dda1d39..3b6141d 100644 (file)
@@ -1,36 +1,65 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s12.html" title="2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR"><link rel="next" href="ch02s14.html" title="2.14. Einstellungen pro Mandant"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s12.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s14.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.skr04-update-3804"></a>2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</h2></div></div></div><div class="sect2" title="2.13.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.skr04-update-3804.introduction"></a>2.13.1. Einführung</h3></div></div></div><p>Die Umsatzsteuerumstellung auf 19% für SKR04 für die
-        Steuerschlüssel "EU ohne USt-ID Nummer" ist erst 2010 erfolgt.
-        kivitendo beinhaltet ein Upgradeskript, das das Konto 3804 automatisch
-        erstellt und die Steuereinstellungen korrekt einstellt. Hat der
-        Benutzer aber schon selber das Konto 3804 angelegt, oder gab es schon
-        Buchungen im Zeitraum nach dem 01.01.2007 auf das Konto 3803, wird das
-        Upgradeskript vorsichtshalber nicht ausgeführt, da der Benutzer sich
-        vielleicht schon selbst geholfen hat und mit seinen Änderungen
-        zufrieden ist. Die korrekten Einstellungen kann man aber auch per Hand
-        ausführen. Nachfolgend werden die entsprechenden Schritte anhand von
-        Screenshots dargestellt.</p><p>Für den Fall, daß Buchungen mit der Steuerschlüssel "EU ohne
-        USt.-IdNr." nach dem 01.01.2007 erfolgt sind, ist davon auszugehen,
-        dass diese mit dem alten Umsatzsteuersatz von 16% gebucht worden sind,
-        und diese Buchungen sollten entsprechend kontrolliert werden.</p></div><div class="sect2" title="2.13.2. Konto 3804 manuell anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="config.skr04-update-3804.create-chart"></a>2.13.2. Konto 3804 manuell anlegen</h3></div></div></div><p>Die folgenden Schritte sind notwendig, um das Konto manuell
-        anzulegen und zu konfigurieren. Zuerst wird in
-        <span class="guimenu">System</span> -&gt;
-        <span class="guisubmenu">Kontenübersicht</span> -&gt; <span class="guimenuitem">Konto
-        erfassen</span> das Konto angelegt.</p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/konto3804.png"></div></div><p>
-         Als Zweites muss Steuergruppe 13 für Konto 3803 angepasst werden. Dazu unter <span class="guimenu">System</span> -&gt;
-         <span class="guisubmenu">Steuern</span> -&gt; <span class="guimenuitem">Bearbeiten</span> den Eintrag mit Steuerschlüssel 13 auswählen und ihn
-         wie im folgenden Screenshot angezeigt anpassen.
-        </p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/steuer3803.png"></div></div><p>
-         Als Drittes wird ein neuer Eintrag mit Steuerschlüssel 13 für Konto 3804 (19%) angelegt. Dazu unter <span class="guimenu">System</span> -&gt;
-         <span class="guisubmenu">Steuern</span> -&gt; <span class="guimenuitem">Erfassen</span> auswählen und die Werte aus dem Screenshot übernehmen.
-        </p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/steuer3804.png"></div></div><p>
-         Als Nächstes sind alle Konten anzupassen, die als Steuerautomatikkonto die 3803 haben, sodass sie ab dem 1.1.2007 auch
-         Steuerautomatik auf 3804 bekommen. Dies betrifft in der Standardkonfiguration die Konten 4315 und 4726. Als Beispiel für 4315
-         müssen Sie dazu unter <span class="guimenu">System</span> -&gt; <span class="guisubmenu">Kontenübersicht</span> -&gt; <span class="guimenuitem">Konten
-         anzeigen</span> das Konto 4315 anklicken und die Einstellungen wie im Screenshot gezeigt vornehmen.
-        </p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/konto4315.png"></div></div><p>
-         Als Letztes sollte die Steuerliste unter <span class="guimenu">System</span> -&gt; <span class="guisubmenu">Steuern</span> -&gt;
-         <span class="guimenuitem">Bearbeiten</span> kontrolliert werden. Zum Vergleich der Screenshot.
-        </p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/steuerliste.png"></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s12.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s14.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
-      EUR&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.14. Einstellungen pro Mandant</td></tr></table></div></body></html>
\ No newline at end of file
+   <title>2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s12.html" title="2.12. OpenDocument-Vorlagen"><link rel="next" href="ch02s14.html" title="2.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
+      EUR</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s12.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s14.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.eur"></a>2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
+      EUR</h2></div></div></div><div class="sect2" title="2.13.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.introduction"></a>2.13.1. Einführung</h3></div></div></div><p>kivitendo besaß bis inklusive Version 2.6.3 einen Konfigurationsparameter namens <code class="varname">eur</code>, der sich in der
+        Konfigurationsdatei <code class="filename">config/kivitendo.conf</code> (damals noch <code class="filename">config/lx_office.conf</code>)
+        befand. Somit galt er für alle Mandanten, die in dieser Installation benutzt wurden.</p><p>Mit der nachfolgenden Version wurde der Parameter zum Einen in
+        die Mandantendatenbank verschoben und dabei auch gleich in drei
+        Einzelparameter aufgeteilt, mit denen sich das Verhalten genauer
+        steuern lässt.</p></div><div class="sect2" title="2.13.2. Konfigurationsparameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.parameters"></a>2.13.2. Konfigurationsparameter</h3></div></div></div><p>Es gibt drei Parameter, die die Gewinnermittlungsart,
+        Versteuerungsart und die Warenbuchungsmethode regeln:</p><div class="variablelist"><dl><dt><span class="term">
+                     <code class="varname">profit_determination</code>
+                  </span></dt><dd><p>Dieser Parameter legt die Berechnungsmethode für die
+              Gewinnermittlung fest. Er enthält entweder
+              <code class="literal">balance</code> für
+              Betriebsvermögensvergleich/Bilanzierung oder
+              <code class="literal">income</code> für die
+              Einnahmen-Überschuss-Rechnung.</p></dd><dt><span class="term">
+                     <code class="varname">accounting_method</code>
+                  </span></dt><dd><p>Dieser Parameter steuert die Buchungs- und
+              Berechnungsmethoden für die Versteuerungsart. Er enthält
+              entweder <code class="literal">accrual</code> für die Soll-Versteuerung
+              oder <code class="literal">cash</code> für die Ist-Versteuerung.</p></dd><dt><span class="term">
+                     <code class="varname">inventory_system</code>
+                  </span></dt><dd><p>Dieser Parameter legt die Warenbuchungsmethode fest. Er
+              enthält entweder <code class="literal">perpetual</code> für die
+              Bestandsmethode oder <code class="literal">periodic</code> für die
+              Aufwandsmethode.</p></dd></dl></div><p>Zum Vergleich der Funktionalität bis und nach 2.6.3:
+        <code class="varname">eur</code> = 1 bedeutete Einnahmen-Überschuss-Rechnung,
+        Ist-Versteuerung und Aufwandsmethode. <code class="varname">eur</code> = 0
+        bedeutete hingegen Bilanzierung, Soll-Versteuerung und
+        Bestandsmethode.</p><p>Die Konfiguration "<code class="varname">eur</code>" unter
+        <code class="varname">[system]</code> in der <a class="link" href="ch02s04.html" title="2.4. kivitendo-Konfigurationsdatei">Konfigurationsdatei</a>
+        
+               <code class="filename">config/kivitendo.conf</code> wird nun nicht mehr
+        benötigt und kann entfernt werden. Dies muss manuell geschehen.</p></div><div class="sect2" title="2.13.3. Festlegen der Parameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.setting-parameters"></a>2.13.3. Festlegen der Parameter</h3></div></div></div><p>Beim Anlegen eines neuen Mandanten bzw. einer neuen Datenbank in
+        der Admininstration können diese Optionen nun unabhängig voneinander
+        eingestellt werden.</p><p>Beim Upgrade bestehender Mandanten wird eur ausgelesen und die
+        Variablen werden so gesetzt, daß sich an der Funktionalität nichts
+        ändert.</p><p>Die aktuelle Konfiguration wird unter Nummernkreise und
+        Standardkonten unter dem neuen Punkt "Einstellungen" (read-only)
+        angezeigt. Unter <span class="guimenu">System</span>
+        -&gt; <span class="guisubmenu">Mandantenkonfiguration</span> können
+        die Einstellungen auch geändert werden. Dabei ist zu beachten,
+        dass eine Änderung vorhandene Daten so belässt und damit
+        evtl. die Ergebnisse verfälscht. Dies gilt vor Allem für die
+        Warenbuchungsmethode (siehe auch
+        <a class="link" href="ch02s13.html#config.eur.inventory-system-perpetual" title="2.13.4. Bemerkungen zu Bestandsmethode">
+        Bemerkungen zu Bestandsmethode</a>).</p></div><div class="sect2" title="2.13.4. Bemerkungen zu Bestandsmethode"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.inventory-system-perpetual"></a>2.13.4. Bemerkungen zu Bestandsmethode</h3></div></div></div><p>Die Bestandsmethode ist eigentlich eine sehr elegante Methode,
+        funktioniert in kivitendo aber nur unter bestimmten Bedingungen:
+        Voraussetzung ist, daß auch immer alle Einkaufsrechnungen gepflegt
+        werden, und man beim Jahreswechsel nicht mit einer leeren Datenbank
+        anfängt, da bei jedem Verkauf anhand der gesamten Rechnungshistorie
+        der Einkaufswert der Ware nach dem FIFO-Prinzip aus den
+        Einkaufsrechnungen berechnet wird.</p><p>Die Bestandsmethode kann vom Prinzip her also nur funktioneren,
+        wenn man mit den Buchungen bei Null anfängt, und man kann auch nicht
+        im laufenden Betrieb von der Aufwandsmethode zur Bestandsmethode
+        wechseln.</p></div><div class="sect2" title="2.13.5. Bekannte Probleme"><div class="titlepage"><div><div><h3 class="title"><a name="config.eur.knonw-issues"></a>2.13.5. Bekannte Probleme</h3></div></div></div><p>Bei bestimmten Berichten kann man derzeit noch inviduell
+        einstellen, ob man nach Ist- oder Sollversteuerung auswertet, und es
+        werden im Code Variablen wie $accrual oder $cash gesetzt. Diese
+        Codestellen wurden noch nicht angepasst, sondern nur die, wo bisher
+        die Konfigurationsvariable
+        <code class="varname">$::lx_office_conf{system}-&gt;{eur}</code> ausgewertet
+        wurde.</p><p>Es fehlen Hilfetext beim Neuanlegen eines Mandanten, was die
+        Optionen bewirken, z.B. mit zwei Standardfällen.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s12.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s14.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.12. OpenDocument-Vorlagen&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</td></tr></table></div></body></html>
\ No newline at end of file
index cfcfe91..4b29a6f 100644 (file)
@@ -1,20 +1,36 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>2.14. Einstellungen pro Mandant</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s13.html" title="2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb"><link rel="next" href="ch02s15.html" title="2.15. kivitendo ERP verwenden"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.14. Einstellungen pro Mandant</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s13.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s15.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.14. Einstellungen pro Mandant"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.client"></a>2.14. Einstellungen pro Mandant</h2></div></div></div><p>Einige Einstellungen können von einem Benutzer mit dem
-      <a class="link" href="ch02s08.html#Zusammenh%C3%A4nge" title="2.8.1. Zusammenhänge">Recht</a> "Administration
-      (Für die Verwaltung der aktuellen Instanz aus einem Userlogin heraus)"
-      gemacht werden. Diese Einstellungen sind dann für die aktuellen
-      Mandanten-Datenbank gültig. Die Einstellungen sind
-      unter <span class="guimenu">System</span>
-      -&gt; <span class="guisubmenu">Mandantenkonfiguration</span> erreichbar.</p><p>Bitte beachten Sie die Hinweise zu den einzelnen
-      Einstellungen. Einige Einstellungen sollten nicht ohne Weiteres
-      im laufenden Betrieb geändert werden (siehe
-      auch <a class="link" href="ch02s12.html#config.eur.inventory-system-perpetual" title="2.12.4. Bemerkungen zu Bestandsmethode">Bemerkungen zu
-      Bestandsmethode</a>).</p><p>Die Einstellungen <code class="literal">show_bestbefore</code>
-      und <code class="literal">payments_changeable</code> aus dem
-      Abschnitt <code class="literal">features</code> und die Einstellungen im
-      Abschnitt <code class="literal">datev_check</code> (sofern schon vorhanden)
-      der <a class="link" href="ch02s03.html" title="2.3. kivitendo-Konfigurationsdatei">kivitendo-Konfigurationsdatei</a>
-      werden bei einem Datenbankupdate einer älteren Version automatisch
-      übernommen. Diese Einträge können danach aus der Konfigurationsdatei
-      entfernt werden.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s13.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s15.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.15. kivitendo ERP verwenden</td></tr></table></div></body></html>
\ No newline at end of file
+   <title>2.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s13.html" title="2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR"><link rel="next" href="ch02s15.html" title="2.15. Einstellungen pro Mandant"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s13.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s15.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.skr04-update-3804"></a>2.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</h2></div></div></div><div class="sect2" title="2.14.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="config.skr04-update-3804.introduction"></a>2.14.1. Einführung</h3></div></div></div><p>Die Umsatzsteuerumstellung auf 19% für SKR04 für die
+        Steuerschlüssel "EU ohne USt-ID Nummer" ist erst 2010 erfolgt.
+        kivitendo beinhaltet ein Upgradeskript, das das Konto 3804 automatisch
+        erstellt und die Steuereinstellungen korrekt einstellt. Hat der
+        Benutzer aber schon selber das Konto 3804 angelegt, oder gab es schon
+        Buchungen im Zeitraum nach dem 01.01.2007 auf das Konto 3803, wird das
+        Upgradeskript vorsichtshalber nicht ausgeführt, da der Benutzer sich
+        vielleicht schon selbst geholfen hat und mit seinen Änderungen
+        zufrieden ist. Die korrekten Einstellungen kann man aber auch per Hand
+        ausführen. Nachfolgend werden die entsprechenden Schritte anhand von
+        Screenshots dargestellt.</p><p>Für den Fall, daß Buchungen mit der Steuerschlüssel "EU ohne
+        USt.-IdNr." nach dem 01.01.2007 erfolgt sind, ist davon auszugehen,
+        dass diese mit dem alten Umsatzsteuersatz von 16% gebucht worden sind,
+        und diese Buchungen sollten entsprechend kontrolliert werden.</p></div><div class="sect2" title="2.14.2. Konto 3804 manuell anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="config.skr04-update-3804.create-chart"></a>2.14.2. Konto 3804 manuell anlegen</h3></div></div></div><p>Die folgenden Schritte sind notwendig, um das Konto manuell
+        anzulegen und zu konfigurieren. Zuerst wird in
+        <span class="guimenu">System</span> -&gt;
+        <span class="guisubmenu">Kontenübersicht</span> -&gt; <span class="guimenuitem">Konto
+        erfassen</span> das Konto angelegt.</p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/konto3804.png"></div></div><p>
+         Als Zweites muss Steuergruppe 13 für Konto 3803 angepasst werden. Dazu unter <span class="guimenu">System</span> -&gt;
+         <span class="guisubmenu">Steuern</span> -&gt; <span class="guimenuitem">Bearbeiten</span> den Eintrag mit Steuerschlüssel 13 auswählen und ihn
+         wie im folgenden Screenshot angezeigt anpassen.
+        </p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/steuer3803.png"></div></div><p>
+         Als Drittes wird ein neuer Eintrag mit Steuerschlüssel 13 für Konto 3804 (19%) angelegt. Dazu unter <span class="guimenu">System</span> -&gt;
+         <span class="guisubmenu">Steuern</span> -&gt; <span class="guimenuitem">Erfassen</span> auswählen und die Werte aus dem Screenshot übernehmen.
+        </p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/steuer3804.png"></div></div><p>
+         Als Nächstes sind alle Konten anzupassen, die als Steuerautomatikkonto die 3803 haben, sodass sie ab dem 1.1.2007 auch
+         Steuerautomatik auf 3804 bekommen. Dies betrifft in der Standardkonfiguration die Konten 4315 und 4726. Als Beispiel für 4315
+         müssen Sie dazu unter <span class="guimenu">System</span> -&gt; <span class="guisubmenu">Kontenübersicht</span> -&gt; <span class="guimenuitem">Konten
+         anzeigen</span> das Konto 4315 anklicken und die Einstellungen wie im Screenshot gezeigt vornehmen.
+        </p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/konto4315.png"></div></div><p>
+         Als Letztes sollte die Steuerliste unter <span class="guimenu">System</span> -&gt; <span class="guisubmenu">Steuern</span> -&gt;
+         <span class="guimenuitem">Bearbeiten</span> kontrolliert werden. Zum Vergleich der Screenshot.
+        </p><div class="screenshot"><div class="mediaobject"><img src="images/skr04-update-3804/steuerliste.png"></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s13.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s15.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
+      EUR&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.15. Einstellungen pro Mandant</td></tr></table></div></body></html>
\ No newline at end of file
index bc16a07..c5be100 100644 (file)
@@ -1,8 +1,20 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>2.15. kivitendo ERP verwenden</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s14.html" title="2.14. Einstellungen pro Mandant"><link rel="next" href="ch03.html" title="Kapitel 3. Features und Funktionen"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.15. kivitendo ERP verwenden</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s14.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.15. kivitendo ERP verwenden"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="kivitendo-ERP-verwenden"></a>2.15. kivitendo ERP verwenden</h2></div></div></div><p>Nach erfolgreicher Installation ist der Loginbildschirm unter
-      folgender URL erreichbar:</p><p>
-            <a class="ulink" href="http://localhost/kivitendo-erp/login.pl" target="_top">http://localhost/kivitendo-erp/login.pl</a>
-         </p><p>Die Administrationsseite erreichen Sie unter:</p><p>
-            <a class="ulink" href="http://localhost/kivitendo-erp/admin.pl" target="_top">http://localhost/kivitendo-erp/admin.pl</a>
-         </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s14.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.14. Einstellungen pro Mandant&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;Kapitel 3. Features und Funktionen</td></tr></table></div></body></html>
\ No newline at end of file
+   <title>2.15. Einstellungen pro Mandant</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s14.html" title="2.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb"><link rel="next" href="ch02s16.html" title="2.16. kivitendo ERP verwenden"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.15. Einstellungen pro Mandant</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s14.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s16.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.15. Einstellungen pro Mandant"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.client"></a>2.15. Einstellungen pro Mandant</h2></div></div></div><p>Einige Einstellungen können von einem Benutzer mit dem
+      <a class="link" href="ch02s09.html#Zusammenh%C3%A4nge" title="2.9.1. Zusammenhänge">Recht</a> "Administration
+      (Für die Verwaltung der aktuellen Instanz aus einem Userlogin heraus)"
+      gemacht werden. Diese Einstellungen sind dann für die aktuellen
+      Mandanten-Datenbank gültig. Die Einstellungen sind
+      unter <span class="guimenu">System</span>
+      -&gt; <span class="guisubmenu">Mandantenkonfiguration</span> erreichbar.</p><p>Bitte beachten Sie die Hinweise zu den einzelnen
+      Einstellungen. Einige Einstellungen sollten nicht ohne Weiteres
+      im laufenden Betrieb geändert werden (siehe
+      auch <a class="link" href="ch02s13.html#config.eur.inventory-system-perpetual" title="2.13.4. Bemerkungen zu Bestandsmethode">Bemerkungen zu
+      Bestandsmethode</a>).</p><p>Die Einstellungen <code class="literal">show_bestbefore</code>
+      und <code class="literal">payments_changeable</code> aus dem
+      Abschnitt <code class="literal">features</code> und die Einstellungen im
+      Abschnitt <code class="literal">datev_check</code> (sofern schon vorhanden)
+      der <a class="link" href="ch02s04.html" title="2.4. kivitendo-Konfigurationsdatei">kivitendo-Konfigurationsdatei</a>
+      werden bei einem Datenbankupdate einer älteren Version automatisch
+      übernommen. Diese Einträge können danach aus der Konfigurationsdatei
+      entfernt werden.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s14.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s16.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.16. kivitendo ERP verwenden</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/doc/html/ch02s16.html b/doc/html/ch02s16.html
new file mode 100644 (file)
index 0000000..15b71bb
--- /dev/null
@@ -0,0 +1,8 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <title>2.16. kivitendo ERP verwenden</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s15.html" title="2.15. Einstellungen pro Mandant"><link rel="next" href="ch03.html" title="Kapitel 3. Features und Funktionen"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.16. kivitendo ERP verwenden</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s15.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.16. kivitendo ERP verwenden"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="kivitendo-ERP-verwenden"></a>2.16. kivitendo ERP verwenden</h2></div></div></div><p>Nach erfolgreicher Installation ist der Loginbildschirm unter
+      folgender URL erreichbar:</p><p>
+            <a class="ulink" href="http://localhost/kivitendo-erp/login.pl" target="_top">http://localhost/kivitendo-erp/login.pl</a>
+         </p><p>Die Administrationsseite erreichen Sie unter:</p><p>
+            <a class="ulink" href="http://localhost/kivitendo-erp/admin.pl" target="_top">http://localhost/kivitendo-erp/admin.pl</a>
+         </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s15.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.15. Einstellungen pro Mandant&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;Kapitel 3. Features und Funktionen</td></tr></table></div></body></html>
\ No newline at end of file
index 94be1a2..0d33263 100644 (file)
@@ -1,6 +1,6 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>Kapitel 3. Features und Funktionen</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch02s15.html" title="2.15. kivitendo ERP verwenden"><link rel="next" href="ch03s02.html" title="3.2. Dokumentenvorlagen und verfügbare Variablen"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Kapitel 3. Features und Funktionen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s15.html">Zurück</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch03s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 3. Features und Funktionen"><div class="titlepage"><div><div><h2 class="title"><a name="features"></a>Kapitel 3. Features und Funktionen</h2></div></div></div><div class="sect1" title="3.1. Wiederkehrende Rechnungen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="features.periodic-invoices"></a>3.1. Wiederkehrende Rechnungen</h2></div></div></div><div class="sect2" title="3.1.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.introduction"></a>3.1.1. Einführung</h3></div></div></div><p>Wiederkehrende Rechnungen werden als normale Aufträge definiert
+   <title>Kapitel 3. Features und Funktionen</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch02s16.html" title="2.16. kivitendo ERP verwenden"><link rel="next" href="ch03s02.html" title="3.2. Dokumentenvorlagen und verfügbare Variablen"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Kapitel 3. Features und Funktionen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s16.html">Zurück</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch03s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 3. Features und Funktionen"><div class="titlepage"><div><div><h2 class="title"><a name="features"></a>Kapitel 3. Features und Funktionen</h2></div></div></div><div class="sect1" title="3.1. Wiederkehrende Rechnungen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="features.periodic-invoices"></a>3.1. Wiederkehrende Rechnungen</h2></div></div></div><div class="sect2" title="3.1.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.introduction"></a>3.1.1. Einführung</h3></div></div></div><p>Wiederkehrende Rechnungen werden als normale Aufträge definiert
         und konfiguriert, mit allen dazugehörigen Kunden- und Artikelangaben.
         Die konfigurierten Aufträge werden später automatisch in Rechnungen
         umgewandelt, so als ob man den Workflow benutzen würde, und auch die
@@ -35,7 +35,7 @@
               automatisch nach hinten geschoben wird.</p></dd><dt><span class="term">Drucken</span></dt><dd><p>Sind Drucker konfiguriert, so kann man sich die erstellten
               Rechnungen auch gleich ausdrucken lassen.</p></dd></dl></div><p>Nach Erstellung der Rechnungen kann eine E-Mail mit
         Informationen zu den erstellten Rechnungen verschickt werden.
-        Konfiguriert wird dies in der <a class="link" href="ch02s03.html#config.config-file.sections-parameters" title="2.3.2. Abschnitte und Parameter">Konfigurationsdatei</a>
+        Konfiguriert wird dies in der <a class="link" href="ch02s04.html#config.config-file.sections-parameters" title="2.4.2. Abschnitte und Parameter">Konfigurationsdatei</a>
         
                <code class="filename">config/kivitendo.conf</code> im Abschnitt
         <code class="varname">[periodic_invoices]</code>.</p></div><div class="sect2" title="3.1.3. Auflisten"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.reports"></a>3.1.3. Auflisten</h3></div></div></div><p>Unter Verkauf-&gt;Berichte-&gt;Aufträge finden sich zwei neue
@@ -43,7 +43,7 @@
         Rechnungen inaktiv", mit denen man sich einen Überglick über die
         wiederkehrenden Rechnungen verschaffen kann.</p></div><div class="sect2" title="3.1.4. Erzeugung der eigentlichen Rechnungen"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.task-server"></a>3.1.4. Erzeugung der eigentlichen Rechnungen</h3></div></div></div><p>Die zeitliche und periodische Überprüfung, ob eine
         wiederkehrende Rechnung automatisch erstellt werden soll, geschieht
-        durch den <a class="link" href="ch02s06.html" title="2.6. Der Task-Server">Taskserver</a>, einen
+        durch den <a class="link" href="ch02s07.html" title="2.7. Der Task-Server">Taskserver</a>, einen
         externen Dienst, der automatisch beim Start des Servers gestartet
         werden sollte.</p></div><div class="sect2" title="3.1.5. Erste Rechnung für aktuellen Monat erstellen"><div class="titlepage"><div><div><h3 class="title"><a name="features.periodic-invoices.create-for-current-month"></a>3.1.5. Erste Rechnung für aktuellen Monat erstellen</h3></div></div></div><p>Will man im laufenden Monat eine monatlich wiederkehrende
         Rechnung inkl. des laufenden Monats starten, stellt man das Startdatum
@@ -51,4 +51,4 @@
         den neu konfigurieren Auftrag erkennt und daraus eine Rechnung
         generiert hat. Alternativ setzt man das Startdatum auf den
         Monatsersten des Folgemonats und erstellt die erste Rechnung direkt
-        manuell über den Workflow.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s15.html">Zurück</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch03s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.15. kivitendo ERP verwenden&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;3.2. Dokumentenvorlagen und verfügbare Variablen</td></tr></table></div></body></html>
\ No newline at end of file
+        manuell über den Workflow.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s16.html">Zurück</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch03s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.16. kivitendo ERP verwenden&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;3.2. Dokumentenvorlagen und verfügbare Variablen</td></tr></table></div></body></html>
\ No newline at end of file
index e15e1c0..0de985b 100644 (file)
                      </span></dt><dd><p>Telefonnummer des Lieferanten; nur für
                 Lieferanten</p></dd><dt><span class="term">
                         <code class="varname">zipcode</code>
-                     </span></dt><dd><p>Postleitzahl</p></dd></dl></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="../../../../system/docbook-xsl/images/note.png"></td><th align="left"><a name="dokumentenvorlagen-und-variablen.anmerkung-shipto"></a>Anmerkung</th></tr><tr><td align="left" valign="top"><p>Anmerkung: Sind die <code class="varname">shipto*</code>-Felder in den
+                     </span></dt><dd><p>Postleitzahl</p></dd></dl></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left"><a name="dokumentenvorlagen-und-variablen.anmerkung-shipto"></a>Anmerkung</th></tr><tr><td align="left" valign="top"><p>Anmerkung: Sind die <code class="varname">shipto*</code>-Felder in den
             Stammdaten nicht eingetragen, so haben die Variablen
             <code class="varname">shipto*</code> den gleichen Wert wie die die
             entsprechenden Variablen der Lieferdaten. Das bedeutet, dass sich
                         <code class="varname">invdate</code>
                      </span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term">
                         <code class="varname">invnumber</code>
-                     </span></dt><dd><p>Rechnungsnummer</p></dd></dl></div></div></div><div class="sect2" title="3.2.10. Variablen in anderen Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen"></a>3.2.10. Variablen in anderen Vorlagen</h3></div></div></div><div class="sect3" title="3.2.10.1. Einführung"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4045"></a>3.2.10.1. Einführung</h4></div></div></div><p>Die Variablen in anderen Vorlagen sind ähnlich wie in der
+                     </span></dt><dd><p>Rechnungsnummer</p></dd></dl></div></div></div><div class="sect2" title="3.2.10. Variablen in anderen Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen"></a>3.2.10. Variablen in anderen Vorlagen</h3></div></div></div><div class="sect3" title="3.2.10.1. Einführung"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4421"></a>3.2.10.1. Einführung</h4></div></div></div><p>Die Variablen in anderen Vorlagen sind ähnlich wie in der
           Rechnung. Allerdings heißen die Variablen, die mit
           <code class="varname">inv</code> beginnen, jetzt anders. Bei den Angeboten
           fangen sie mit <code class="varname">quo</code> für "quotation" an:
 ...
 &lt;%end%&gt;</pre><p>Eine normale "if-then"-Bedingung. Die Zeilen zwischen dem "if"
           und dem "end" werden nur ausgegeben, wenn die Variable
-          <code class="varname">variablenname</code> gesetzt und ungleich 0 ist.</p><p>Die Bedingung kann auch negiert werden, indem das Wort
+          <code class="varname">variablenname</code> gesetzt und ungleich 0 ist.</p><p>Handelt es sich bei der benannten Variable um ein Array, also um einen Variablennamen, über den man mit
+          <span class="command"><strong>&lt;%foreach variablenname%&gt;</strong></span> iteriert, so wird mit diesem Konstrukt darauf getestet, ob das Array Elemente
+          enthält. Somit würde im folgenden Beispiel nur dann eine Liste von Zahlungseingängen samt ihrer Überschrift "Zahlungseingänge"
+          ausgegeben, wenn tatsächlich welche getätigt wurden:</p><pre class="programlisting">&lt;%if payment%&gt;
+Zahlungseingänge:
+ &lt;%foreach payment%&gt;
+   Am &lt;%paymentdate%&gt;: &lt;%payment%&gt; €
+ &lt;%end foreach%&gt;
+&lt;%end if%&gt;</pre><p>Die Bedingung kann auch negiert werden, indem das Wort
           <code class="function">not</code> nach dem <code class="filename">if</code> verwendet
           wird. Beispiel:</p><pre class="programlisting">&lt;%if not cp_greeting%&gt;
 ...
index 2856d45..6e505bb 100644 (file)
@@ -1,6 +1,6 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>Kapitel 4. Entwicklerdokumentation</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch03s03.html" title="3.3. Excel-Vorlagen"><link rel="next" href="ch04s02.html" title="4.2. Entwicklung unter FastCGI"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Kapitel 4. Entwicklerdokumentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s03.html">Zurück</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch04s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 4. Entwicklerdokumentation"><div class="titlepage"><div><div><h2 class="title"><a name="d0e4645"></a>Kapitel 4. Entwicklerdokumentation</h2></div></div></div><div class="sect1" title="4.1. Globale Variablen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.globals"></a>4.1. Globale Variablen</h2></div></div></div><div class="sect2" title="4.1.1. Wie sehen globale Variablen in Perl aus?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e4651"></a>4.1.1. Wie sehen globale Variablen in Perl aus?</h3></div></div></div><p>Globale Variablen liegen in einem speziellen namespace namens
+   <title>Kapitel 4. Entwicklerdokumentation</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch03s03.html" title="3.3. Excel-Vorlagen"><link rel="next" href="ch04s02.html" title="4.2. Entwicklung unter FastCGI"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Kapitel 4. Entwicklerdokumentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s03.html">Zurück</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch04s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 4. Entwicklerdokumentation"><div class="titlepage"><div><div><h2 class="title"><a name="d0e5028"></a>Kapitel 4. Entwicklerdokumentation</h2></div></div></div><div class="sect1" title="4.1. Globale Variablen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.globals"></a>4.1. Globale Variablen</h2></div></div></div><div class="sect2" title="4.1.1. Wie sehen globale Variablen in Perl aus?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5034"></a>4.1.1. Wie sehen globale Variablen in Perl aus?</h3></div></div></div><p>Globale Variablen liegen in einem speziellen namespace namens
         "main", der von überall erreichbar ist. Darüber hinaus sind bareword
         globs global und die meisten speziellen Variablen sind...
         speziell.</p><p>Daraus ergeben sich folgende Formen:</p><div class="variablelist"><dl><dt><span class="term">
@@ -25,7 +25,7 @@
               <code class="varname">$PACKAGE::form</code>.</p></dd><dt><span class="term">
                      <code class="literal">local $form</code>
                   </span></dt><dd><p>Alle Änderungen an <code class="varname">$form</code> werden am Ende
-              des scopes zurückgesetzt</p></dd></dl></div></div><div class="sect2" title="4.1.2. Warum sind globale Variablen ein Problem?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e4752"></a>4.1.2. Warum sind globale Variablen ein Problem?</h3></div></div></div><p>Das erste Problem ist <span class="productname">FCGI</span>™.</p><p>
+              des scopes zurückgesetzt</p></dd></dl></div></div><div class="sect2" title="4.1.2. Warum sind globale Variablen ein Problem?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5135"></a>4.1.2. Warum sind globale Variablen ein Problem?</h3></div></div></div><p>Das erste Problem ist <span class="productname">FCGI</span>™.</p><p>
                <span class="productname">SQL-Ledger</span>™ hat fast alles im globalen
         namespace abgelegt, und erwartet, dass es da auch wiederzufinden ist.
         Unter <span class="productname">FCGI</span>™ müssen diese Sachen aber wieder
@@ -39,7 +39,7 @@
         dies hat, seit der Einführung, u.a. schon so manche langwierige
         Bug-Suche verkürzt. Da globale Variablen aber implizit mit Package
         angegeben werden, werden die nicht geprüft, und somit kann sich
-        schnell ein Tippfehler einschleichen.</p></div><div class="sect2" title="4.1.3. Kanonische globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e4785"></a>4.1.3. Kanonische globale Variablen</h3></div></div></div><p>Um dieses Problem im Griff zu halten gibt es einige wenige
+        schnell ein Tippfehler einschleichen.</p></div><div class="sect2" title="4.1.3. Kanonische globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5168"></a>4.1.3. Kanonische globale Variablen</h3></div></div></div><p>Um dieses Problem im Griff zu halten gibt es einige wenige
         globale Variablen, die kanonisch sind, d.h. sie haben bestimmte
         vorgegebenen Eigenschaften, und alles andere sollte anderweitig
         umhergereicht werden.</p><p>Diese Variablen sind im Moment die folgenden neun:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
@@ -62,7 +62,7 @@
                      <code class="varname">$::request</code>
                   </p></li></ul></div><p>Damit diese nicht erneut als Müllhalde missbraucht werden, im
         Folgenden eine kurze Erläuterung der bestimmten vorgegebenen
-        Eigenschaften (Konventionen):</p><div class="sect3" title="4.1.3.1. $::form"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4849"></a>4.1.3.1. $::form</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Ist ein Objekt der Klasse
+        Eigenschaften (Konventionen):</p><div class="sect3" title="4.1.3.1. $::form"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5232"></a>4.1.3.1. $::form</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Ist ein Objekt der Klasse
               "<code class="classname">Form</code>"</p></li><li class="listitem"><p>Wird nach jedem Request gelöscht</p></li><li class="listitem"><p>Muss auch in Tests und Konsolenscripts vorhanden
               sein.</p></li><li class="listitem"><p>Enthält am Anfang eines Requests die Requestparameter vom
               User</p></li><li class="listitem"><p>Kann zwar intern über Requestgrenzen ein Datenbankhandle
   push @{ $form-&gt;{TEMPLATE_ARRAYS}{number} },          $form-&gt;{"partnumber_$i"};
   push @{ $form-&gt;{TEMPLATE_ARRAYS}{description} },     $form-&gt;{"description_$i"};
   # ...
-}</pre></div><div class="sect3" title="4.1.3.2. %::myconfig"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4933"></a>4.1.3.2. %::myconfig</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Das einzige Hash unter den globalen Variablen</p></li><li class="listitem"><p>Wird spätestens benötigt wenn auf die Datenbank
+}</pre></div><div class="sect3" title="4.1.3.2. %::myconfig"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5316"></a>4.1.3.2. %::myconfig</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Das einzige Hash unter den globalen Variablen</p></li><li class="listitem"><p>Wird spätestens benötigt wenn auf die Datenbank
               zugegriffen wird</p></li><li class="listitem"><p>Wird bei jedem Request neu erstellt.</p></li><li class="listitem"><p>Enthält die Userdaten des aktuellen Logins</p></li><li class="listitem"><p>Sollte nicht ohne Filterung irgendwo gedumpt werden oder
               extern serialisiert werden, weil da auch der Datenbankzugriff
               für diesen user drinsteht.</p></li><li class="listitem"><p>Enthält unter anderem Listenbegrenzung vclimit,
           überwiegend die Daten, die sich unter <span class="guimenu">Programm</span>
           -&gt; <span class="guimenuitem">Einstellungen</span> befinden, bzw. die
           Informationen über den Benutzer die über die
-          Administrator-Schnittstelle (admin.pl) eingegeben wurden.</p></div><div class="sect3" title="4.1.3.3. $::locale"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4972"></a>4.1.3.3. $::locale</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "Locale"</p></li><li class="listitem"><p>Wird pro Request erstellt</p></li><li class="listitem"><p>Muss auch für Tests und Scripte immer verfügbar
+          Administrator-Schnittstelle (admin.pl) eingegeben wurden.</p></div><div class="sect3" title="4.1.3.3. $::locale"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5355"></a>4.1.3.3. $::locale</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "Locale"</p></li><li class="listitem"><p>Wird pro Request erstellt</p></li><li class="listitem"><p>Muss auch für Tests und Scripte immer verfügbar
               sein.</p></li><li class="listitem"><p>Cached intern über Requestgrenzen hinweg benutzte
               Locales</p></li></ul></div><p>Lokalisierung für den aktuellen User. Alle Übersetzungen,
-          Zahlen- und Datumsformatierungen laufen über dieses Objekt.</p></div><div class="sect3" title="4.1.3.4. $::lxdebug"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4990"></a>4.1.3.4. $::lxdebug</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "LXDebug"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Muss immer verfügbar sein, in nahezu allen
+          Zahlen- und Datumsformatierungen laufen über dieses Objekt.</p></div><div class="sect3" title="4.1.3.4. $::lxdebug"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5373"></a>4.1.3.4. $::lxdebug</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "LXDebug"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Muss immer verfügbar sein, in nahezu allen
               Funktionen</p></li></ul></div><p>
                   <code class="varname">$::lxdebug</code> stellt Debuggingfunktionen
           bereit, wie "<code class="function">enter_sub</code>" und
           "<code class="function">message</code>" und "<code class="function">dump</code>" mit
           denen man flott Informationen ins Log (tmp/kivitendo-debug.log)
           packen kann.</p><p>Beispielsweise so:</p><pre class="programlisting">$main::lxdebug-&gt;message(0, 'Meine Konfig:' . Dumper (%::myconfig));
-$main::lxdebug-&gt;message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form-&gt;{vc});</pre></div><div class="sect3" title="4.1.3.5. $::auth"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5027"></a>4.1.3.5. $::auth</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "SL::Auth"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Hat eine permanente DB Verbindung zur Authdatenbank</p></li><li class="listitem"><p>Wird nach jedem Request resettet.</p></li></ul></div><p>
+$main::lxdebug-&gt;message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form-&gt;{vc});</pre></div><div class="sect3" title="4.1.3.5. $::auth"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5410"></a>4.1.3.5. $::auth</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "SL::Auth"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Hat eine permanente DB Verbindung zur Authdatenbank</p></li><li class="listitem"><p>Wird nach jedem Request resettet.</p></li></ul></div><p>
                   <code class="varname">$::auth</code> stellt Funktionen bereit um die
           Rechte des aktuellen Users abzufragen. Obwohl diese Informationen
           vom aktuellen User abhängen wird das Objekt aus
           Geschwindigkeitsgründen nur einmal angelegt und dann nach jedem
-          Request kurz resettet.</p></div><div class="sect3" title="4.1.3.6. $::lx_office_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5048"></a>4.1.3.6. $::lx_office_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
+          Request kurz resettet.</p></div><div class="sect3" title="4.1.3.6. $::lx_office_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5431"></a>4.1.3.6. $::lx_office_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
               "<code class="classname">SL::LxOfficeConf</code>"</p></li><li class="listitem"><p>Global gecached</p></li><li class="listitem"><p>Repräsentation der
               <code class="filename">config/kivitendo.conf[.default]</code>-Dateien</p></li></ul></div><p>Globale Konfiguration. Configdateien werden zum Start gelesen
           und danach nicht mehr angefasst. Es ist derzeit nicht geplant, dass
@@ -149,17 +149,17 @@ $main::lxdebug-&gt;message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form-&gt;{
           verfügbar:</p><pre class="programlisting">[debug]
 file = /tmp/kivitendo-debug.log</pre><p>ist der Key <code class="varname">file</code> im Programm als
           <code class="varname">$::lx_office_conf-&gt;{debug}{file}</code>
-          erreichbar.</p><div class="warning" title="Warnung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warnung]" src="../../../../system/docbook-xsl/images/warning.png"></td><th align="left">Warnung</th></tr><tr><td align="left" valign="top"><p>Zugriff auf die Konfiguration erfolgt im Moment über
-            Hashkeys, sind also nicht gegen Tippfehler abgesichert.</p></td></tr></table></div></div><div class="sect3" title="4.1.3.7. $::instance_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5084"></a>4.1.3.7. $::instance_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
+          erreichbar.</p><div class="warning" title="Warnung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warnung]" src="system/docbook-xsl/images/warning.png"></td><th align="left">Warnung</th></tr><tr><td align="left" valign="top"><p>Zugriff auf die Konfiguration erfolgt im Moment über
+            Hashkeys, sind also nicht gegen Tippfehler abgesichert.</p></td></tr></table></div></div><div class="sect3" title="4.1.3.7. $::instance_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5467"></a>4.1.3.7. $::instance_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
               "<code class="classname">SL::InstanceConfiguration</code>"</p></li><li class="listitem"><p>wird pro Request neu erstellt</p></li></ul></div><p>Funktioniert wie <code class="varname">$::lx_office_conf</code>,
           speichert aber Daten die von der Instanz abhängig sind. Eine Instanz
           ist hier eine Mandantendatenbank. Beispielsweise überprüft
           </p><pre class="programlisting">$::instance_conf-&gt;get_inventory_system eq 'perpetual'</pre><p>
-          ob die berüchtigte Bestandsmethode zur Anwendung kommt.</p></div><div class="sect3" title="4.1.3.8. $::dispatcher"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5105"></a>4.1.3.8. $::dispatcher</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
+          ob die berüchtigte Bestandsmethode zur Anwendung kommt.</p></div><div class="sect3" title="4.1.3.8. $::dispatcher"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5488"></a>4.1.3.8. $::dispatcher</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
               "<code class="varname">SL::Dispatcher</code>"</p></li><li class="listitem"><p>wird pro Serverprozess erstellt.</p></li><li class="listitem"><p>enthält Informationen über die technische Verbindung zum
               Server</p></li></ul></div><p>Der dritte Punkt ist auch der einzige Grund warum das Objekt
           global gespeichert wird. Wird vermutlich irgendwann in einem anderen
-          Objekt untergebracht.</p></div><div class="sect3" title="4.1.3.9. $::request"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5123"></a>4.1.3.9. $::request</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Hashref (evtl später Objekt)</p></li><li class="listitem"><p>Wird pro Request neu initialisiert.</p></li><li class="listitem"><p>Keine Unterstruktur garantiert.</p></li></ul></div><p>
+          Objekt untergebracht.</p></div><div class="sect3" title="4.1.3.9. $::request"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5506"></a>4.1.3.9. $::request</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Hashref (evtl später Objekt)</p></li><li class="listitem"><p>Wird pro Request neu initialisiert.</p></li><li class="listitem"><p>Keine Unterstruktur garantiert.</p></li></ul></div><p>
                   <code class="varname">$::request</code> ist ein generischer Platz um
           Daten "für den aktuellen Request" abzulegen. Sollte nicht für action
           at a distance benutzt werden, sondern um lokales memoizing zu
@@ -172,20 +172,20 @@ file = /tmp/kivitendo-debug.log</pre><p>ist der Key <code class="varname">file</
               <code class="varname">$::request</code>
                      </p></li><li class="listitem"><p>Muss ich von anderen Teilen des Programms lesend drauf
               zugreifen? Dann <code class="varname">$::request</code>, aber Zugriff über
-              Wrappermethode</p></li></ul></div></div></div><div class="sect2" title="4.1.4. Ehemalige globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5165"></a>4.1.4. Ehemalige globale Variablen</h3></div></div></div><p>Die folgenden Variablen waren einmal im Programm, und wurden
-        entfernt.</p><div class="sect3" title="4.1.4.1. $::cgi"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5170"></a>4.1.4.1. $::cgi</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil cookie Methoden nicht als
+              Wrappermethode</p></li></ul></div></div></div><div class="sect2" title="4.1.4. Ehemalige globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5548"></a>4.1.4. Ehemalige globale Variablen</h3></div></div></div><p>Die folgenden Variablen waren einmal im Programm, und wurden
+        entfernt.</p><div class="sect3" title="4.1.4.1. $::cgi"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5553"></a>4.1.4.1. $::cgi</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil cookie Methoden nicht als
               Klassenfunktionen funktionieren</p></li><li class="listitem"><p>Aufruf als Klasse erzeugt Dummyobjekt was im
               Klassennamespace gehalten wird und über Requestgrenzen
               leaked</p></li><li class="listitem"><p>liegt jetzt unter
               <code class="varname">$::request-&gt;{cgi}</code>
-                     </p></li></ul></div></div><div class="sect3" title="4.1.4.2. $::all_units"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5186"></a>4.1.4.2. $::all_units</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil einige Funktionen in Schleifen zum Teil
+                     </p></li></ul></div></div><div class="sect3" title="4.1.4.2. $::all_units"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5569"></a>4.1.4.2. $::all_units</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil einige Funktionen in Schleifen zum Teil
               ein paar hundert mal pro Request eine Liste der Einheiten
               brauchen, und de als Parameter durch einen Riesenstack von
               Funktionen geschleift werden müssten.</p></li><li class="listitem"><p>Liegt jetzt unter
               <code class="varname">$::request-&gt;{cache}{all_units}</code>
                      </p></li><li class="listitem"><p>Wird nur in
               <code class="function">AM-&gt;retrieve_all_units()</code> gesetzt oder
-              gelesen.</p></li></ul></div></div><div class="sect3" title="4.1.4.3. %::called_subs"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5205"></a>4.1.4.3. %::called_subs</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>wurde benutzt um callsub deep recursions
+              gelesen.</p></li></ul></div></div><div class="sect3" title="4.1.4.3. %::called_subs"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5588"></a>4.1.4.3. %::called_subs</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>wurde benutzt um callsub deep recursions
               abzufangen.</p></li><li class="listitem"><p>Wurde entfernt, weil callsub nur einen Bruchteil der
               möglichen Rekursioenen darstellt, und da nie welche
               auftreten.</p></li><li class="listitem"><p>komplette recursion protection wurde entfernt.</p></li></ul></div></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s03.html">Zurück</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch04s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">3.3. Excel-Vorlagen&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;4.2. Entwicklung unter FastCGI</td></tr></table></div></body></html>
\ No newline at end of file
index bae0cca..c542cbf 100644 (file)
@@ -1,6 +1,6 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>4.4. Translations and languages</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="prev" href="ch04s03.html" title="4.3. SQL-Upgradedateien"><link rel="next" href="ch04s05.html" title="4.5. Die kivitendo-Test-Suite"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.4. Translations and languages</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s03.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 4. Entwicklerdokumentation</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch04s05.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="4.4. Translations and languages"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="translations-languages"></a>4.4. Translations and languages</h2></div></div></div><div class="sect2" title="4.4.1. Introduction"><div class="titlepage"><div><div><h3 class="title"><a name="translations-languages.introduction"></a>4.4.1. Introduction</h3></div></div></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="../../../../system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Dieser Abschnitt ist in Englisch geschrieben, um
+   <title>4.4. Translations and languages</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="prev" href="ch04s03.html" title="4.3. SQL-Upgradedateien"><link rel="next" href="ch04s05.html" title="4.5. Die kivitendo-Test-Suite"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.4. Translations and languages</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s03.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 4. Entwicklerdokumentation</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch04s05.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="4.4. Translations and languages"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="translations-languages"></a>4.4. Translations and languages</h2></div></div></div><div class="sect2" title="4.4.1. Introduction"><div class="titlepage"><div><div><h3 class="title"><a name="translations-languages.introduction"></a>4.4.1. Introduction</h3></div></div></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Dieser Abschnitt ist in Englisch geschrieben, um
           internationalen Übersetzern die Arbeit zu erleichtern.</p></td></tr></table></div><p>This section describes how localization packages in kivitendo
         are built. Currently the only language fully supported is German, and
         since most of the internal messages are held in English the English
index 87fee77..638a835 100644 (file)
@@ -3,7 +3,10 @@
    <title>4.5. Die kivitendo-Test-Suite</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="prev" href="ch04s04.html" title="4.4. Translations and languages"><link rel="next" href="ch04s06.html" title="4.6. Stil-Richtlinien"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.5. Die kivitendo-Test-Suite</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s04.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 4. Entwicklerdokumentation</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch04s06.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="4.5. Die kivitendo-Test-Suite"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.testsuite"></a>4.5. Die kivitendo-Test-Suite</h2></div></div></div><div class="sect2" title="4.5.1. Einführung"><div class="titlepage"><div><div><h3 class="title"><a name="devel.testsuite.intro"></a>4.5.1. Einführung</h3></div></div></div><p>kivitendo enthält eine Suite für automatisierte Tests. Sie basiert auf dem Standard-Perl-Modul <code class="literal">Test::More</code>.</p><p>Die grundlegenden Fakten sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Alle Tests liegen im Unterverzeichnis <code class="filename">t/</code>.</p></li><li class="listitem"><p>Ein Script (bzw. ein Test) in <code class="filename">f/</code> enthält einen oder mehrere Testfälle.</p></li><li class="listitem"><p>Alle Dateinamen von Tests enden auf <code class="literal">.t</code>. Es sind selbstständig ausführbare Perl-Scripte.</p></li><li class="listitem"><p>Die Test-Suite besteht aus der Gesamtheit aller Tests, sprich aller Scripte in <code class="filename">f/</code>, deren
           Dateiname auf <code class="literal">.t</code> endet.</p></li></ul></div></div><div class="sect2" title="4.5.2. Voraussetzungen"><div class="titlepage"><div><div><h3 class="title"><a name="devel.testsuite.prerequisites"></a>4.5.2. Voraussetzungen</h3></div></div></div><p>Für die Ausführung werden neben den für kivitendo eh schon benötigten Module noch weitere Perl-Module benötigt. Diese sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
                      <code class="literal">Test::Deep</code> (Debian-Paketname: <code class="literal">libtest-deep-perl</code>; Fedora Core:
-          <code class="literal">perl-Test-Deep</code>; openSuSE: <code class="literal">perl-Test-Deep</code>)</p></li></ul></div></div><div class="sect2" title="4.5.3. Existierende Tests ausführen"><div class="titlepage"><div><div><h3 class="title"><a name="devel.testsuite.execution"></a>4.5.3. 
+          <code class="literal">perl-Test-Deep</code>; openSuSE: <code class="literal">perl-Test-Deep</code>)</p></li><li class="listitem"><p>
+                     <code class="literal">Test::Harness</code> 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 <a class="ulink" href="http://www.cpan.org" target="_top">CPAN</a> bezogen
+          werden.</p></li></ul></div></div><div class="sect2" title="4.5.3. Existierende Tests ausführen"><div class="titlepage"><div><div><h3 class="title"><a name="devel.testsuite.execution"></a>4.5.3. 
           Existierende Tests ausführen
         </h3></div></div></div><p>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 <code class="filename">t/test.sh</code>.</p><p>Will man die komplette Test-Suite ausführen, so muss man einfach nur <code class="filename">t/test.sh</code> ohne weitere Parameter aus
index 26616ee..96717ff 100644 (file)
@@ -1,9 +1,9 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-   <title>kivitendo: Installation, Konfiguration, Entwicklung</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="next" href="ch01.html" title="Kapitel 1. Aktuelle Hinweise"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">kivitendo: Installation, Konfiguration, Entwicklung</th></tr><tr><td width="20%" align="left">&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch01.html">Weiter</a></td></tr></table><hr></div><div lang="de" class="book" title="kivitendo: Installation, Konfiguration, Entwicklung"><div class="titlepage"><div><div><h1 class="title"><a name="kivitendo-documentation"></a>kivitendo: Installation, Konfiguration, Entwicklung</h1></div></div><hr></div><div class="toc"><p><b>Inhaltsverzeichnis</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. Aktuelle Hinweise</a></span></dt><dt><span class="chapter"><a href="ch02.html">2. Installation und Grundkonfiguration</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#Ben%C3%B6tigte-Software-und-Pakete">2.1. Benötigte Software und Pakete</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02.html#Betriebssystem">2.1.1. Betriebssystem</a></span></dt><dt><span class="sect2"><a href="ch02.html#Pakete">2.1.2. Pakete</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s02.html">2.2. Manuelle Installation des Programmpaketes</a></span></dt><dt><span class="sect1"><a href="ch02s03.html">2.3. kivitendo-Konfigurationsdatei</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s03.html#config.config-file.introduction">2.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s03.html#config.config-file.sections-parameters">2.3.2. Abschnitte und Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s03.html#config.config-file.prior-versions">2.3.3. Versionen vor 2.6.3</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s04.html">2.4. Anpassung der PostgreSQL-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s04.html#Zeichens%C3%A4tze-die-Verwendung-von-UTF-8">2.4.1. Zeichensätze/die Verwendung von UTF-8</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#%C3%84nderungen-an-Konfigurationsdateien">2.4.2. Änderungen an Konfigurationsdateien</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren">2.4.3. Erweiterung für servergespeicherte Prozeduren</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#Datenbankbenutzer-anlegen">2.4.4. Datenbankbenutzer anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s05.html">2.5. Webserver-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s05.html#d0e589">2.5.1. Grundkonfiguration mittels CGI</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Apache-Konfiguration.FCGI">2.5.2. Konfiguration für FastCGI/FCGI</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s06.html">2.6. Der Task-Server</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s06.html#Konfiguration-des-Task-Servers">2.6.1. Verfügbare und notwendige Konfigurationsoptionen</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Einbinden-in-den-Boot-Prozess">2.6.2. Automatisches Starten des Task-Servers beim Booten</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Prozesskontrolle">2.6.3. Wie der Task-Server gestartet und beendet wird</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Prozesskontrolle2">2.6.4. Task-Server mit mehreren Mandanten</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s07.html">2.7. Benutzerauthentifizierung und Administratorpasswort</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s07.html#Grundlagen-zur-Benutzerauthentifizierung">2.7.1. Grundlagen zur Benutzerauthentifizierung</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Administratorpasswort">2.7.2. Administratorpasswort</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Authentifizierungsdatenbank">2.7.3. Authentifizierungsdatenbank</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Passwort%C3%BCberpr%C3%BCfung">2.7.4. Passwortüberprüfung</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Name-des-Session-Cookies">2.7.5. Name des Session-Cookies</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Anlegen-der-Authentifizierungsdatenbank">2.7.6. Anlegen der Authentifizierungsdatenbank</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s08.html">2.8. Benutzer- und Gruppenverwaltung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s08.html#Zusammenh%C3%A4nge">2.8.1. Zusammenhänge</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Datenbanken-anlegen">2.8.2. Datenbanken anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Gruppen-anlegen">2.8.3. Gruppen anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Benutzer-anlegen">2.8.4. Benutzer anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Gruppenmitgliedschaften-verwalten">2.8.5. Gruppenmitgliedschaften verwalten</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Migration-alter-Installationen">2.8.6. Migration alter Installationen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s09.html">2.9. E-Mail-Versand aus kivitendo heraus</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s09.html#config.sending-email.sendmail">2.9.1. Versand über lokalen E-Mail-Server</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#config.sending-email.smtp">2.9.2. Versand über einen SMTP-Server</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s10.html">2.10. Drucken mit kivitendo</a></span></dt><dt><span class="sect1"><a href="ch02s11.html">2.11. OpenDocument-Vorlagen</a></span></dt><dt><span class="sect1"><a href="ch02s12.html">2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
-      EUR</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s12.html#config.eur.introduction">2.12.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#config.eur.parameters">2.12.2. Konfigurationsparameter</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#config.eur.setting-parameters">2.12.3. Festlegen der Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#config.eur.inventory-system-perpetual">2.12.4. Bemerkungen zu Bestandsmethode</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#config.eur.knonw-issues">2.12.5. Bekannte Probleme</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s13.html">2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s13.html#config.skr04-update-3804.introduction">2.13.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s13.html#config.skr04-update-3804.create-chart">2.13.2. Konto 3804 manuell anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s14.html">2.14. Einstellungen pro Mandant</a></span></dt><dt><span class="sect1"><a href="ch02s15.html">2.15. kivitendo ERP verwenden</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch03.html">3. Features und Funktionen</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch03.html#features.periodic-invoices">3.1. Wiederkehrende Rechnungen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.introduction">3.1.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.configuration">3.1.2. Konfiguration</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.reports">3.1.3. Auflisten</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.task-server">3.1.4. Erzeugung der eigentlichen Rechnungen</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.create-for-current-month">3.1.5. Erste Rechnung für aktuellen Monat erstellen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s02.html">3.2. Dokumentenvorlagen und verfügbare Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.einf%C3%BChrung">3.2.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.variablen-ausgeben">3.2.2. Variablen ausgeben</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.verwendung-in-druckbefehlen">3.2.3. Verwendung in Druckbefehlen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.tag-style">3.2.4. Anfang und Ende der Tags verändern</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.zuordnung-dateinamen">3.2.5. Zuordnung von den Dateinamen zu den Funktionen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.dateinamen-erweitert">3.2.6. Sprache, Drucker und E-Mail</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.allgemeine-variablen">3.2.7. Allgemeine Variablen, die in allen Vorlagen vorhanden
+   <title>kivitendo: Installation, Konfiguration, Entwicklung</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="next" href="ch01.html" title="Kapitel 1. Aktuelle Hinweise"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">kivitendo: Installation, Konfiguration, Entwicklung</th></tr><tr><td width="20%" align="left">&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch01.html">Weiter</a></td></tr></table><hr></div><div lang="de" class="book" title="kivitendo: Installation, Konfiguration, Entwicklung"><div class="titlepage"><div><div><h1 class="title"><a name="kivitendo-documentation"></a>kivitendo: Installation, Konfiguration, Entwicklung</h1></div></div><hr></div><div class="toc"><p><b>Inhaltsverzeichnis</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. Aktuelle Hinweise</a></span></dt><dt><span class="chapter"><a href="ch02.html">2. Installation und Grundkonfiguration</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#Installation-%C3%9Cbersicht">2.1. Übersicht</a></span></dt><dt><span class="sect1"><a href="ch02s02.html">2.2. Benötigte Software und Pakete</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s02.html#Betriebssystem">2.2.1. Betriebssystem</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#Pakete">2.2.2. Pakete</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s03.html">2.3. Manuelle Installation des Programmpaketes</a></span></dt><dt><span class="sect1"><a href="ch02s04.html">2.4. kivitendo-Konfigurationsdatei</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s04.html#config.config-file.introduction">2.4.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#config.config-file.sections-parameters">2.4.2. Abschnitte und Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#config.config-file.prior-versions">2.4.3. Versionen vor 2.6.3</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s05.html">2.5. Anpassung der PostgreSQL-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s05.html#Zeichens%C3%A4tze-die-Verwendung-von-UTF-8">2.5.1. Zeichensätze/die Verwendung von UTF-8</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#%C3%84nderungen-an-Konfigurationsdateien">2.5.2. Änderungen an Konfigurationsdateien</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren">2.5.3. Erweiterung für servergespeicherte Prozeduren</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Datenbankbenutzer-anlegen">2.5.4. Datenbankbenutzer anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s06.html">2.6. Webserver-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s06.html#d0e652">2.6.1. Grundkonfiguration mittels CGI</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Apache-Konfiguration.FCGI">2.6.2. Konfiguration für FastCGI/FCGI</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s07.html">2.7. Der Task-Server</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s07.html#Konfiguration-des-Task-Servers">2.7.1. Verfügbare und notwendige Konfigurationsoptionen</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Einbinden-in-den-Boot-Prozess">2.7.2. Automatisches Starten des Task-Servers beim Booten</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Prozesskontrolle">2.7.3. Wie der Task-Server gestartet und beendet wird</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Prozesskontrolle2">2.7.4. Task-Server mit mehreren Mandanten</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s08.html">2.8. Benutzerauthentifizierung und Administratorpasswort</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s08.html#Grundlagen-zur-Benutzerauthentifizierung">2.8.1. Grundlagen zur Benutzerauthentifizierung</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Administratorpasswort">2.8.2. Administratorpasswort</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Authentifizierungsdatenbank">2.8.3. Authentifizierungsdatenbank</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Passwort%C3%BCberpr%C3%BCfung">2.8.4. Passwortüberprüfung</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Name-des-Session-Cookies">2.8.5. Name des Session-Cookies</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Anlegen-der-Authentifizierungsdatenbank">2.8.6. Anlegen der Authentifizierungsdatenbank</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s09.html">2.9. Benutzer- und Gruppenverwaltung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s09.html#Zusammenh%C3%A4nge">2.9.1. Zusammenhänge</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Datenbanken-anlegen">2.9.2. Datenbanken anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Gruppen-anlegen">2.9.3. Gruppen anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Benutzer-anlegen">2.9.4. Benutzer anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Gruppenmitgliedschaften-verwalten">2.9.5. Gruppenmitgliedschaften verwalten</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Migration-alter-Installationen">2.9.6. Migration alter Installationen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s10.html">2.10. E-Mail-Versand aus kivitendo heraus</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s10.html#config.sending-email.sendmail">2.10.1. Versand über lokalen E-Mail-Server</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#config.sending-email.smtp">2.10.2. Versand über einen SMTP-Server</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s11.html">2.11. Drucken mit kivitendo</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s11.html#Vorlagenverzeichnis-anlegen">2.11.1. Vorlagenverzeichnis anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#Vorlagen-Standard">2.11.2. Standard</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#f-tex">2.11.3. f-tex</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#Vorlagen-RB">2.11.4. RB</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#allgemeine-hinweise-zu-latex">2.11.5. Allgemeine Hinweise zu LaTeX Vorlagen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s12.html">2.12. OpenDocument-Vorlagen</a></span></dt><dt><span class="sect1"><a href="ch02s13.html">2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
+      EUR</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s13.html#config.eur.introduction">2.13.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s13.html#config.eur.parameters">2.13.2. Konfigurationsparameter</a></span></dt><dt><span class="sect2"><a href="ch02s13.html#config.eur.setting-parameters">2.13.3. Festlegen der Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s13.html#config.eur.inventory-system-perpetual">2.13.4. Bemerkungen zu Bestandsmethode</a></span></dt><dt><span class="sect2"><a href="ch02s13.html#config.eur.knonw-issues">2.13.5. Bekannte Probleme</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s14.html">2.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s14.html#config.skr04-update-3804.introduction">2.14.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s14.html#config.skr04-update-3804.create-chart">2.14.2. Konto 3804 manuell anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s15.html">2.15. Einstellungen pro Mandant</a></span></dt><dt><span class="sect1"><a href="ch02s16.html">2.16. kivitendo ERP verwenden</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch03.html">3. Features und Funktionen</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch03.html#features.periodic-invoices">3.1. Wiederkehrende Rechnungen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.introduction">3.1.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.configuration">3.1.2. Konfiguration</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.reports">3.1.3. Auflisten</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.task-server">3.1.4. Erzeugung der eigentlichen Rechnungen</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.create-for-current-month">3.1.5. Erste Rechnung für aktuellen Monat erstellen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s02.html">3.2. Dokumentenvorlagen und verfügbare Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.einf%C3%BChrung">3.2.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.variablen-ausgeben">3.2.2. Variablen ausgeben</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.verwendung-in-druckbefehlen">3.2.3. Verwendung in Druckbefehlen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.tag-style">3.2.4. Anfang und Ende der Tags verändern</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.zuordnung-dateinamen">3.2.5. Zuordnung von den Dateinamen zu den Funktionen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.dateinamen-erweitert">3.2.6. Sprache, Drucker und E-Mail</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.allgemeine-variablen">3.2.7. Allgemeine Variablen, die in allen Vorlagen vorhanden
         sind</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.invoice">3.2.8. Variablen in Rechnungen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.dunning">3.2.9. Variablen in Mahnungen und Rechnungen über Mahngebühren</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.andere-vorlagen">3.2.10. Variablen in anderen Vorlagen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.bloecke">3.2.11. Blöcke, bedingte Anweisungen und Schleifen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.markup">3.2.12. Markup-Code zur Textformatierung innerhalb von
-        Formularen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s03.html">3.3. Excel-Vorlagen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s03.html#excel-templates.summary">3.3.1. Zusammenfassung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.usage">3.3.2. Bedienung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.syntax">3.3.3. Variablensyntax</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.limitations">3.3.4. Einschränkungen</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Entwicklerdokumentation</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04.html#devel.globals">4.1. Globale Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04.html#d0e4651">4.1.1. Wie sehen globale Variablen in Perl aus?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e4752">4.1.2. Warum sind globale Variablen ein Problem?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e4785">4.1.3. Kanonische globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e5165">4.1.4. Ehemalige globale Variablen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s02.html">4.2. Entwicklung unter FastCGI</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.general">4.2.1. Allgemeines</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.exiting">4.2.2. Programmende und Ausnahmen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.globals">4.2.3. Globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.performance">4.2.4. Performance und Statistiken</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.known-issues">4.2.5. Bekannte Probleme</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s03.html">4.3. SQL-Upgradedateien</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.introduction">4.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.format">4.3.2. Format der Kontrollinformationen</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.dbupgrade-tool">4.3.3. Hilfsscript dbupgrade2_tool.pl</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s04.html">4.4. Translations and languages</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s04.html#translations-languages.introduction">4.4.1. Introduction</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#translations-languages.file-structure">4.4.2. File structure</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s05.html">4.5. Die kivitendo-Test-Suite</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.intro">4.5.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.prerequisites">4.5.2. Voraussetzungen</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.execution">4.5.3. 
+        Formularen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s03.html">3.3. Excel-Vorlagen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s03.html#excel-templates.summary">3.3.1. Zusammenfassung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.usage">3.3.2. Bedienung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.syntax">3.3.3. Variablensyntax</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.limitations">3.3.4. Einschränkungen</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Entwicklerdokumentation</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04.html#devel.globals">4.1. Globale Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04.html#d0e5034">4.1.1. Wie sehen globale Variablen in Perl aus?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e5135">4.1.2. Warum sind globale Variablen ein Problem?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e5168">4.1.3. Kanonische globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e5548">4.1.4. Ehemalige globale Variablen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s02.html">4.2. Entwicklung unter FastCGI</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.general">4.2.1. Allgemeines</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.exiting">4.2.2. Programmende und Ausnahmen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.globals">4.2.3. Globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.performance">4.2.4. Performance und Statistiken</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.known-issues">4.2.5. Bekannte Probleme</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s03.html">4.3. SQL-Upgradedateien</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.introduction">4.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.format">4.3.2. Format der Kontrollinformationen</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.dbupgrade-tool">4.3.3. Hilfsscript dbupgrade2_tool.pl</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s04.html">4.4. Translations and languages</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s04.html#translations-languages.introduction">4.4.1. Introduction</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#translations-languages.file-structure">4.4.2. File structure</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s05.html">4.5. Die kivitendo-Test-Suite</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.intro">4.5.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.prerequisites">4.5.2. Voraussetzungen</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.execution">4.5.3. 
           Existierende Tests ausführen
         </a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.meaning_of_scripts">4.5.4. 
           Bedeutung der verschiedenen Test-Scripte
diff --git a/doc/html/system/docbook-xsl/images/note.png b/doc/html/system/docbook-xsl/images/note.png
new file mode 100644 (file)
index 0000000..d0c3c64
Binary files /dev/null and b/doc/html/system/docbook-xsl/images/note.png differ
diff --git a/doc/html/system/docbook-xsl/images/warning.png b/doc/html/system/docbook-xsl/images/warning.png
new file mode 100644 (file)
index 0000000..1c33db8
Binary files /dev/null and b/doc/html/system/docbook-xsl/images/warning.png differ
index 3a7969b..90284df 100644 (file)
Binary files a/doc/kivitendo-Dokumentation.pdf and b/doc/kivitendo-Dokumentation.pdf differ
index 36d4c16..0ff4d9a 100644 (file)
@@ -22,8 +22,7 @@ als freundliche Checkliste zum ausdrucken und erweitern.
 
 * Testlauf t/test.sh
 
-  - Im Moment sind 4 Fehler optimal (die sind noch nicht angegangen):
-    o  bin/mozilla/ar.pl contains at least 190 html tags.
+  - Im Moment sind 3 Fehler optimal (die sind noch nicht angegangen):
     o  bin/mozilla/ic.pl contains at least 130 html tags.
     o  bin/mozilla/ap.pl contains at least 183 html tags.
     o  bin/mozilla/admin.pl DOES NOT use proper system or exec calls
@@ -52,7 +51,9 @@ als freundliche Checkliste zum ausdrucken und erweitern.
 * Status Bugzilla
 
   - Aus dem Bugsprint sollten keine Bugs mit Target der neuen Version mehr
-    offen sein.
+    offen sein, ist aber unrealistisch. Die noch offenen Bugs müssen bewertet
+    werden. Kritische Bugs müssen behoben, weniger kritische evtl auf die
+    nächste Version verschoben werden.
   - Neue Bugs seit dem Bugsprint müssen bewertet, gegebenenfalls behoben
     werden.
   - Sollten noch schwere Probleme existieren, Release verschieben.
@@ -74,6 +75,24 @@ als freundliche Checkliste zum ausdrucken und erweitern.
     o copy&paste in eine Datei
     o perl -pale '$_="  - Bugfix $F[0]: @F[1..$#F]"' oder awk/sed drüber
 
+    Das gleiche für trac:
+    o Individuelle Abfrage
+      + geändert zwischen <letztes Releasedatum> und <heute+1>
+      + Status closed
+      + Lösung behobena
+      + Komponente ist Lx-Office ERP
+    o Spalten: nur Zusammenfassung
+    o sortieren nach Ticketnummer
+    o rest weiter ab copy&paste
+
+    Achtung: trac hat im Moment noch Probleme, so dass Bugs zum teil mit nicht
+    existenten Lösungen geschlossen werden.  Besser ist es, sich die Lösung als
+    eigene Spalte anzeigen zu lassen, die Lösungen zu filtern, die nicht
+    erwünscht sind, und den Rest zu formatieren (TODO: Script erweitern)
+
+    Achtung: trac benutzt Datum 00:00:00 als obere Grenze, dass heisst, immer
+    einen Tag mehr angeben.
+
   - Ausserdem einmal durch das git scrollen und sinnvolle grössere Änderungen
     ins changelog übertragen. Muss nur einmal gemacht werden, möglichst danach
     nur noch inkrementell.
@@ -147,7 +166,6 @@ als freundliche Checkliste zum ausdrucken und erweitern.
 * Locales auf Vollständigkeit prüfen
 
   $ scripts/locales.pl de
-  $ scripts/locales.pl de_DE
 
 * SL::DB::Helper::ALL auf Vollständigkeit prüfen
 
@@ -157,13 +175,21 @@ als freundliche Checkliste zum ausdrucken und erweitern.
 
 * VERSION updaten
 
-  Zu den Versionierungen:
+  Zu den Versionierungen vor 3.0.0:
 
   - Das Programm heißt Lx-Office (großes LO, mit Bindestrich dazwischen)
   - Das Paket heißt lx-office-erp (klein, plus "-erp")
   - Der Standardpfad ist lxoffice-erp-<version> (fehlender Bindestrich)
   - Der git tag ist "release-<version>"
-  - Das DB Ipgradescript ist "release_<snake_case_version>"
+  - Das DB Upgradescript ist "release_<snake_case_version>"
+
+  Zu den Versionierungen ab 3.0.0:
+
+  - Das Programm heißt kivitendo (alles klein)
+  - Das Paket heißt kivitendo
+  - Der Standardpfad ist kivitendo-<version>
+  - Der git tag ist "release-<version>"
+  - Das DB Upgradescript ist "release_<snake_case_version>"
 
 * Nur finales Release: Datenbankupgradescript "release_2_6_1" (mit aktueller
   Releasenummer) erstellen und alle Leafscripte als Abhängigkeit einsetzen.
diff --git a/image/bg_css_kivi_menu.png b/image/bg_css_kivi_menu.png
new file mode 100644 (file)
index 0000000..d11c2ee
Binary files /dev/null and b/image/bg_css_kivi_menu.png differ
diff --git a/image/bg_kivi_titel.png b/image/bg_kivi_titel.png
new file mode 100644 (file)
index 0000000..aa6a20a
Binary files /dev/null and b/image/bg_kivi_titel.png differ
index 22c18fe..2f52ff7 100644 (file)
Binary files a/image/icons/16x16/Program--Version.png and b/image/icons/16x16/Program--Version.png differ
index 849a8a5..82dedb8 100644 (file)
Binary files a/image/icons/24x24/Program--Version.png and b/image/icons/24x24/Program--Version.png differ
index 7e1b9bf..d254667 100644 (file)
Binary files a/image/icons/32x32/Program--Version.png and b/image/icons/32x32/Program--Version.png differ
index 7fc65c6..57d7f87 100644 (file)
Binary files a/image/kivitendo.png and b/image/kivitendo.png differ
index ebd9b18..87ff0b1 100644 (file)
Binary files a/image/maps/icons16.png and b/image/maps/icons16.png differ
index ec72b78..4bd1206 100644 (file)
Binary files a/image/maps/icons24.png and b/image/maps/icons24.png differ
index 94b95d1..a564f6e 100644 (file)
Binary files a/image/maps/icons32.png and b/image/maps/icons32.png differ
index 4522258..72d72c8 100644 (file)
@@ -179,7 +179,6 @@ $self->{texts} = {
   'Amended Advance Turnover Tax Return (Nr. 10)' => 'Ist dies eine berichtigte Anmeldung? (Nr. 10/Zeile 15 Steuererklärung)',
   'Amount'                      => 'Betrag',
   'Amount Due'                  => 'Betrag fällig',
-  'Amount has to be greater then zero! Wrong row number: ' => 'Leere Eingabe oder Werte kleiner, gleich null eingegeben. Fehler in Reihe Nummer: ',
   'Amount payable'              => 'Noch zu bezahlender Betrag',
   'Amount payable less discount' => 'Noch zu bezahlender Betrag abzüglich Skonto',
   'An exception occurred during execution.' => 'Während der Ausführung trat eine Ausnahme auf.',
@@ -249,7 +248,6 @@ $self->{texts} = {
   'BWA'                         => 'BWA',
   'Back'                        => 'Zurück',
   'Back to login'               => 'Zurück zur Anmeldung',
-  'Back to the login page'      => 'Zurück zur Loginseite',
   'Background job history'      => 'Verlauf der Hintergrund-Jobs',
   'Background jobs'             => 'Hintergrund-Jobs',
   'Background jobs and task server' => 'Hintergrund-Jobs und Task-Server',
@@ -671,6 +669,8 @@ $self->{texts} = {
   'Do you want to store the existing onhand values into a new warehouse?' => 'M&ouml;chten Sie die vorhandenen Mengendaten in ein Lager &uuml;bertragen?',
   'Document'                    => 'Dokument',
   'Document Project Number'     => 'Projektnummer des Belegs',
+  'Documentation'               => 'Dokumentation',
+  'Documentation (in German)'   => 'Dokumentation',
   'Documents in the WebDAV repository' => 'Dokumente im WebDAV-Repository',
   'Done'                        => 'Fertig',
   'Download SEPA XML export file' => 'SEPA-XML-Exportdatei herunterladen',
@@ -718,7 +718,6 @@ $self->{texts} = {
   'EU with VAT ID'              => 'EU mit UstId-Nummer',
   'EU without VAT ID'           => 'EU ohne UstId-Nummer',
   'EUER'                        => 'Einnahmen-/Überschussrechnung',
-  'EUR'                         => 'E/Ü-Rechnung',
   'Earlier versions of kivitendo contained bugs which might have led to wrong entries in the general ledger.' => 'Frühere Versionen von kivitendo enthielten Bugs, die zu falschen Einträgen im Hauptbuch geführt haben können.',
   'Edit'                        => 'Bearbeiten',
   'Edit Access Rights'          => 'Zugriffsrechte bearbeiten',
@@ -1086,6 +1085,7 @@ $self->{texts} = {
   'Language missing!'           => 'Sprache fehlt!',
   'Language saved!'             => 'Sprache gespeichert!',
   'Languages'                   => 'Sprachen',
+  'Languages and translations'  => 'Sprachen und Übersetzungen',
   'Last Action'                 => 'Letzte Aktivität',
   'Last Article Number'         => 'Letzte Artikelnummer',
   'Last Cost'                   => 'Einkaufspreis',
@@ -1152,7 +1152,7 @@ $self->{texts} = {
   'Main Preferences'            => 'Grundeinstellungen',
   'Main sorting'                => 'Hauptsortierung',
   'Make'                        => 'Lieferant',
-  'Make (with X being a number)' => 'Lieferant (X ist eine fortlaufende Zahl)',
+  'Make (vendor\'s database ID, number or name; with X being a number)' => 'Lieferant (Datenbank-ID, Nummer oder Name des Lieferanten; X ist eine fortlaufende Zahl)',
   'Make compatible for import'  => 'Für den Import kompatibel machen',
   'Make default profile'        => 'Zu Standardprofil machen',
   'Manage Custom Variables'     => 'Benutzerdefinierte Variablen',
@@ -1604,6 +1604,8 @@ $self->{texts} = {
   'Revenues EU without UStId'   => 'Erl&ouml;se EU o. UStId',
   'Review of Aging list'        => 'Altersstrukturliste',
   'Right'                       => 'Rechts',
+  'Row #1: amount has to be different from zero.' => 'Zeile #1: Der Wert darf nicht 0 sein.',
+  'Row number'                  => 'Zeilennummer',
   'Run at'                      => 'Ausgeführt um',
   'SAVED'                       => 'Gespeichert',
   'SAVED FOR DUNNING'           => 'Gespeichert',
@@ -1904,6 +1906,8 @@ $self->{texts} = {
   'The business has been saved.' => 'Der Kunden-/Lieferantentyp wurde gespeichert.',
   'The business is in use and cannot be deleted.' => 'Der Kunden-/Lieferantentyp wird benutzt und kann nicht gelöscht werden.',
   'The changing of tax-o-matic account is NOT recommended, but if you do so please also (re)configure buchungsgruppen and reconfigure ALL charts which point to this tax-o-matic account. ' => 'Es wird nicht empfohlen Steuerkonten (Umsatzsteuer oder Vorsteuer) "umzuhängen", aber falls es gemacht wird, bitte auch entsprechend konsequent die Buchungsgruppen und die Konten die mit dieser Steuer verknüpft sind umkonfigurieren.',
+  'The column "make_X" can contain either a vendor\'s database ID, a vendor number or a vendor\'s name.' => 'Die Spalte "make_X" can entweder die Datenbank-ID des Lieferanten, eine Lieferantennummer oder einen Lieferantennamen enthalten.',
+  'The column triplets can occur multiple times with different numbers "X" each time (e.g. "make_1", "model_1", "lastcost_1", "make_2", "model_2", "lastcost_2", "make_3", "model_3", "lastcost_3" etc).' => 'Die Spalten-Dreiergruppen können mehrfach auftreten, sofern sie unterschiedliche Nummern "X" verwenden (z.B. "make_1", "model_1", "lastcost_1", "make_2", "model_2", "lastcost_2", "make_3", "model_3", "lastcost_3" etc).',
   'The columns &quot;Dunning Duedate&quot;, &quot;Total Fees&quot; and &quot;Interest&quot; show data for the previous dunning created for this invoice.' => 'Die Spalten &quot;Zahlbar bis&quot;, &quot;Kumulierte Geb&uuml;hren&quot; und &quot;Zinsen&quot; zeigen Daten der letzten f&uuml;r diese Rechnung erzeugten Mahnung.',
   'The connection to the LDAP server cannot be encrypted (SSL/TLS startup failure). Please check config/kivitendo.conf.' => 'Die Verbindung zum LDAP-Server kann nicht verschl&uuml;sselt werden (Fehler bei SSL/TLS-Initialisierung). Bitte &uuml;berpr&uuml;fen Sie die Angaben in config/kivitendo.conf.',
   'The connection to the authentication database failed:' => 'Die Verbindung zur Authentifizierungsdatenbank schlug fehl:',
@@ -1964,6 +1968,7 @@ $self->{texts} = {
   'The group has been saved.'   => 'Die Gruppe wurde gespeichert.',
   'The group memberships have been saved.' => 'Die Gruppenmitgliedschaften wurden gespeichert.',
   'The group name is missing.'  => 'Der Gruppenname fehlt.',
+  'The items are imported accoring do their number "X" regardless of the column order inside the file.' => 'Die Einträge werden in der Reihenfolge ihrer Indizes "X" unabhängig von der Spaltenreihenfolge in der Datei importiert.',
   'The list has been printed.'  => 'Die Liste wurde ausgedruckt.',
   'The long description is missing.' => 'Der Langtext fehlt.',
   'The name in row %d has already been used before.' => 'Der Name in Zeile %d wurde vorher bereits benutzt.',
@@ -2019,6 +2024,7 @@ $self->{texts} = {
   'The task server was started successfully.' => 'Der Task-Server wurde erfolgreich gestartet.',
   'The task server was stopped successfully.' => 'Der Task-Server wurde erfolgreich beendet.',
   'The third way is to download the module from the above mentioned URL and to install the module manually following the installations instructions contained in the source archive.' => 'Die dritte Variante besteht darin, das Paket von der oben genannten URL herunterzuladen und es manuell zu installieren. Beachten Sie dabei die im Paket enthaltenen Installationsanweisungen.',
+  'The three columns "make_X", "model_X" and "lastcost_X" with the same number "X" are used to import vendor part numbers and vendor prices.' => 'Die drei Spalten "make_X", "model_X" und "lastcost_X" mit derselben Nummer "X" werden zum Import von Lieferantenartikelnummern und -preisen genutzt.',
   'The transaction is shown below in its current state.' => 'Nachfolgend wird angezeigt, wie die Buchung momentan aussieht.',
   'The unit has been saved.'    => 'Die Einheit wurde gespeichert.',
   'The unit in row %d has been deleted in the meantime.' => 'Die Einheit in Zeile %d ist in der Zwischentzeit gel&ouml;scht worden.',
@@ -2085,7 +2091,6 @@ $self->{texts} = {
   'To add a user to a group edit a name, change the login name and save.  A new user with the same variables will then be saved under the new login name.' => 'Um einer Gruppe einen neuen Benutzer hinzuzufügen, ändern und speichern Sie am einfachsten einen bestehenden Benutzernamen. Unter dem neuen Namen wird dann ein Benutzer mit denselben Einstellungen angelegt.',
   'Top'                         => 'Oben',
   'Top (CSS)'                   => 'Oben (mit CSS)',
-  'Top (CSS) new'               => 'Oben (mit CSS, neu)',
   'Top (Javascript)'            => 'Oben (mit Javascript)',
   'Top 100'                     => 'Top 100',
   'Top 100 hinzufuegen'         => 'Top 100 hinzufügen',
@@ -2165,13 +2170,14 @@ $self->{texts} = {
   'Updated'                     => 'Erneuert am',
   'Updating prices of existing entry in database' => 'Preis des Eintrags in der Datenbank wird aktualisiert',
   'Uploaded on #1, size #2 kB'  => 'Am #1 hochgeladen, Größe #2 kB',
-  'Use As Template'             => 'Als Vorlage verwenden',
+  'Use As New'                  => 'Als neu verwenden',
   'Use Templates'               => 'Benutze Vorlagen',
   'User'                        => 'Benutzer',
   'User Config'                 => 'Einstellungen',
   'User Login'                  => 'Als Benutzer anmelden',
   'User data migration'         => 'Benutzerdatenmigration',
   'User deleted!'               => 'Benutzer gelöscht!',
+  'User login'                  => 'Benutzeranmeldung',
   'User migration complete'     => 'Benutzermigration abgeschlossen',
   'User name'                   => 'Benutzername',
   'User saved!'                 => 'Benutzer gespeichert!',
@@ -2371,12 +2377,14 @@ $self->{texts} = {
   'invoice_list'                => 'debitorenbuchungsliste',
   'kivitendo'                   => 'kivitendo',
   'kivitendo Homepage'          => 'Infos zu kivitendo',
+  'kivitendo administration'    => 'kivitendo Administration',
   'kivitendo can fix these problems automatically.' => 'kivitendo kann solche Probleme automatisch beheben.',
   'kivitendo has been switched to group-based access restrictions.' => 'kivitendo wurde auf eine gruppenbasierte Benutzerzugriffsverwaltung umgestellt.',
   'kivitendo has found one or more problems in the general ledger.' => 'kivitendo hat ein oder mehrere Probleme im Hauptbuch gefunden.',
   'kivitendo is about to update the database [ #1 ].' => 'kivitendo wird gleich die Datenbank [ #1 ] aktualisieren.',
   'kivitendo is now able to manage warehouses instead of just tracking the amount of goods in your system.' => 'kivitendo enth&auml;lt jetzt auch echte Lagerverwaultung anstatt reiner Mengenz&auml;hlung.',
   'kivitendo needs to update the authentication database before you can proceed.' => 'kivitendo muss die Authentifizierungsdatenbank aktualisieren, bevor Sie fortfahren können.',
+  'kivitendo website (external)' => 'kivitendo-Webseite (extern)',
   'kivitendo will then update the database automatically.' => 'kivitendo wird die Datenbank daraufhin automatisch aktualisieren.',
   'lead deleted!'               => 'Kundenquelle gelöscht',
   'lead saved!'                 => 'Kundenquelle geichert',
index fa99ded..290ae0a 100644 (file)
--- a/menu.ini
+++ b/menu.ini
@@ -666,25 +666,25 @@ action=add_lead
 module=am.pl
 action=list_lead
 
-[System--Languages]
+[System--Languages and translations]
 module=menu.pl
 action=acc_menu
 target=acc_menu
 submenu=1
 
-[System--Languages--Add Language]
+[System--Languages and translations--Add Language]
 module=am.pl
 action=add_language
 
-[System--Languages--List Languages]
+[System--Languages and translations--List Languages]
 module=am.pl
 action=list_language
 
-[System--Languages--Greetings]
+[System--Languages and translations--Greetings]
 module=generictranslations.pl
 action=edit_greetings
 
-[System--Languages--SEPA strings]
+[System--Languages and translations--SEPA strings]
 module=generictranslations.pl
 action=edit_sepa_strings
 
@@ -849,7 +849,14 @@ module=login.pl
 action=company_logo
 no_todo_list=1
 
+[Program--Documentation (in German)]
+href=doc/kivitendo-Dokumentation.pdf
+target=_top
+
+[Program--kivitendo website (external)]
+href=http://www.kivitendo.de/
+target=_top
+
 [Program--Logout]
 module=controller.pl
 action=LoginScreen/logout
-target=_top
index d7892c3..6362075 100755 (executable)
@@ -15,14 +15,17 @@ doc=${PWD}/doc
 
 html=1
 pdf=1
+images=1
 
 if [[ ! -z $1 ]] ; then
   html=0
   pdf=0
+  images=0
   while [[ ! -z $1 ]] ; do
     case $1 in
-      html) html=1 ;;
-      pdf)  pdf=1  ;;
+      html)   html=1   ;;
+      pdf)    pdf=1    ;;
+      images) images=1 ;;
       *)
         echo "Unknown parameter $1"
         exit 1
@@ -69,3 +72,15 @@ if [[ $html = 1 ]]; then
   mkdir ${doc}/html
   cp -R ${output}/html ${doc}/
 fi
+
+if [[ $images = 1 ]]; then
+  # copy system images from Dobudish directory
+  image_list=$(mktemp)
+  perl -nle 'print $1 while m{ (?: \.\./ )+ ( system/ [^\"]+ ) }xg' ${doc}/html/*.html | sort | uniq > $image_list
+  if [[ -s $image_list ]]; then
+    tar -c -f - -T $image_list | tar -x -f - -C ${doc}/html
+    perl -pi -e 's{ (\.\./)+ system }{system}xg' ${doc}/html/*.html
+  fi
+
+  rm $image_list
+fi
index 9024221..bd58c07 100755 (executable)
@@ -35,7 +35,14 @@ my (%uselines, %modules, %supplied, %requires);
   },
   'Devel::REPL' => {
     'namespace::clean'                   => 1,
-  }
+  },
+  'Email::MIME' => {
+    'Email::MIME::Creator'               => 1,
+  },
+  'Test::Harness' => {
+    'TAP::Parser'                        => 1,
+    'TAP::Parser::Aggregator'            => 1,
+  },
 );
 
 GetOptions(
@@ -106,6 +113,11 @@ for my $useline (keys %uselines) {
   }
 }
 
+# have all documented modules mentioned here
+$modules{$_->{name}} ||= { status => 'required' } for @SL::InstallationCheck::required_modules;
+$modules{$_->{name}} ||= { status => 'optional' } for @SL::InstallationCheck::optional_modules;
+$modules{$_->{name}} ||= { status => 'developer' } for @SL::InstallationCheck::developer_modules;
+
 # build transitive closure for documented dependancies
 my $changed = 1;
 while ($changed) {
diff --git a/sql/Pg-upgrade2-auth/remove_menustyle_v4.sql b/sql/Pg-upgrade2-auth/remove_menustyle_v4.sql
new file mode 100644 (file)
index 0000000..3744bd3
--- /dev/null
@@ -0,0 +1,8 @@
+-- @tag: remove_menustyle_v4
+-- @description: Menütyp "CSS (oben, neu)" wurde entfernt; also durch v3 ersetzen
+-- @depends:
+-- @charset: utf-8
+UPDATE auth.user_config
+SET cfg_value = 'v3'
+WHERE ((cfg_key   = 'menustyle')
+  AND  (cfg_value = 'v4'));
diff --git a/sql/Pg-upgrade2/chart_type_skonto.sql b/sql/Pg-upgrade2/chart_type_skonto.sql
new file mode 100644 (file)
index 0000000..2a090e1
--- /dev/null
@@ -0,0 +1,15 @@
+-- @tag: chart_type_skonto
+-- @description: SKR: Gewährte Skonti sind Erlöskonten, erhaltene Skonti sind Aufwandskonten
+-- @depends: release_2_7_0
+-- @encoding: utf-8
+
+UPDATE chart SET category = 'I' WHERE accno = '8731' AND EXISTS (SELECT * FROM defaults WHERE coa = 'Germany-DATEV-SKR03EU');
+UPDATE chart SET category = 'I' WHERE accno = '8735' AND EXISTS (SELECT * FROM defaults WHERE coa = 'Germany-DATEV-SKR03EU');
+UPDATE chart SET category = 'E' WHERE accno = '3731' AND EXISTS (SELECT * FROM defaults WHERE coa = 'Germany-DATEV-SKR03EU');
+UPDATE chart SET category = 'E' WHERE accno = '3735' AND EXISTS (SELECT * FROM defaults WHERE coa = 'Germany-DATEV-SKR03EU');
+
+UPDATE chart SET category = 'I' WHERE accno = '4731' AND EXISTS (SELECT * FROM defaults WHERE coa = 'Germany-DATEV-SKR04EU');
+UPDATE chart SET category = 'I' WHERE accno = '4735' AND EXISTS (SELECT * FROM defaults WHERE coa = 'Germany-DATEV-SKR04EU');
+UPDATE chart SET category = 'I' WHERE accno = '4736' AND EXISTS (SELECT * FROM defaults WHERE coa = 'Germany-DATEV-SKR04EU');
+UPDATE chart SET category = 'E' WHERE accno = '5731' AND EXISTS (SELECT * FROM defaults WHERE coa = 'Germany-DATEV-SKR04EU');
+UPDATE chart SET category = 'E' WHERE accno = '5735' AND EXISTS (SELECT * FROM defaults WHERE coa = 'Germany-DATEV-SKR04EU');
diff --git a/sql/Pg-upgrade2/rename_buchungsgruppe_16_19_to_19.sql b/sql/Pg-upgrade2/rename_buchungsgruppe_16_19_to_19.sql
new file mode 100644 (file)
index 0000000..6cf6a16
--- /dev/null
@@ -0,0 +1,5 @@
+-- @tag: rename_buchungsgruppe_16_19_to_19
+-- @description: Buchungsgruppe '16%/19%' in '19%' umbenennen
+-- @depends: release_2_7_0
+
+UPDATE buchungsgruppen SET description = 'Standard 19%' WHERE description = 'Standard 16%/19%';
diff --git a/sql/Pg-upgrade2/ustva_setup_2007_update_chart_taxkeys_tax_skr04.sql b/sql/Pg-upgrade2/ustva_setup_2007_update_chart_taxkeys_tax_skr04.sql
new file mode 100644 (file)
index 0000000..75b30a7
--- /dev/null
@@ -0,0 +1,61 @@
+-- @tag: ustva_setup_2007_update_chart_taxkeys_tax_skr04
+-- @description: Anpassung der UStVA-Schlüssel für Konten 3801, 3806, 3804 und 4400
+-- @depends: release_2_7_0
+
+-- 3806 - neuer Eintrag pos_ustva 811 ab 2007 (falls noch nicht existiert)
+-- 3801 - neuer Eintrag pos_ustva 861 ab 2007 (falls noch nicht existiert)
+-- 4400 - pos_ustva von 51 auf 81 für Eintrag 2007
+-- 3804 - pos_ustva Eintrag 891 ab 2007
+
+INSERT INTO taxkeys (
+  chart_id, pos_ustva, startdate)                                                                                                                        
+  SELECT chart.id, '811', '2007-01-01'
+  FROM chart                                                                                                                                                                  LEFT JOIN tax ON (chart.id = tax.chart_id)                                                                                                                                
+  WHERE chart.accno = '3806'                                                                                                                                                
+  AND                                                                                                                                                                       
+  EXISTS ( -- update only for SKR04                                                                                                                                         
+    SELECT coa FROM defaults
+      WHERE defaults.coa='Germany-DATEV-SKR04EU'                                                                                                                            
+  AND NOT EXISTS (
+   select * from taxkeys where chart_id = (select id from chart where accno = '3806') and pos_ustva = '811' and startdate = '2007-01-01' )
+  )                                                                                                                                                                         
+;         
+
+INSERT INTO taxkeys (
+  chart_id, pos_ustva, startdate)                                                                                                                        
+  SELECT chart.id, '861', '2007-01-01'
+  FROM chart                                                                                                                                                                  LEFT JOIN tax ON (chart.id = tax.chart_id)                                                                                                                                
+  WHERE chart.accno = '3801'                                                                                                                                                
+  AND                                                                                                                                                                       
+  EXISTS ( -- update only for SKR04                                                                                                                                         
+    SELECT coa FROM defaults
+      WHERE defaults.coa='Germany-DATEV-SKR04EU'                                                                                                                            
+  AND NOT EXISTS (
+   select * from taxkeys where chart_id = (select id from chart where accno = '3801') and pos_ustva = '861' and startdate = '2007-01-01' )
+  )                                                                                                                                                                         
+;         
+
+UPDATE taxkeys SET pos_ustva = '81'
+WHERE chart_id = (SELECT id FROM chart WHERE accno = '4400')
+AND startdate = '2007-01-01'
+AND pos_ustva = '51'
+AND EXISTS ( 
+  SELECT coa FROM defaults 
+  WHERE defaults.coa='Germany-DATEV-SKR04EU'
+);
+
+-- insert taxkey for 3804, but leave taxkey_id empty, because Kivitendo can't
+-- handle this automatic booking and tax has to be booked manually
+-- don't insert this key with this startdate if it already exists (was already added manually)
+INSERT INTO taxkeys (
+  chart_id, pos_ustva, startdate)                                                                                                                        
+  SELECT chart.id, '891', '2007-01-01'
+  FROM chart                                                                                                                                                                  LEFT JOIN tax ON (chart.id = tax.chart_id)                                                                                                                                
+  WHERE chart.accno = '3804'                                                                                                                                                
+  AND                                                                                                                                                                       
+  EXISTS ( -- update only for SKR04                                                                                                                                         
+    SELECT coa FROM defaults
+      WHERE defaults.coa='Germany-DATEV-SKR04EU'                                                                                                                            
+  AND NOT EXISTS (
+   select * from taxkeys where chart_id = (select id from chart where accno = '3804') and pos_ustva = '891' and startdate = '2007-01-01' )
+  );
diff --git a/templates/print/Default/balance_sheet.html b/templates/print/Default/balance_sheet.html
deleted file mode 100644 (file)
index 478caab..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-
-<body bgcolor=ffffff>
-
-<h2 align=center>
-<%company%>
-<br><%address%>
-
-<p>BALANCE SHEET
-<br><%period%>
-</h2>
-
-<table border=0>
-<tr>
-  <th align=left width=400 colspan=2>ASSETS<br><hr align=left width=250 size=5 noshade></th>
-  <th><%this_period%></th>
-  <th><%last_period%></th>
-</tr>
-
-<%foreach asset_account%>
-<tr>
-  <td> </td>
-  <td><%asset_account%></td>
-  <td align=right><%asset_this_period%></td>
-  <td align=right><%asset_last_period%></td>
-</tr>
-<%end asset_account%>
-
-<tr>
-  <td colspan=2> </td>
-  <td><hr noshade size=1></td>
-  <td><hr noshade size=1></td>
-</tr>
-
-<tr valign=top>
-  <th align=left colspan=2>TOTAL ASSETS</th>
-  <td align=right><%total_assets_this_period%><hr noshade size=2></td>
-  <td align=right><%total_assets_last_period%><hr noshade size=2></td>
-</tr>
-
-<tr>
-  <th align=left colspan=4>LIABILITIES<b><hr align=left width=250 size=5 noshade></th>
-</tr>
-
-<%foreach liability_account%>
-<tr>
-  <td></td>
-  <td><%liability_account%></td>
-  <td align=right><%liability_this_period%></td>
-  <td align=right><%liability_last_period%></td>
-</tr>
-<%end liability_account%>
-
-<tr>
-  <td colspan=2> </td>
-  <td><hr noshade size=1></td>
-  <td><hr noshade size=1></td>
-</tr>
-
-<tr valign=top>
-  <td></td>
-  <th align=left>Total Liabilities</th>
-  <td align=right><%total_liabilities_this_period%><br><hr noshade size=2</td>
-  <td align=right><%total_liabilities_last_period%><br><hr noshade size=2</td>
-</tr>
-
-<tr>
-  <th align=left colspan=4>SHAREHOLDER'S EQUITY<br><hr align=left width=250 size=5 noshade></th>
-</tr>
-
-<%foreach equity_account%>
-<tr>
-  <td></td>
-  <td><%equity_account%></td>
-  <td align=right><%equity_this_period%></td>
-  <td align=right><%equity_last_period%></td>
-</tr>
-<%end equity_account%>
-
-<tr>
-  <td colspan=2> </td>
-  <td><hr noshade size=1></td>
-  <td><hr noshade size=1></td>
-</tr>
-
-<tr valign=top>
-  <td></td>
-  <th align=left>Total Equity</th>
-  <td align=right><%total_equity_this_period%><br><hr noshade size=2</td>
-  <td align=right><%total_equity_last_period%><br><hr noshade size=2</td>
-</tr>
-
-<tr valign=top>
-  <th align=left colspan=2>TOTAL LIABILITIES & EQUITY</th>
-  <td align=right><%total_this_period%><br><hr noshade size=2></td>
-  <td align=right><%total_last_period%><br><hr noshade size=2></td>
-</tr>
-</table>
-
-
-
diff --git a/templates/print/Default/bin_list.html b/templates/print/Default/bin_list.html
deleted file mode 100644 (file)
index feed569..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-
-<body bgcolor=ffffff>
-
-<table width=100%>
-  <tr>
-    <td width=10>&nbsp;</td>
-    
-    <td>
-      <table width=100%>
-       <tr>
-         <td>
-           <h4>
-           <%company%>
-           <br><%address%>
-           </h4>
-         </td>
-         
-         <th><img src=http://localhost/lx-erp/lx-office-erp.png border=0 width=64 height=58></th>
-
-         <th align=right>
-           <h4>
-           Tel: <%tel%>
-           <br>Fax: <%fax%>
-           </h4>
-         </td>
-       </tr>
-       
-       <tr>
-         <th colspan=3>
-           <h4>B I N &nbsp;&nbsp; L I S T</h4>
-         </th>
-       </tr>
-      </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-
-    <td>
-      <table width=100% cellspacing=0 cellpadding=0>
-       <tr bgcolor=000000>
-         <th align=left width=50%><font color=ffffff>From</th>
-         <th align=left width=50%><font color=ffffff>Ship To</th>
-       </tr>
-
-       <tr valign=top>
-         <td><%name%>
-         <br><%street%>
-         <br><%zipcode%>
-         <br><%city%>
-         <br><%country%>
-         <br>
-
-         <%if contact%>
-         <br>Attn: <%contact%>
-         <%end contact%>
-
-         <%if vendorphone%>
-         <br>Tel: <%vendorphone%>
-         <%end vendorphone%>
-
-         <%if vendorfax%>
-         <br>Fax: <%vendorfax%>
-         <%end vendorfax%>
-
-         <%if email%>
-         <br><%email%>
-         <%end email%>
-         
-         </td>
-         
-         <td><%shiptoname%>
-         <br><%shiptostreet%>
-         <br><%shiptozipcode%>
-         <br><%shiptocity%>
-         <br><%shiptocountry%>
-
-         <br>
-         <%if shiptocontact%>
-         <br>Attn: <%shiptocontact%>
-         <%end shiptocontact%>
-         
-         <%if shiptophone%>
-         <br>Tel: <%shiptophone%>
-         <%end shiptophone%>
-
-         <%if shiptofax%>
-         <br>Fax: <%shiptofax%>
-         <%end shiptofax%>
-         </td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-
-  <tr height=5></tr>
-
-  <tr>
-    <td>&nbsp;</td>
-
-    <td>
-      <table width=100% border=1>
-       <tr>
-         <th width=17% align=left nowrap>Order #</th>
-         <th width=17% align=left nowrap>Date</th>
-         <th width=17% align=left nowrap>Contact</th>
-         <%if warehouse%>
-         <th width=17% align=left nowrap>Warehouse</th>
-         <%end warehouse%>
-         <th width=17% align=left>Shipping Point</th>
-         <th width=15% align=left>Ship via</th>
-       </tr>
-
-       <tr>
-         <td><%ordnumber%>&nbsp;</td>
-         
-         <%if shippingdate%>
-         <td><%shippingdate%></td>
-         <%end shippingdate%>
-         
-         <%if not shippingdate%>
-         <td><%orddate%></td>
-         <%end shippingdate%>
-         
-         <td><%employee%>&nbsp;</td>
-
-         <%if warehouse%>
-         <td><%warehouse%></td>
-         <%end warehouse%>
-  
-         <td><%shippingpoint%>&nbsp;</td>
-         <td><%shipvia%>&nbsp;</td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-
-    <td>
-      <table width=100%>
-       <tr bgcolor=000000>
-         <th align=left><font color=ffffff>Pos</th>
-         <th align=left><font color=ffffff>Number</th>
-         <th align=left><font color=ffffff>Description</th>
-         <th><font color=ffffff>Serialnumber</th>
-         <th>&nbsp;</th>
-         <th><font color=ffffff>Qty</th>
-         <th><font color=ffffff>Recd</th>
-         <th>&nbsp;</th>
-         <th><font color=ffffff>Bin</th>
-       </tr>
-
-       <%foreach number%>
-       <tr valign=top>
-         <td><%runningnumber%></td>
-         <td><%number%></td>
-         <td><%description%></td>
-         <td><%serialnumber%></td>
-         <td><%deliverydate%></td>
-         <td align=right><%qty%></td>
-         <td align=right><%ship%></td>
-         <td><%unit%></td>
-         <td><%bin%></td>
-       </tr>
-       <%end number%>
-
-      </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-
-    <td><hr noshade></td>
-  </tr>
-
-</table>
-
diff --git a/templates/print/Default/bin_list.tex b/templates/print/Default/bin_list.tex
deleted file mode 100644 (file)
index 28b873c..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage[frame]{xy}
-\usepackage{tabularx}
-\usepackage[utf8]{inputenc}
-\usepackage{graphicx}
-\setlength{\voffset}{0.5cm}
-\setlength{\hoffset}{-2.0cm}
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0.5cm}
-\setlength{\headsep}{1cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{1.0cm}
-\setlength{\evensidemargin}{1.0cm}
-\setlength{\textwidth}{19.2cm}
-\setlength{\textheight}{24.7cm}
-\setlength{\footskip}{1cm}
-\setlength{\parindent}{0pt}
-\renewcommand{\baselinestretch}{1}
-
-\begin{document}
-
-\pagestyle{myheadings}
-\thispagestyle{empty}
-
-\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-\vspace*{-1.3cm}
-
-\parbox{\textwidth}{
-  \parbox[b]{.42\textwidth}{%
-    <%company%>
-
-    <%address%>
-  }\hfill
-  \begin{tabular}[b]{rr@{}}
-  Telephone & <%tel%>\\
-  Facsimile & <%fax%>
-  \end{tabular}
-
-  \rule[1.5ex]{\textwidth}{0.5pt}
-}
-
-
-\vspace*{0.5cm}
-
-\parbox[t]{1cm}{\hfill}
-\parbox[t]{.5\textwidth}{
-\textbf{From}
-\vspace{0.7cm}
-
-<%name%> \\
-<%street%> \\
-<%zipcode%> \\
-<%city%> \\
-<%country%>
-}
-\parbox[t]{.4\textwidth}{
-\textbf{Ship To}
-\vspace{0.7cm}
-
-<%shiptoname%> \\
-<%shiptostreet%> \\
-<%shiptozipcode%> \\
-<%shiptocity%> \\
-<%shiptocountry%>
-}
-\hfill
-
-\vspace{1cm}
-
-\textbf{B I N} \parbox{0.3cm}{\hfill} \textbf{L I S T}
-\hfill
-
-\vspace{1cm}
-
-\begin{tabularx}{\textwidth}{*{6}{|X}|} \hline
-  \textbf{Order \#} & \textbf{Date} & \textbf{Contact}
-  <%if warehouse%>
-  & \textbf{Warehouse}
-  <%end warehouse%>
-  & \textbf{Shipping Point} & \textbf{Ship via} \\ [0.5em]
-  \hline
-
-  <%ordnumber%>
-  <%if shippingdate%>
-  & <%shippingdate%>
-  <%end shippingdate%>
-  <%if not shippingdate%>
-  & <%orddate%>
-  <%end shippingdate%>
-  & <%employee%>
-  <%if warehouse%>
-  & <%warehouse%>
-  <%end warehouse%>
-  & <%shippingpoint%> & <%shipvia%> \\
-  \hline
-\end{tabularx}
-
-\vspace{1cm}
-
-\begin{tabularx}{\textwidth}{@{}rlXllrrll@{}}
-  \textbf{Pos} & \textbf{Number} & \textbf{Description} & \textbf{Serial Number} & & \textbf{Qty} & \textbf{Recd} & & \textbf{Bin} \\
-
-<%foreach number%>
-  <%runningnumber%> & <%number%> & <%description%> & <%serialnumber%> &
-  <%deliverydate%> & <%qty%> & <%ship%> & <%unit%> & <%bin%> \\
-<%end number%>
-\end{tabularx}
-
-
-\rule{\textwidth}{2pt}
-
-\end{document}
-
diff --git a/templates/print/Default/bwa.html b/templates/print/Default/bwa.html
deleted file mode 100644 (file)
index 91907d8..0000000
+++ /dev/null
@@ -1,582 +0,0 @@
-<body>
-<style type="text/css">
-<!--
-/* Allgemeine Schriftdefinition */
-th,td {
-       font-family: Arial, Verdana, Helvetica, Sans-serif;
-       font-size:small;
-}
-
-@page {
-       size: landscape;
-       margin: 0.5cm;
-}
-
-/* Definition Tabellenueberschrift */
-
-.left  { text-align:left; }
-.center        { text-align:center; }
-.right { text-align:right; }
-
-tr.headline    { border:0; }
-tr.headline td { border:0; }
-h1 { font-size:120%; }
-h2 { font-size:100%; }
-
-/* Tabellenkopf */
-th {
-       font-weight: bold;
-       border-bottom: solid thin black;
-       padding:0 10px;
-       text-align:right;
-}
-
-th.left  { border-left:  solid thin black; }
-th.right { border-right: solid thin black; }
-
-.querkopf th.right { text-align:center; }
-.querkopf th {
-       border-top: solid thin black;
-       border-bottom:0;
-}
-
-/* Tabelleninhalt */
-td {
-       text-align:right;
-       padding:0 0.5em;
-}
-td.left  { border-left:  solid thin black; }
-td.right { border-right: solid thin black; }
-
-
-/* jede zweite Zeile grau hinterlegen */
-tr.grey {
-       background:#f0f0f0;
-}
-
-/* letzte Zeile in der Tabelle */
-#last td{ border-bottom: solid thin black; }
-
-/* Zwischensumme/-ueberschriften */
-tr.subtotal td { font-weight: bold; }
-
-/* Fusszeile unter der Tabelle */
-td.footer {
-       text-align:right;
-       font-size:smaller;
-}
-//-->
-</style>
-
-<table border=0 cellpadding=0 cellspacing=0>
-<tr class="headline">
-       <td class="left"><%company%></td>
-       <td class=center colspan="9">
-               <h1>Kurzfristige Erfolgsrechnung <%period%></h1>
-               <h2>SKR3 &nbsp; BWA</h2>
-       </td>
-       <td class="right">Blatt 1</td>
-</tr>
-       
-       
-</tr>  
-<tr class="querkopf">
-       <th class="left">&nbsp;</th>
-       <th class="center" colspan="5">Im Betrachtungszeitraum</th>
-       <th class="right" colspan="5">Kumuliert seit Jahresanfang</th>
-</tr>
-
-<tr>
-       <th class="left">Bezeichnung</th>
-       <th>Wert</th>
-       <th>% Ges.- Leistg.</th>
-       <th>% Ges.- Kosten</th>
-       <th>% Pers.- Kosten</th>
-       <th>Aufschlag</th>
-       <th>Wert</th>
-       <th>% Ges.- Leistg.</th>
-       <th>% Ges.- Kosten</th>
-       <th>% Pers.- Kosten</th>
-       <th class="right">Aufschlag</th>
-</tr>
-
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Umsatzerl&ouml;se</nobr></td>
-       <td><nobr><%jetzt1%></nobr></td>
-       <td><nobr><%jetztgl1%></nobr></td>
-       <td></td>
-       <td></td>
-       <td></td>
-       <td><nobr><%kumm1%></nobr></td>
-       <td><nobr><%kummgl1%></nobr></td>
-       <td></td>
-       <td></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white">
-       <td class="left"><nobr>Best.Verdg. FE/UE</nobr></td>
-       <td><nobr><%jetzt2%></nobr></td>
-       <td><nobr><%jetztgl2%></nobr></td>
-       <td></td>
-       <td></td>
-       <td></td>       
-       <td><nobr><%kumm2%></nobr></td>
-       <td><nobr><%kummgl2%></nobr></td>
-       <td></td>
-       <td></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Akt.Eigenleistungen</nobr></td>
-       <td><nobr><%jetzt3%></nobr></td>
-       <td><nobr><%jetztgl3%></nobr></td>
-       <td></td>
-       <td></td>
-       <td></td>
-       <td><nobr><%kumm3%></nobr></td>
-       <td><nobr><%kummgl3%></nobr></td>
-       <td></td>
-       <td></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-       
-<tr class="grey subtotal">
-       <td class="left"><nobr>Gesamtleistung</nobr></td>
-       <td><nobr><%jetztgesamtleistung%></nobr></td>
-       <td><nobr><%jetztglgesamtleistung%></nobr></td>
-       <td><nobr><%jetztgkgesamtleistung%></nobr></td>
-       <td><nobr><%jetztpkgesamtleistung%></nobr></td>
-       <td></td>
-       <td><nobr><%kummgesamtleistung%></nobr></td>
-       <td><nobr><%kummglgesamtleistung%></nobr></td>
-       <td><nobr><%kummgkgesamtleistung%></nobr></td>
-       <td><nobr><%kummpkgesamtleistung%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-       
-<tr class="grey">
-       <td class="left"><nobr>Mat./Wareneinkauf</nobr></td>
-       <td><nobr><%jetzt4%></nobr></td>
-       <td><nobr><%jetztgl4%></nobr></td>
-       <td><nobr><%jetztgk4%></nobr></td>
-       <td><nobr><%jetztpk4%></nobr></td>
-       <td><nobr><%jetztauf4%></nobr></td>
-       <td><nobr><%kumm4%></nobr></td>
-       <td><nobr><%kummgl4%></nobr></td>
-       <td><nobr><%kummgk4%></nobr></td>
-       <td><nobr><%kummpk4%></nobr></td>
-       <td class="right"><nobr><%kummauf4%></nobr>&nbsp;</td>
-</tr>
-       
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-               
-<tr class="grey subtotal">
-       <td class="left"><nobr>Rohertrag</nobr></td>
-       <td><nobr><%jetztrohertrag%></nobr></td>
-       <td><nobr><%jetztglrohertrag%></nobr></td>
-       <td><nobr><%jetztgkrohertrag%></nobr></td>
-       <td><nobr><%jetztpkrohertrag%></nobr></td>
-       <td><nobr><%jetztaufrohertrag%></nobr></td>
-       <td><nobr><%kummrohertrag%></nobr></td>
-       <td><nobr><%kummglrohertrag%></nobr></td>
-       <td><nobr><%kummgkrohertrag%></nobr></td>
-       <td><nobr><%kummpkrohertrag%></nobr></td>
-       <td class="right"><nobr><%kummaufrohertrag%></nobr>&nbsp;</td>
-</tr>
-       
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-               
-<tr class="grey">
-       <td class="left"><nobr>So.betr.Erl&ouml;se</nobr></td>
-       <td><nobr><%jetzt5%></nobr></td>
-       <td><nobr><%jetztgl5%></nobr></td>
-       <td><nobr><%jetztgk5%></nobr></td>
-       <td><nobr><%jetztpk5%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm5%></nobr></td>
-       <td><nobr><%kummgl5%></nobr></td>
-       <td><nobr><%kummgk5%></nobr></td>
-       <td><nobr><%kummpk5%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-               
-<tr class="grey subtotal">
-       <td class="left"><nobr>Betriebl. Rohertrag</nobr></td>
-       <td><nobr><%jetztbetriebrohertrag%></nobr></td>
-       <td><nobr><%jetztglbetriebrohertrag%></nobr></td>
-       <td><nobr><%jetztgkbetriebrohertrag%></nobr></td>
-       <td><nobr><%jetztpkbetriebrohertrag%></nobr></td>
-       <td><nobr><%jetztaufbetriebrohertrag%></nobr></td>
-       <td><nobr><%kummbetriebrohertrag%></nobr></td>
-       <td><nobr><%kummglbetriebrohertrag%></nobr></td>
-       <td><nobr><%kummgkbetriebrohertrag%></nobr></td>
-       <td><nobr><%kummpkbetriebrohertrag%></nobr></td>
-       <td
-class="right"><nobr><%kummaufbetriebrohertrag%></nobr>&nbsp;</td>
-</tr>
-
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-
-<tr class="grey subtotal">
-       <td class="left">Kostenarten:</td>
-       <td class="right" colspan="10">&nbsp;</td>
-</tr>  
-               
-<tr class="white">
-       <td class="left"><nobr>Personalkosten</nobr></td>
-       <td><nobr><%jetzt10%></nobr></td>
-       <td><nobr><%jetztgl10%></nobr></td>
-       <td><nobr><%jetztgk10%></nobr></td>
-       <td><nobr><%jetztpk10%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm10%></nobr></td>
-       <td><nobr><%kummgl10%></nobr></td>
-       <td><nobr><%kummgk10%></nobr></td>
-       <td><nobr><%kummpk10%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Raumkosten</nobr></td>
-       <td><nobr><%jetzt11%></nobr></td>
-       <td><nobr><%jetztgl11%></nobr></td>
-       <td><nobr><%jetztgk11%></nobr></td>
-       <td><nobr><%jetztpk11%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm11%></nobr></td>
-       <td><nobr><%kummgl11%></nobr></td>
-       <td><nobr><%kummgk11%></nobr></td>
-       <td><nobr><%kummpk11%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white">
-       <td class="left"><nobr>Betriebl.Steuern</nobr></td>
-       <td><nobr><%jetzt12%></nobr></td>
-       <td><nobr><%jetztgl12%></nobr></td>
-       <td><nobr><%jetztgk12%></nobr></td>
-       <td><nobr><%jetztpk12%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm12%></nobr></td>
-       <td><nobr><%kummgl12%></nobr></td>
-       <td><nobr><%kummgk12%></nobr></td>
-       <td><nobr><%kummpk12%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Versich./Beitr&auml;ge</nobr></td>
-       <td><nobr><%jetzt13%></nobr></td>
-       <td><nobr><%jetztgl13%></nobr></td>
-       <td><nobr><%jetztgk13%></nobr></td>
-       <td><nobr><%jetztpk13%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm13%></nobr></td>
-       <td><nobr><%kummgl13%></nobr></td>
-       <td><nobr><%kummgk13%></nobr></td>
-       <td><nobr><%kummpk13%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Kfz-Kosten (o.St.)</nobr></td>
-       <td><nobr><%jetzt14%></nobr></td>
-       <td><nobr><%jetztgl14%></nobr></td>
-       <td><nobr><%jetztgk14%></nobr></td>
-       <td><nobr><%jetztpk14%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm14%></nobr></td>
-       <td><nobr><%kummgl14%></nobr></td>
-       <td><nobr><%kummgk14%></nobr></td>
-       <td><nobr><%kummpk14%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white">
-       <td class="left"><nobr>Werbe-/Reisekosten</nobr></td>
-       <td><nobr><%jetzt15%></nobr></td>
-       <td><nobr><%jetztgl15%></nobr></td>
-       <td><nobr><%jetztgk15%></nobr></td>
-       <td><nobr><%jetztpk15%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm15%></nobr></td>
-       <td><nobr><%kummgl15%></nobr></td>
-       <td><nobr><%kummgk15%></nobr></td>
-       <td><nobr><%kummpk15%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Kosten Warenabgabe</nobr></td>
-       <td><nobr><%jetzt16%></nobr></td>
-       <td><nobr><%jetztgl16%></nobr></td>
-       <td><nobr><%jetztgk16%></nobr></td>
-       <td><nobr><%jetztpk16%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm16%></nobr></td>
-       <td><nobr><%kummgl16%></nobr>
-</td>
-       <td><nobr><%kummgk16%></nobr></td>
-       <td><nobr><%kummpk16%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white">
-       <td class="left"><nobr>Abschreibungen</nobr></td>
-       <td><nobr><%jetzt17%></nobr></td>
-       <td><nobr><%jetztgl17%></nobr></td>
-       <td><nobr><%jetztgk17%></nobr></td>
-       <td><nobr><%jetztpk17%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm17%></nobr></td>
-       <td><nobr><%kummgl17%></nobr></td>
-       <td><nobr><%kummgk17%></nobr></td>
-       <td><nobr><%kummpk17%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Reparatur/Instandh.</nobr></td>
-       <td><nobr><%jetzt18%></nobr></td>
-       <td><nobr><%jetztgl18%></nobr></td>
-       <td><nobr><%jetztgk18%></nobr></td>
-       <td><nobr><%jetztpk18%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm18%></nobr></td>
-       <td><nobr><%kummgl18%></nobr></td>
-       <td><nobr><%kummgk18%></nobr></td>
-       <td><nobr><%kummpk18%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white">
-       <td class="left"><nobr>Sonstige Kosten</nobr></td>
-       <td><nobr><%jetzt20%></nobr></td>
-       <td><nobr><%jetztgl20%></nobr></td>
-       <td><nobr><%jetztgk20%></nobr></td>
-       <td><nobr><%jetztpk20%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm20%></nobr></td>
-       <td><nobr><%kummgl20%></nobr></td>
-       <td><nobr><%kummgk20%></nobr></td>
-       <td><nobr><%kummpk20%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey subtotal">
-       <td class="left"><nobr>Gesamtkosten</nobr></td>
-       <td><nobr><%jetztgesamtkosten%></nobr></td>
-       <td><nobr><%jetztglgesamtkosten%></nobr></td>
-       <td><nobr><%jetztgkgesamtkosten%></nobr></td>
-       <td><nobr><%jetztpkgesamtkosten%></nobr></td>
-       <td></td>
-       <td><nobr><%kummgesamtkosten%></nobr></td>
-       <td><nobr><%kummglgesamtkosten%></nobr></td>
-       <td><nobr><%kummgkgesamtkosten%></nobr></td>
-       <td><nobr><%kummpkgesamtkosten%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-
-       
-<tr class="grey subtotal">
-<td class="left"><nobr>Betriebsergebnis</nobr></td>
-       <td><nobr><%jetztbetriebsergebnis%></nobr></td>
-       <td><nobr><%jetztglbetriebsergebnis%></nobr>
-</td>
-       <td><nobr><%jetztgkbetriebsergebnis%></nobr></td>
-       <td><nobr><%jetztpkbetriebsergebnis%></nobr></td>
-       <td></td>
-       <td><nobr><%kummbetriebsergebnis%></nobr></td>
-       <td><nobr><%kummglbetriebsergebnis%></nobr>
-</td>
-       <td><nobr><%kummgkbetriebsergebnis%></nobr></td>
-       <td><nobr><%kummpkbetriebsergebnis%></nobr></td>
-       <td class="right">&nbsp;</td>
-       </tr>
-
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Zinsaufwand</nobr></td>
-       <td><nobr><%jetzt30%></nobr></td>
-       <td><nobr><%jetztgl30%></nobr></td>
-       <td><nobr><%jetztgk30%></nobr></td>
-       <td><nobr><%jetztpk30%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm30%></nobr></td>
-       <td><nobr><%kummgl30%></nobr></td>
-       <td><nobr><%kummgk30%></nobr></td>
-       <td><nobr><%kummpk30%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white">
-       <td class="left"><nobr>&Uuml;brige Steuern</nobr></td>
-       <td><nobr><%jetzt19%></nobr></td>
-       <td><nobr><%jetztgl19%></nobr></td>
-       <td><nobr><%jetztgk19%></nobr></td>
-       <td><nobr><%jetztpk19%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm19%></nobr></td>
-       <td><nobr><%kummg191%></nobr></td>
-       <td><nobr><%kummgk19%></nobr></td>
-       <td><nobr><%kummpk19%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Sonst. neutr. Aufwand</nobr></td>
-       <td><nobr><%jetzt31%></nobr></td>
-       <td><nobr><%jetztgl31%></nobr></td>
-       <td><nobr><%jetztgk31%></nobr></td>
-       <td><nobr><%jetztpk31%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm31%></nobr></td>
-       <td><nobr><%kummgl31%></nobr></td>
-       <td><nobr><%kummgk31%></nobr></td>
-       <td><nobr><%kummpk31%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white subtotal">
-<td class="left"><nobr>Neutraler Aufwand</nobr></td>
-       <td><nobr><%jetztneutraleraufwand%></nobr></td>
-       <td><nobr><%jetztglneutraleraufwand%></nobr></td>
-       <td><nobr><%jetztgkneutraleraufwand%></nobr></td>
-       <td><nobr><%jetztpkneutraleraufwand%></nobr></td>
-       <td></td>
-       <td><nobr><%kummneutraleraufwand%></nobr></td>
-       <td><nobr><%kummglneutraleraufwand%></nobr></td>
-       <td><nobr><%kummgkneutraleraufwand%></nobr></td>
-       <td><nobr><%kummpkneutraleraufwand%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey"><td class="left right" colspan="11">&nbsp;</td></tr>
-
-<tr class="white">
-       <td class="left"><nobr>Zinsertr&auml;ge</nobr></td>
-       <td><nobr><%jetzt32%></nobr></td>
-       <td><nobr><%jetztgl32%></nobr></td>
-       <td><nobr><%jetztgk32%></nobr></td>
-       <td><nobr><%jetztpk32%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm32%></nobr></td>
-       <td><nobr><%kummgl32%></nobr></td>
-       <td><nobr><%kummgk32%></nobr></td>
-       <td><nobr><%kummpk32%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Sonst. neutr. Ertr.</nobr></td>
-       <td><nobr><%jetzt33%></nobr></td>
-       <td><nobr><%jetztgl33%></nobr></td>
-       <td><nobr><%jetztgk33%></nobr></td>
-       <td><nobr><%jetztpk33%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm33%></nobr></td>
-       <td><nobr><%kummgl33%></nobr></td>
-       <td><nobr><%kummgk33%></nobr></td>
-       <td><nobr><%kummpk33%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white">
-       <td class="left"><nobr>Verr.kalk.Kosten</nobr></td>
-       <td><nobr><%jetzt34%></nobr></td>
-       <td><nobr><%jetztgl34%></nobr>
-       <td><nobr><%jetztgk34%></nobr></td>
-       <td><nobr><%jetztpk34%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm34%></nobr></td>
-       <td><nobr><%kummgl34%></nobr></td>
-       <td><nobr><%kummgk34%></nobr></td>
-       <td><nobr><%kummpk34%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey subtotal">
-       <td class="left"><nobr>Neutraler Ertrag</nobr></td>
-       <td><nobr><%jetztneutralerertrag%></nobr></td>
-       <td><nobr><%jetztglneutralerertrag%></nobr></td>
-       <td><nobr><%jetztgkneutralerertrag%></nobr></td>
-       <td><nobr><%jetztpkneutralerertrag%></nobr></td>
-       <td></td>
-       <td><nobr><%kummneutralerertrag%></nobr></td>
-       <td><nobr><%kummglneutralerertrag%></nobr></td>
-       <td><nobr><%kummgkneutralerertrag%></nobr></td>
-       <td><nobr><%kummpkneutralerertrag%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-       
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-
-<tr class="grey subtotal">
-       <td class="left"><nobr>Ergebnis vor Steuern</nobr></td>
-       <td><nobr><%jetztergebnisvorsteuern%></nobr></td>
-       <td><nobr><%jetztglergebnisvorsteuern%></nobr></td>
-       <td><nobr><%jetztgkergebnisvorsteuern%></nobr></td>
-       <td><nobr><%jetztpkergebnisvorsteuern%></nobr></td>
-       <td></td>
-       <td><nobr><%kummergebnisvorsteuern%></nobr></td>
-       <td><nobr><%kummglergebnisvorsteuern%></nobr></td>
-       <td><nobr><%kummgkergebnisvorsteuern%></nobr></td>
-       <td><nobr><%kummpkergebnisvorsteuern%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-       
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Steuern Eink.u.Ertr.</nobr></td>
-       <td><nobr><%jetzt35%></nobr></td>
-       <td><nobr><%jetztgl35%></nobr></td>
-       <td><nobr><%jetztgk35%></nobr></td>
-       <td><nobr><%jetztpk35%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm35%></nobr></td>
-       <td><nobr><%kummgl35%></nobr></td>
-       <td><nobr><%kummgk35%></nobr></td>
-       <td><nobr><%kummpk35%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-       
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-
-<tr class="grey subtotal">
-       <td class="left"><nobr>Vorl&auml;ufiges Ergebnis</nobr></td>
-       <td><nobr><%jetztergebnis%></nobr></td>
-       <td><nobr><%jetztglergebnis%></nobr></td>
-       <td><nobr><%jetztgkergebnis%></nobr></td>
-       <td><nobr><%jetztpkergebnis%></nobr></td>
-       <td></td>
-       <td><nobr><%kummergebnis%></nobr></td>
-       <td><nobr><%kummglergebnis%></nobr></td>
-       <td><nobr><%kummgkergebnis%></nobr></td>
-       <td><nobr><%kummpkergebnis%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-       
-<tr class="white" id=last><td class="left right"
-colspan="11">&nbsp;</td></tr>
-
-<tr>
-       <td colspan=11 class=footer>W&auml;hrung: Euro - FiBu: LX Office ERP
-(Version <%version%>) - Formular: 11.01.2007</td>
-</tr>
-
-</table>
-</body>
diff --git a/templates/print/Default/check.tex b/templates/print/Default/check.tex
deleted file mode 100644 (file)
index 4f97660..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage[frame]{xy}
-\usepackage{tabularx}
-\usepackage[utf8]{inputenc}
-\setlength{\voffset}{0.4cm}
-\setlength{\hoffset}{-2.0cm}
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0.0cm}
-\setlength{\headsep}{1cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{1.0cm}
-\setlength{\evensidemargin}{1.0cm}
-\setlength{\textwidth}{19.2cm}
-\setlength{\textheight}{24.5cm}
-\setlength{\footskip}{1cm}
-\setlength{\parindent}{0pt}
-\renewcommand{\baselinestretch}{1}
-\begin{document}
-
-
-\fontfamily{cmss}\fontsize{9pt}{9pt}\selectfont
-
-\parbox[t]{12cm}{
-  <%company%>
-
-  <%address%>}
-\hfill
-\parbox[t]{6cm}{\hfill <%source%>}
-
-\vspace*{0.6cm}
-
-<%text_amount%> \dotfill <%decimal%>/100 \makebox[0.5cm]{\hfill}
-
-\vspace{0.5cm}
-
-\hfill <%datepaid%> \makebox[2cm]{\hfill} <%amount%>
-
-\vspace{0.5cm}
-
-<%name%>
-
-<%street%>
-
-<%zipcode%>
-
-<%city%>
-
-<%country%>
-
-\vspace{2.8cm}
-
-<%company%>
-
-\vspace{0.5cm}
-
-<%name%> \hfill <%datepaid%> \hfill <%source%>
-
-\vspace{0.5cm}
-\begin{tabularx}{\textwidth}{lXrr@{}}
-\textbf{Invoice No.} & \textbf{Invoice Date}
-  & \textbf{Due} & \textbf{Applied} \\
-<%foreach invnumber%>
-<%invnumber%> & <%invdate%> \dotfill
-  & <%due%> & <%paid%> \\
-<%end invnumber%>
-\end{tabularx}
-
-\vfill
-
-\end{document}
-
diff --git a/templates/print/Default/income_statement.html b/templates/print/Default/income_statement.html
deleted file mode 100644 (file)
index e9d6a40..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-
-<body bgcolor=ffffff>
-
-<h2 align=center>
-<%company%>
-<br><%address%>
-
-<p>INCOME STATEMENT
-<br><%period%>
-</h2>
-
-
-<table width=100% border=0>
-<tr>
-  <th width=400 align=left colspan=2>INCOME<br><hr width=300 size=5 align=left noshade></th>
-  <th><%this_period%></th>
-  <th><%last_period%></th>
-</tr>
-
-<%foreach income_account%>
-<tr>
-  <td width=4> </td>
-  <td><%income_account%></td>
-  <td align=right><%income_this_period%></td>
-  <td align=right><%income_last_period%></td>
-</tr>
-<%end income_account%>
-
-<tr>
-  <td colspan=2> </td>
-  <td><hr noshade size=1></td>
-  <td><hr noshade size=1></td>
-</tr>
-
-<tr valign=top>
-  <td> </td>
-  <th align=left>Total Income</th>
-  <td align=right><%total_income_this_period%><hr noshade size=2></td>
-  <td align=right><%total_income_last_period%><hr noshade size=2></td>
-</tr>
-
-<tr>
-  <th align=left colspan=2>EXPENSES<br><hr width=300 size=5 align=left noshade></th>
-</tr>
-
-<%foreach expense_account%>
-<tr>
-  <td> </td>
-  <td><%expense_account%></td>
-  <td align=right><%expenses_this_period%></td>
-  <td align=right><%expenses_last_period%></td>
-</tr>
-<%end expense_account%>
-
-<tr>
-  <td colspan=2> </td>
-  <td><hr noshade size=1></td>
-  <td><hr noshade size=1></td>
-</tr>
-
-<tr valign=top>
-  <td> </td>
-  <th align=left>Total Expenses</th>
-  <td align=right><%total_expenses_this_period%><br><hr noshade size=2</td>
-  <td align=right><%total_expenses_last_period%><br><hr noshade size=2</td>
-</tr>
-
-<tr valign=top>
-  <th align=left colspan=2>INCOME / (LOSS)</th>
-  <td align=right><%total_this_period%><br><hr noshade size=2></td>
-  <td align=right><%total_last_period%><br><hr noshade size=2></td>
-</tr>
-
-</table>
-
-
-
-
-
-
-
-
diff --git a/templates/print/Default/invoice.html b/templates/print/Default/invoice.html
deleted file mode 100644 (file)
index b44981b..0000000
+++ /dev/null
@@ -1,309 +0,0 @@
-
-<body bgcolor=ffffff>
-
-<table width=100%>
-<tr valign=bottom>
-  <td width=10>&nbsp;</td>
-  <td>
-  
-  <table width=100%>
-  <tr>
-    <td>
-      <h4>
-      <%company%>
-      <br><%address%>
-      </h4>
-    </td>
-
-    <td align=right>
-      <h4>
-      Telephone: <%tel%>
-      <br>Facsimile: <%fax%>
-      </h4>
-    </td>
-  </tr>
-
-  <tr>
-    <th colspan=3>
-      <h4>I N V O I C E</h4>
-    </th>
-  </tr>
-
-  </table>
-
-
-  <table width=100% callspacing=0 cellpadding=0>
-    
-  <tr>
-    <td align=right>
-    <table>
-    <tr>
-      <th align=right>Invoice Date</th><td width=10>&nbsp;</td><td><%invdate%></td>
-    </tr>
-  
-    <tr>
-      <th align=right>Due Date</th><td width=10>&nbsp;</td><td><%duedate%></td>
-    </tr>
-
-    <tr>
-      <th align=right>Number</th><td>&nbsp;</td><td><%invnumber%></td></tr>
-    </tr>
-  
-<!--
-    <tr>
-      <th align=right>Clerk:</th><td>&nbsp;</td><td><%employee%></td>
-    </tr>
--->
-
-    <tr>
-      <td>&nbsp;</td>
-    </tr>
-    </td>
-    </table>
-  </tr>
-
-  <tr>
-    <td>
-    <table width=100%>
-    <tr bgcolor=000000>
-      <th align=left><font color=ffffff>To:</th>
-      <th align=left><font color=ffffff>Ship To:</th>
-    </tr>
-
-<!--
-     other variables which can be use:
-     contact, shiptocontact, shiptophone, shiptofax
--->
-
-    <tr valign=top>
-      <td><%name%>
-      <br><%street%>
-      <br><%zipcode%>
-      <br><%city%>
-      <br><%country%>
-      </td>
-      
-      <td><%shiptoname%>
-      <br><%shiptostreet%>
-      <br><%shiptozipcode%>
-      <br><%shiptocity%>
-      <br><%shiptocountry%>
-      </td>
-    </tr>
-    </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-  </tr>
-  
-  <tr>
-    <td>
-    <table width=100%>
-    <tr bgcolor=000000>
-<!--      <th align=right><font color=ffffff>No.</th>  -->
-      <th align=left><font color=ffffff>Number</th>
-      <th align=left><font color=ffffff>Description</th>
-      <th><font color=ffffff>Qt'y</th>
-      <th>&nbsp;</th>
-      <th><font color=ffffff>Price</th>
-      <th><font color=ffffff>Disc</th>
-      <th><font color=ffffff>Amount</th>
-    </tr>
-
-<%foreach number%>
-    <tr valign=top>
-<!--      <td align=right><%runningnumber%>.</td>
-adjust the colspan if you include this to shift subtotal one to the right
--->
-      <td><%number%></td>
-      <td><%description%></td>
-      <td align=right><%qty%></td>
-      <td><%unit%></td>
-      <td align=right><%sellprice%></td>
-      <td align=right><%discount%></td>
-      <td align=right><%linetotal%></td>
-    </tr>
-<%end number%>
-
-<!--
-you can also use netprice instead of sellprice if you
-don't want to show the discount
-netprice = sellprice - discount
--->
-
-    <tr>
-      <td colspan=7><hr noshade></td>
-    </tr>
-    
-    <tr>
-<%if taxincluded%>
-      <th colspan=5 align=right>Total</th>
-      <td colspan=2 align=right><%invtotal%></td>
-<%end taxincluded%>
-<%if not taxincluded%>
-      <th colspan=5 align=right>Subtotal</th>
-      <td colspan=2 align=right><%subtotal%></td>
-<%end taxincluded%>
-    </tr>
-
-<%foreach tax%>
-    <tr>
-      <th colspan=5 align=right><%taxdescription%> on <%taxbase%> @ <%taxrate%> %</th>
-      <td colspan=2 align=right><%tax%></td>
-    </tr>
-<%end tax%>
-
-<%if paid%>
-    <tr>
-      <th colspan=5 align=right>Paid</th>
-      <td colspan=2 align=right>- <%paid%></td>
-    </tr>
-<%end paid%>
-
-    <tr>
-      <td colspan=3>&nbsp;</td>
-      <td colspan=4><hr noshade></td>
-    </tr>
-
-    <tr>
-      <td colspan=3>Terms Net <b><%terms%></b> days</td>
-      <th colspan=2 align=right>Outstanding</th>
-      <th colspan=2 align=right><%total%></th>
-    </tr>
-
-    <tr>
-      <td>&nbsp;</td>
-    </tr>
-
-    </table>
-    </td>
-  </tr>
-
-<tr>
-  <td>
-  <table width=100%>
-    <tr valign=top>
-<%if notes%>
-      <td>Notes</td>
-      <td><%notes%></td>
-<%end notes%>
-      <td align=right>
-      All prices in <b><%currency%></b> Funds
-      <br><%shippingpoint%>
-      </td>
-    </tr>
-
-  </table>
-  </td>
-</tr>
-
-<tr><td>&nbsp;</td></tr>
-
-<%if paid%>
-<tr>
-  <td colspan=7>
-    <table width=60%>
-      <tr>
-        <th align=left>Payments</th>
-      </tr>
-      <tr>
-        <td colspan=4>
-         <hr noshade>
-       </td>
-      </tr>
-      <tr>
-        <th align=left>Date</th>
-       <th align=left>Account</th>
-       <th align=left>Source</th>
-       <th align=left>Amount</th>
-      </tr>
-<%end paid%>
-
-<%foreach payment%>
-      <tr>
-        <td><%paymentdate%></td>
-       <td><%paymentaccount%></td>
-       <td><%paymentsource%></td>
-       <td><%payment%></td>
-      </tr>
-<%end payment%>
-
-<%if paid%>
-    </table>
-  </td>
-</tr>
-
-<tr>
-  <td>&nbsp;</td>
-</tr>
-<%end paid%>
-
-<tr>
-  <th colspan=7>
-  <br>Thank you for your valued business!
-  </th>
-</tr>
-
-<tr><td>&nbsp;</td></tr>
-
-<tr>
-  <td>
-  <table width=100%>
-  <tr valign=top>
-    <td><font size=-3>
-    Payment due NET <%terms%> Days from date of Invoice.
-    Interest on overdue amounts will acrue at the rate of 1.5% per month
-    from due date until paid in full. Items returned are subject to
-    a 10% restocking charge. A return authorization must be obtained
-    from <%company%> before goods are returned. Returns must be shipped
-    prepaid and properly insured. <%company%> will not be responsible
-    for damages during transit.
-    </font>
-    </td>
-    <td width=150>
-    X <hr noshade>
-    </td>
-  </tr>
-  </table>
-  </td>
-</tr>
-
-<%foreach tax%>
-  <tr>
-    <th colspan=7 align=left><font size=-2><%taxdescription%> Registration <%taxnumber%></th>
-  </tr>
-<%end tax%>
-
-<%if taxincluded%>
-  <tr>
-    <th colspan=7 align=left><font size=-2>Taxes shown are included in price.</th>
-  </tr>
-<%end taxincluded%>
-
-<!-- business number
-  <tr>
-    <th colspan=7 align=left><font size=-2>Business Number: <%businessnumber%></font></th>
-  </tr>
--->
-
-<!-- banking information
-  <tr>
-    <th colspan=7 align=left>Banking Information:
-    <br>Bank
-    <br>Transit No.
-    <br>Account No.
-    </td>
-  </tr>
--->
-
-</table>
-
-</td>
-</tr>
-</table>
-
-</body>
-</html>
-
diff --git a/templates/print/Default/invoice.tex b/templates/print/Default/invoice.tex
deleted file mode 100644 (file)
index 62d4791..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage[frame]{xy}
-\usepackage{tabularx}
-\usepackage[utf8]{inputenc}
-\setlength{\voffset}{0.5cm}
-\setlength{\hoffset}{-2.0cm}
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0.5cm}
-\setlength{\headsep}{1cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{1.0cm}
-\setlength{\evensidemargin}{1.0cm}
-\setlength{\textwidth}{19.2cm}
-\setlength{\textheight}{24.5cm}
-\setlength{\footskip}{1cm}
-\setlength{\parindent}{0pt}
-\renewcommand{\baselinestretch}{1}
-\begin{document}
-
-\newlength{\descrwidth}\setlength{\descrwidth}{10cm}
-
-\newsavebox{\hdr}
-\sbox{\hdr}{
-  \fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-  \parbox{\textwidth}{
-    \parbox[b]{12cm}{
-      <%company%>
-
-      <%address%>}\hfill
-    \begin{tabular}[b]{rr@{}}
-    Telephone & <%tel%>\\
-    Facsimile & <%fax%>
-    \end{tabular}
-
-    \rule[1.5ex]{\textwidth}{0.5pt}
-  }
-}
-
-\fontfamily{cmss}\fontshape{n}\selectfont
-
-\markboth{<%company%>\hfill <%invnumber%>}{\usebox{\hdr}}
-
-\pagestyle{myheadings}
-%\thispagestyle{empty}     use this with letterhead paper
-
-\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-\vspace*{0.5cm}
-
-\parbox[t]{1cm}{\hfill}
-  \parbox[t]{10.5cm}{
-  \textbf{To}
-  \vspace{0.5cm}
-
-<%name%>
-
-<%street%>
-
-<%zipcode%>
-
-<%city%>
-
-<%country%>
-
-\vspace{0.3cm}
-
-%<%if contact%>
-%Attn: <%contact%>
-%\vspace{0.3cm}
-%<%end contact%>
-\vspace{0.5cm}
-
-<%if customerphone%>
-Tel: <%customerphone%>
-<%end customerphone%>
-
-<%if customerfax%>
-Fax: <%customerfax%>
-<%end customerfax%>
-
-<%email%>
-}
-\parbox[t]{7.5cm}{
-\textbf{Ship To}
-\vspace{0.5cm}
-
-<%shiptoname%>
-
-<%shiptostreet%>
-
-<%shiptozipcode%>
-
-<%shiptocity%>
-
-<%shiptocountry%>
-
-\vspace{0.3cm}
-
-\vspace{0.3cm}
-
-<%if shiptocontact%>
-Attn: <%shiptocontact%>
-\vspace{0.3cm}
-<%end shiptocontact%>
-
-<%if shiptophone%>
-Tel: <%shiptophone%>
-<%end shiptophone%>
-
-<%if shiptofax%>
-Fax: <%shiptofax%>
-<%end shiptofax%>
-
-<%shiptoemail%>
-}
-\hfill
-
-\vspace{1cm}
-
-\textbf{I N V O I C E}
-\hfill
-
-\vspace{1cm}
-
-\begin{tabular}[t]{l@{\hspace{0.3cm}}l}
-  \textbf{Date} & <%invdate%> \\
-  \textbf{Number} & <%invnumber%> \\
-  \textbf{Order} & <%ordnumber%> \\
-  \textbf{Clerk} & <%employee%>
-\end{tabular}
-
-\vspace{1cm}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rlrrr@{}}
-  \textbf{Number} & \textbf{Description} & \textbf{Qt'y} &
-    \textbf{Unit} & \textbf{Price} & \textbf{Disc} & \textbf{Amount} \\
-<%foreach number%>
-  <%number%> & <%description%> & <%qty%> &
-    <%unit%> & <%sellprice%> & <%discount%> & <%linetotal%> \\
-<%end number%>
-\end{tabular*}
-
-
-\parbox{\textwidth}{
-\rule{\textwidth}{2pt}
-
-\vspace{0.2cm}
-
-\hfill
-\begin{tabularx}{7cm}{Xr@{}}
-  \textbf{Subtotal} & \textbf{<%subtotal%>} \\
-<%foreach tax%>
-  <%taxdescription%> on <%taxbase%> & <%tax%> \\
-<%end tax%>
-<%if paid%>
-  \textbf{Paid} & - <%paid%> \\
-<%end paid%>
-  \hline
-  \textbf{Balance Owing} & \textbf{<%total%>} \\
-\end{tabularx}
-
-\vspace{0.3cm}
-
-\hfill
-  All prices in \textbf{<%currency%>} funds.
-
-\vspace{12pt}
-
-<%if notes%>
-  <%notes%>
-<%end if%>
-
-}
-
-\vfill
-
-<%if paid%>
-\begin{tabularx}{10cm}{@{}lXlr@{}}
-  \textbf{Payments} & & & \\
-  \hline
-  \textbf{Date} & \textbf{Account} & \textbf{Source} & \textbf{Amount} \\
-<%end paid%>
-<%foreach payment%>
-  <%paymentdate%> & <%paymentaccount%> & <%paymentsource%> & <%payment%> \\
-<%end payment%>
-<%if paid%>
-\end{tabularx}
-<%end paid%>
-
-\vspace{1cm}
-
-\centerline{\textbf{Thank You for your valued business!}}
-
-\renewcommand{\thefootnote}{\fnsymbol{footnote}}
-
-\footnotetext[1]{\tiny
-Payment due NET <%terms%> Days from date of Invoice. Interest on overdue
-amounts will acrue at the rate of 1.5\% per month starting <%duedate%>
-until paid in full. Items returned are subject to a 10\% restocking charge.
-A return authorization must be obtained from <%company%> before goods are
-returned. Returns must be shipped prepaid and properly insured.
-<%company%> will not be responsible for damages during transit.}
-
-\end{document}
-
-
-
diff --git a/templates/print/Default/pick_list.html b/templates/print/Default/pick_list.html
deleted file mode 100644 (file)
index 365ccc1..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-
-<body bgcolor=ffffff>
-
-<table width=100%>
-  <tr>
-    <td width=10>&nbsp;</td>
-    
-    <td>
-      <table width=100%>
-       <tr>
-         <td>
-         <h4>
-         <%company%>
-         <br><%address%>
-         </h4>
-         </td>
-
-         <th><img src=http://localhost/lx-erp/lx-office-erp.png border=0 width=64 height=58></th>
-
-         <td align=right>
-         <h4>
-         Tel: <%tel%>
-         <br>Fax: <%fax%>
-         </h4>
-         </td>
-       </tr>
-
-       <tr>
-         <th colspan=3>
-           <h4>P I C K &nbsp;&nbsp; L I S T</h4>
-         </th>
-       </tr>
-      </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-
-    <td>
-      <table width=100% callspacing=0 cellpadding=0>
-        <tr bgcolor=000000>
-         <th width=50% align=left><font color=ffffff>Ship To:</th>
-         <th width=50%>&nbsp;</th>
-       </tr>
-
-       <tr valign=top>
-         <td><%shiptoname%>
-         <br><%shiptostreet%>
-         <br><%shiptozipcode%>
-         <br><%shiptocity%>
-         <br><%shiptocountry%>
-         </td>
-
-         <td>
-         <%if shiptocontact%>
-         <br>Attn: <%shiptocontact%>
-         <%end shiptocontact%>
-
-         <%if shiptophone%>
-         <br>Tel: <%shiptophone%>
-         <%end shiptophone%>
-
-         <%if shiptofax%>
-         <br>Fax: <%shiptofax%>
-         <%end shiptofax%>
-
-         <%shiptoemail%>
-         </td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-
-  <tr height=5></tr>
-  
-  <tr>
-    <td>&nbsp;</td>
-
-    <td>
-      <table width=100% border=1>
-        <tr>
-         <th width=17% align=left>Order #</th>
-         <th width=17% align=left>Date</th>
-         <th width=17% align=left nowrap>Contact</th>
-         <%if warehouse%>
-         <th width=17% align=left>Warehouse</th>
-         <%end warehouse%>
-         <th width=17% align=left>Shipping Point</th>
-         <th width=15% align=left>Ship via</th>
-       </tr>
-
-        <tr>
-         <td><%ordnumber%>&nbsp;</td>
-
-         <%if shippingdate%>
-         <td><%shippingdate%></td>
-         <%end shippingdate%>
-
-         <%if not shippingdate%>
-         <td><%orddate%></td>
-         <%end shippingdate%>
-
-         <td><%employee%>&nbsp;</td>
-         
-         <%if warehouse%>
-         <td><%warehouse%>&nbsp;</td>
-         <%end warehouse%>
-         
-         <td><%shippingpoint%>&nbsp;</td>
-         <td><%shipvia%>&nbsp;</td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-    
-    <td>
-      <table width=100%>
-       <tr bgcolor=000000>
-         <th align=left><font color=ffffff>Pos</th>
-         <th align=left><font color=ffffff>Number</th>
-         <th align=left><font color=ffffff>Description</th>
-         <th><font color=ffffff>Qty</th>
-         <th><font color=ffffff>Ship</th>
-         <th>&nbsp;</th>
-         <th><font color=ffffff>Bin</th>
-       </tr>
-
-        <%foreach number%>
-       <tr valign=top>
-         <td><%runningnumber%>
-         <td><%number%></td>
-         <td><%description%></td>
-         <td align=right><%qty%></td>
-         <td align=right>[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</td>
-         <td><%unit%></td>
-         <td align=right><%bin%></td>
-       </tr>
-       <%end number%>
-      </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-
-    <td><hr noshade></td>
-  </tr>
-
-</table>
-
diff --git a/templates/print/Default/pick_list.tex b/templates/print/Default/pick_list.tex
deleted file mode 100644 (file)
index e84b67c..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage[frame]{xy}
-\usepackage{tabularx}
-\usepackage[utf8]{inputenc}
-\usepackage{graphicx}
-\setlength{\voffset}{0.5cm}
-\setlength{\hoffset}{-2.0cm}
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0.5cm}
-\setlength{\headsep}{1cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{1.0cm}
-\setlength{\evensidemargin}{1.0cm}
-\setlength{\textwidth}{19.2cm}
-\setlength{\textheight}{24.7cm}
-\setlength{\footskip}{1cm}
-\setlength{\parindent}{0pt}
-\renewcommand{\baselinestretch}{1}
-
-\begin{document}
-
-\newlength{\descrwidth}\setlength{\descrwidth}{10cm}
-\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-\pagestyle{myheadings}
-\thispagestyle{empty}
-
-\vspace*{-1.3cm}
-
-\parbox{\textwidth}{
-  \parbox[b]{.42\textwidth}{
-    <%company%>
-
-    <%address%>
-  }
-  \parbox[b]{.2\textwidth}{
-    \includegraphics[scale=0.3]{sql-ledger}
-  }\hfill
-  \begin{tabular}[b]{rr@{}}
-  Telephone & <%tel%>\\
-  Facsimile & <%fax%>
-  \end{tabular}
-
-  \rule[1.5ex]{\textwidth}{0.5pt}
-}
-
-
-\vspace*{0.5cm}
-
-\parbox[t]{1cm}{\hfill}
-\parbox[t]{.5\textwidth}{
-  \textbf{Ship To}
-} \hfill
-
-\vspace{0.7cm}
-
-\parbox[t]{1cm}{\hfill}
-\parbox[t]{.5\textwidth}{
-
-<%shiptoname%> \\
-<%shiptostreet%> \\
-<%shiptozipcode%> \\
-<%shiptocity%> \\
-<%shiptocountry%>
-}
-\parbox[t]{.4\textwidth}{
-  <%shiptocontact%>
-
-  <%if shiptophone%>
-  Tel: <%shiptophone%>
-  <%end shiptophone%>
-
-  <%if shiptofax%>
-  Fax: <%shiptofax%>
-  <%end shiptofax%>
-
-  <%shiptoemail%>
-}
-\hfill
-
-\vspace{1cm}
-
-\textbf{P I C K} \parbox{0.3cm}{\hfill} \textbf{L I S T}
-\hfill
-
-\vspace{1cm}
-
-\begin{tabularx}{\textwidth}{*{6}{|X}|} \hline
-  \textbf{Order \#} & \textbf{Date} & \textbf{Contact}
-  <%if warehouse%>
-  & \textbf{Warehouse}
-  <%end warehouse%>
-  & \textbf{Shipping Point} & \textbf{Ship via} \\ [0.5em]
-  \hline
-  <%ordnumber%>
-  <%if shippingdate%>
-  & <%shippingdate%>
-  <%end shippingdate%>
-  <%if not shippingdate%>
-  & <%orddate%>
-  <%end shippingdate%>
-  & <%employee%>
-  <%if warehouse%>
-  & <%warehouse%>
-  <%end warehouse%>
-  & <%shippingpoint%> & <%shipvia%> \\
-  \hline
-\end{tabularx}
-
-\vspace{1cm}
-
-\begin{tabular*}{\textwidth}{@{}rlp{\descrwidth}@{\extracolsep\fill}rcll@{}}
-  \textbf{Pos} & \textbf{Number} & \textbf{Description} &
-  \textbf{Qty} & \textbf{Ship} & & \textbf{Bin} \\
-<%foreach number%>
-  <%runningnumber%> & <%number%> & <%description%> &
-  <%qty%> & [\hspace{1cm}] & <%unit%> & <%bin%> \\
-<%end number%>
-\end{tabular*}
-
-
-\parbox{\textwidth}{
-\rule{\textwidth}{2pt}
-}
-
-\end{document}
-
diff --git a/templates/print/Default/purchase_order.html b/templates/print/Default/purchase_order.html
deleted file mode 100644 (file)
index 312ffc6..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-
-<body bgcolor=ffffff>
-
-<table width=100%>
-<tr valign=bottom>
-  <td width=10>&nbsp;</td>
-  <td>
-  
-  <table width=100%>
-  <tr>
-    <td>
-      <h4>
-      <%company%>
-      <br><%address%>
-      </h4>
-    </td>
-
-    <td align=right>
-      <h4>
-      Telephone: <%tel%>
-      <br>Facsimile: <%fax%>
-      </h4>
-    </td>
-  </tr>
-
-  <tr>
-    <th colspan=3>
-      <h4>P U R C H A S E &nbsp;&nbsp; O R D E R</h4>
-    </th>
-  </tr>
-
-  </table>
-
-
-  <table width=100% callspacing=0 cellpadding=0>
-    
-  <tr>
-    <td align=right>
-    <table>
-    <tr>
-      <th align=right>Order Date</th><td width=10>&nbsp;</td><td><%orddate%></td>
-    </tr>
-  
-    <tr>
-      <th align=right>Required by</th><td width=10>&nbsp;</td><td><%reqdate%></td>
-    </tr>
-
-    <tr>
-      <th align=right>Number</th><td>&nbsp;</td><td><%ordnumber%></td></tr>
-    </tr>
-  
-    <tr>
-      <td>&nbsp;</td>
-    </tr>
-    </td>
-    </table>
-  </tr>
-
-  <tr>
-    <td>
-    <table width=100%>
-    <tr bgcolor=000000>
-      <th align=left width=50%><font color=ffffff>To:</th>
-      <th align=left width=50%><font color=ffffff>Ship To:</th>
-    </tr>
-
-    <tr valign=top>
-      <td><%name%>
-      <br><%street%>
-      <br><%zipcode%>
-      <br><%city%>
-      <br><%country%>
-
-<br>
-<%if contact%>
-<br>Attn: <%contact%>
-<%end contact%>
-<%if vendorphone%>
-<br>Tel: <%vendorphone%>
-<%end vendorphone%>
-<%if vendorfax%>
-<br>Fax: <%vendorfax%>
-<%end vendorfax%>
-      </td>
-
-      <td><%shiptoname%>
-      <br><%shiptostreet%>
-      <br><%shiptozipcode%>
-      <br><%shiptocity%>
-      <br><%shiptocountry%>
-
-<br>
-<%if shiptocontact%>
-<br>Attn: <%shiptocontact%>
-<%end shiptocontact%>
-<%if shiptophone%>
-<br>Tel: <%shiptophone%>
-<%end shiptophone%>
-<%if shiptofax%>
-<br>Fax: <%shiptofax%>
-<%end shiptofax%>
-
-    </tr>
-    </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-  </tr>
-  
-  <tr>
-    <td>
-    <table width=100%>
-    <tr bgcolor=000000>
-<!--      <th align=right><font color=ffffff>No.</th>  -->
-      <th align=left><font color=ffffff>Number</th>
-      <th align=left><font color=ffffff>Description</th>
-      <th><font color=ffffff>Qt'y</th>
-      <th>&nbsp;</th>
-      <th><font color=ffffff>Price</th>
-      <th><font color=ffffff>Amount</th>
-    </tr>
-
-<%foreach number%>
-    <tr valign=top>
-<!--      <td align=right><%runningnumber%>.</td>
-adjust the colspan if you include this to shift subtotal one to the right
--->
-      <td><%number%></td>
-      <td><%description%></td>
-      <td align=right><%qty%></td>
-      <td><%unit%></td>
-      <td align=right><%sellprice%></td>
-      <td align=right><%linetotal%></td>
-    </tr>
-<%end number%>
-
-    <tr>
-      <td colspan=6><hr noshade></td>
-    </tr>
-    
-    <tr>
-      <th colspan=4 align=right>Subtotal</th>
-      <td colspan=2 align=right><%subtotal%></td>
-    </tr>
-
-<%foreach tax%>
-    <tr>
-      <th colspan=4 align=right><%taxdescription%> @ <%taxrate%> %</th>
-      <td colspan=2 align=right><%tax%></td>
-    </tr>
-<%end tax%>
-
-    <tr>
-      <td colspan=2>&nbsp;</td>
-      <td colspan=4><hr noshade></td>
-    </tr>
-
-    <tr>
-      <td colspan=2>Terms Net <b><%terms%></b> days</td>
-      <th colspan=2 align=right>Total</th>
-      <th colspan=2 align=right><%ordtotal%></th>
-    </tr>
-
-    <tr>
-      <td>&nbsp;</td>
-    </tr>
-
-    </table>
-    </td>
-  </tr>
-
-<tr>
-  <td>
-  <table width=100%>
-    <tr valign=top>
-<%if notes%>
-      <td>Notes</td>
-      <td><pre><%notes%></pre></td>
-<%end notes%>
-      <td align=right>
-      All prices in <b><%currency%></b> Funds
-      <br><%shippingpoint%>
-      </td>
-    </tr>
-
-  </table>
-  </td>
-</tr>
-
-<tr><td>&nbsp;</td></tr>
-  
-<tr>
-  <td>
-  <table width=100%>
-  <tr valign=top>
-    <td><font size=-3>
-    Payment due NET <%terms%> Days from date of Invoice.
-    Interest on overdue amounts will acrue at the rate of 1.5% per month
-    from due date until paid in full. Items returned are subject to
-    a 10% restocking charge. A return authorization must be obtained
-    from <%company%> before goods are returned. Returns must be shipped
-    prepaid and properly insured. <%company%> will not be responsible
-    for damages during transit.
-    </font>
-    </td>
-    <td width=150>
-    X <hr noshade>
-    </td>
-  </tr>
-  </table>
-  </td>
-</tr>
-
-</table>
-
-</td>
-</tr>
-</table>
-
-</body>
-</html>
-
diff --git a/templates/print/Default/purchase_order.tex b/templates/print/Default/purchase_order.tex
deleted file mode 100644 (file)
index b4959de..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage[frame]{xy}
-\usepackage{tabularx}
-\usepackage[utf8]{inputenc}
-\setlength{\voffset}{0.5cm}
-\setlength{\hoffset}{-2.0cm}
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0.5cm}
-\setlength{\headsep}{1cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{1.0cm}
-\setlength{\evensidemargin}{1.0cm}
-\setlength{\textwidth}{19.2cm}
-\setlength{\textheight}{24.5cm}
-\setlength{\footskip}{1cm}
-\setlength{\parindent}{0pt}
-\renewcommand{\baselinestretch}{1}
-\begin{document}
-
-\newlength{\descrwidth}\setlength{\descrwidth}{10cm}
-
-\newsavebox{\hdr}
-\sbox{\hdr}{
-  \fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-  \parbox{\textwidth}{
-    \parbox[b]{12cm}{
-      <%company%>
-
-      <%address%>}\hfill
-    \begin{tabular}[b]{rr@{}}
-    Telephone & <%tel%>\\
-    Facsimile & <%fax%>
-    \end{tabular}
-
-    \rule[1.5ex]{\textwidth}{0.5pt}
-  }
-}
-
-\fontfamily{cmss}\fontshape{n}\selectfont
-
-\markboth{<%company%>\hfill <%ordnumber%>}{\usebox{\hdr}}
-
-\pagestyle{myheadings}
-%\thispagestyle{empty}     use this with letterhead paper
-
-\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-\vspace*{0.5cm}
-
-\parbox[t]{1cm}{\hfill}
-\parbox[t]{10.5cm}{
-\textbf{To}
-\vspace{0.5cm}
-
-<%name%>
-
-<%street%>
-
-<%zipcode%>
-
-<%city%>
-
-<%country%>
-
-\vspace{0.3cm}
-
-<%if contact%>
-Attn: <%contact%>
-\vspace{0.3cm}
-<%end contact%>
-
-<%if vendorphone%>
-Tel: <%vendorphone%>
-<%end vendorphone%>
-
-<%if vendorfax%>
-Fax: <%vendorfax%>
-<%end vendorfax%>
-
-<%email%>
-}
-\parbox[t]{7.5cm}{
-\textbf{Ship To}
-\vspace{0.5cm}
-
-<%shiptoname%>
-
-<%shiptostreet%>
-
-<%shiptozipcode%>
-
-<%shiptocity%>
-
-<%shiptocountry%>
-
-\vspace{0.3cm}
-
-<%if shiptocontact%>
-Attn: <%shiptocontact%>
-\vspace{0.3cm}
-<%end shiptocontact%>
-
-<%if shiptophone%>
-Tel: <%shiptophone%>
-<%end shiptophone%>
-
-<%if shiptofax%>
-Fax: <%shiptofax%>
-<%end shiptofax%>
-
-<%shiptoemail%>
-}
-\hfill
-
-\vspace{1cm}
-
-\textbf{P U R C H A S E} \parbox{0.3cm}{\hfill} \textbf{O R D E R}
-\hfill
-\begin{tabular}[t]{l@{\hspace{0.3cm}}l}
-  \textbf{Date} & <%orddate%> \\
-<%if reqdate%>
-  \textbf{Required by} & <%reqdate%> \\
-<%end reqdate%>
-  \textbf{Number} & <%ordnumber%>
-\end{tabular}
-
-\vspace{1cm}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rlrr@{}}
-  \textbf{Number} & \textbf{Description} & \textbf{Qt'y} &
-    \textbf{Unit} & \textbf{Price} & \textbf{Amount} \\
-<%foreach number%>
-  <%number%> & <%description%> & <%qty%> &
-    <%unit%> & <%sellprice%> & <%linetotal%> \\
-<%end number%>
-\end{tabular*}
-
-
-\parbox{\textwidth}{
-\rule{\textwidth}{2pt}
-
-\vspace{0.2cm}
-
-\hfill
-\begin{tabularx}{7cm}{Xr@{}}
-  \textbf{Subtotal} & \textbf{<%subtotal%>} \\
-<%foreach tax%>
-  <%taxdescription%> on <%taxbase%> & <%tax%>\\
-<%end tax%>
-  \hline
-  \textbf{Total} & \textbf{<%ordtotal%>}\\
-\end{tabularx}
-
-\vspace{0.3cm}
-
-\hfill
-  All prices in \textbf{<%currency%>} funds.
-
-\vspace{12pt}
-
-<%if notes%>
-  <%notes%>
-<%end if%>
-
-}
-
-
-%\renewcommand{\thefootnote}{\fnsymbol{footnote}}
-
-%\footnotetext[1]{\tiny }
-
-\end{document}
-
-
diff --git a/templates/print/Default/receipt.tex b/templates/print/Default/receipt.tex
deleted file mode 100644 (file)
index 4f97660..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage[frame]{xy}
-\usepackage{tabularx}
-\usepackage[utf8]{inputenc}
-\setlength{\voffset}{0.4cm}
-\setlength{\hoffset}{-2.0cm}
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0.0cm}
-\setlength{\headsep}{1cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{1.0cm}
-\setlength{\evensidemargin}{1.0cm}
-\setlength{\textwidth}{19.2cm}
-\setlength{\textheight}{24.5cm}
-\setlength{\footskip}{1cm}
-\setlength{\parindent}{0pt}
-\renewcommand{\baselinestretch}{1}
-\begin{document}
-
-
-\fontfamily{cmss}\fontsize{9pt}{9pt}\selectfont
-
-\parbox[t]{12cm}{
-  <%company%>
-
-  <%address%>}
-\hfill
-\parbox[t]{6cm}{\hfill <%source%>}
-
-\vspace*{0.6cm}
-
-<%text_amount%> \dotfill <%decimal%>/100 \makebox[0.5cm]{\hfill}
-
-\vspace{0.5cm}
-
-\hfill <%datepaid%> \makebox[2cm]{\hfill} <%amount%>
-
-\vspace{0.5cm}
-
-<%name%>
-
-<%street%>
-
-<%zipcode%>
-
-<%city%>
-
-<%country%>
-
-\vspace{2.8cm}
-
-<%company%>
-
-\vspace{0.5cm}
-
-<%name%> \hfill <%datepaid%> \hfill <%source%>
-
-\vspace{0.5cm}
-\begin{tabularx}{\textwidth}{lXrr@{}}
-\textbf{Invoice No.} & \textbf{Invoice Date}
-  & \textbf{Due} & \textbf{Applied} \\
-<%foreach invnumber%>
-<%invnumber%> & <%invdate%> \dotfill
-  & <%due%> & <%paid%> \\
-<%end invnumber%>
-\end{tabularx}
-
-\vfill
-
-\end{document}
-
diff --git a/templates/print/Default/request_quotation.html b/templates/print/Default/request_quotation.html
deleted file mode 100644 (file)
index c1980fd..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-
-<body bgcolor=ffffff>
-
-<table width=100%>
-<tr valign=bottom>
-  <td width=10>&nbsp;</td>
-  <td>
-  
-  <table width=100%>
-  <tr>
-    <td>
-      <h4>
-      <%company%>
-      <br><%address%>
-      </h4>
-    </td>
-
-    <td><img src=http://localhost/lx-erp/lx-office-erp.png border=0 width=64 height=58>
-    </td>
-
-    <td align=right>
-      <h4>
-      Tel: <%tel%>
-      <br>Fax: <%fax%>
-      </h4>
-    </td>
-  </tr>
-
-  <tr>
-    <th colspan=3>
-      <h4>R E Q U E S T &nbsp;&nbsp; F O R &nbsp;&nbsp; Q U O T A T I O N</h4>
-    </th>
-  </tr>
-
-  </table>
-
-
-  <table width=100% callspacing=0 cellpadding=0>
-    
-  <tr>
-    <td>
-    <table width=100%>
-    <tr bgcolor=000000>
-      <th align=left width=50%><font color=ffffff>To:</th>
-      <th align=left width=50%><font color=ffffff>Ship To:</th>
-    </tr>
-
-    <tr valign=top>
-      <td><%name%>
-      <br><%street%>
-      <br><%zipcode%>
-      <br><%city%>
-      <br><%country%>
-<br>
-<%if contact%>
-<br>Attn: <%contact%>
-<%end contact%>
-<%if vendorphone%>
-<br>Tel: <%vendorphone%>
-<%end vendorphone%>
-<%if vendorfax%>
-<br>Fax: <%vendorfax%>
-<%end vendorfax%>
-      </td>
-
-      <td><%shiptoname%>
-      <br><%shiptostreet%>
-      <br><%shiptozipcode%>
-      <br><%shiptocity%>
-      <br><%shiptocountry%>
-<br>
-<%if shiptocontact%>
-<br>Attn: <%shiptocontact%>
-<%end shiptocontact%>
-<%if shiptophone%>
-<br>Tel: <%shiptophone%>
-<%end shiptophone%>
-<%if shiptofax%>
-<br>Fax: <%shiptofax%>
-<%end shiptofax%>
-    </tr>
-    </table>
-    </td>
-  </tr>
-
-  <tr><td>&nbsp;</td></tr>
-  
-  <tr>
-    <td colspan=2>
-    <table width=100% border=1>
-    <tr>
-      <th width=17% align=left>RFQ #</th>
-      <th width=17% align=left>Date</th>
-      <th width=17% align=left>Required by</th>
-      <th width=17% align=left>Contact</th>
-      <th width=17% align=left>Shipping Point</th>
-      <th width=15% align=left>Ship via</th>
-    </tr>
-
-    <tr>
-      <td><%quonumber%></td>
-      <td><%quodate%></td>
-      <td><%reqdate%></td>
-      <td><%employee%></td>
-      <td><%shippingpoint%></td>
-      <td><%shipvia%></td>
-    </tr>
-    </table>
-    </td>
-  </tr>
-
-  <tr height="10"></tr>
-  
-  <tr>
-    <td>Please provide price and delivery time for the following items:</td>
-  </tr>
-
-  <tr height="10"></tr>
-
-  <tr>
-    <td>
-    <table width=100%>
-    <tr>
-<!--      <th align=right>No.</th>  -->
-      <th align=left>Number</th>
-      <th align=left>Description</th>
-      <th>Qt'y</th>
-      <th>&nbsp;</th>
-      <th>Delivery</th>
-      <th>Unit Price</th>
-      <th>Extended</th>
-    </tr>
-
-<%foreach number%>
-    <tr valign=top>
-<!--      <td align=right><%runningnumber%>.</td>
-other per line item variables available <%reqdate%>
-adjust the colspan if you include this to shift subtotal one to the right
--->
-      <td><%number%></td>
-      <td><%description%></td>
-      <td align=right><%qty%></td>
-      <td><%unit%></td>
-
-    </tr>
-<%end number%>
-
-    <tr>
-      <td colspan=7><hr noshade></td>
-    </tr>
-    
-    </table>
-    </td>
-  </tr>
-
-<tr>
-  <td>
-  <table width=100%>
-<%if notes%>
-    <tr valign=top>
-      <td>Notes</td>
-      <td><%notes%></td>
-    </tr>
-<%end notes%>
-
-  </table>
-  </td>
-</tr>
-
-<tr><td>&nbsp;</td></tr>
-  
-<tr>
-  <td>
-  <table width=100%>
-  <tr valign=top>
-    <td width=70%>&nbsp;</td>
-
-    <td width=30%>
-    X <hr noshade>
-    </td>
-  </tr>
-  </table>
-  </td>
-</tr>
-
-</table>
-
-</td>
-</tr>
-</table>
-
-</body>
-</html>
-
diff --git a/templates/print/Default/request_quotation.tex b/templates/print/Default/request_quotation.tex
deleted file mode 100644 (file)
index d8788b7..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage[frame]{xy}
-\usepackage{tabularx}
-\usepackage{graphicx}
-\setlength{\voffset}{0.5cm}
-\setlength{\hoffset}{-2.0cm}
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0.5cm}
-\setlength{\headsep}{1cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{1.0cm}
-\setlength{\evensidemargin}{1.0cm}
-\setlength{\textwidth}{19.2cm}
-\setlength{\textheight}{24.7cm}
-\setlength{\footskip}{1cm}
-\setlength{\parindent}{0pt}
-\renewcommand{\baselinestretch}{1}
-\begin{document}
-
-\newlength{\descrwidth}\setlength{\descrwidth}{10cm}
-\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-\pagestyle{myheadings}
-\thispagestyle{empty}
-
-\vspace*{-1.3cm}
-
-\parbox{\textwidth}{
-  \parbox[b]{.42\textwidth}{
-    <%company%>
-
-    <%address%>
-  }\hfill
-  \begin{tabular}[b]{rr@{}}
-  Telephone & <%tel%>\\
-  Facsimile & <%fax%>
-  \end{tabular}
-
-  \rule[1.5ex]{\textwidth}{0.5pt}
-}
-
-\vspace*{0.5cm}
-
-\parbox[t]{1cm}{\hfill}
-\parbox[t]{.45\textwidth}{
-\textbf{To}
-\vspace{0.7cm}
-
-<%name%>
-
-<%street%>
-
-<%zipcode%>
-
-<%city%>
-
-<%country%>
-
-\vspace{0.3cm}
-
-<%if contact%>
-<%contact%>
-<%end contact%>
-
-\vspace{0.2cm}
-
-<%if vendorphone%>
-Tel: <%vendorphone%>
-<%end vendorphone%>
-
-<%if vendorfax%>
-Fax: <%vendorfax%>
-<%end vendorfax%>
-
-<%email%>
-}
-\parbox[t]{.45\textwidth}{
-\textbf{Ship To}
-\vspace{0.7cm}
-
-<%shiptoname%>
-
-<%shiptostreet%>
-
-<%shiptozipcode%>
-
-<%shiptocity%>
-
-<%shiptocountry%>
-
-\vspace{0.3cm}
-
-<%if shiptocontact%>
-<%shiptocontact%>
-<%end shiptocontact%>
-
-<%if shiptophone%>
-Tel: <%shiptophone%>
-<%end shiptophone%>
-
-<%if shiptofax%>
-Fax: <%shiptofax%>
-<%end shiptofax%>
-
-<%shiptoemail%>
-}
-\hfill
-
-\vspace{1cm}
-
-\textbf{R E Q U E S T for Q U O T A T I O N}
-\hfill
-
-\vspace{1cm}
-
-\begin{tabularx}{\textwidth}{*{6}{|X}|} \hline
-  \textbf{RFQ \#} & \textbf{Date} & \textbf{Required by} & \textbf{Contact} & \textbf{Shipping Point} & \textbf{Ship via} \\ [0.5ex]
-  \hline
-  <%quonumber%> & <%quodate%> & <%reqdate%> & <%employee%> & <%shippingpoint%> & <%shipvia%> \\
-  \hline
-\end{tabularx}
-
-\vspace{1cm}
-
-Please provide price and delivery time for the following items:
-
-\vspace{1cm}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rllrr@{}}
-  \textbf{Number} & \textbf{Description} & \textbf{Qt'y} & &
-  \textbf{Delivery} & \textbf{Unit Price} & \textbf{Extended} \\
-<%foreach number%>
-  <%number%> & <%description%> & <%qty%> & <%unit%> \\
-<%end number%>
-\end{tabular*}
-
-
-\parbox{\textwidth}{
-\rule{\textwidth}{2pt}
-
-\hfill
-
-<%if notes%>
-  <%notes%>
-<%end if%>
-
-}
-
-\end{document}
-
diff --git a/templates/print/Default/sales_order.html b/templates/print/Default/sales_order.html
deleted file mode 100644 (file)
index 343955e..0000000
+++ /dev/null
@@ -1,212 +0,0 @@
-
-<body bgcolor=ffffff>
-
-<table width=100%>
-<tr valign=bottom>
-  <td width=10>&nbsp;</td>
-  <td>
-  
-  <table width=100%>
-  <tr>
-    <td>
-      <h4>
-      <%company%>
-      <br><%address%>
-      </h4>
-    </td>
-
-    <td align=right>
-      <h4>
-      Telephone: <%tel%>
-      <br>Facsimile: <%fax%>
-      </h4>
-    </td>
-  </tr>
-
-  <tr>
-    <th colspan=3>
-      <h4>S A L E S &nbsp;&nbsp; O R D E R</h4>
-    </th>
-  </tr>
-
-  </table>
-
-
-  <table width=100% callspacing=0 cellpadding=0>
-    
-  <tr>
-    <td align=right>
-    <table>
-    <tr>
-      <th align=right>Order Date</th><td width=10>&nbsp;</td><td><%orddate%></td>
-    </tr>
-  
-    <tr>
-      <th align=right>Required by</th><td width=10>&nbsp;</td><td><%reqdate%></td>
-    </tr>
-
-    <tr>
-      <th align=right>Number</th><td>&nbsp;</td><td><%ordnumber%></td></tr>
-    </tr>
-  
-    <tr>
-      <td>&nbsp;</td>
-    </tr>
-    </td>
-    </table>
-  </tr>
-
-  <tr>
-    <td>
-    <table width=100%>
-    <tr bgcolor=000000>
-      <th align=left><font color=ffffff>To:</th>
-      <th align=left><font color=ffffff>Ship To:</th>
-    </tr>
-
-    <tr>
-      <td><%name%>
-      <br><%street%>
-      <br><%zipcode%>
-      <br><%city%>
-      <br><%country%>
-      </td>
-
-      <td><%shiptoname%>
-      <br><%shiptostreet%>
-      <br><%shiptozipcode%>
-      <br><%shiptocity%>
-      <br><%shiptocountry%>
-      </td>
-    </tr>
-    </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-  </tr>
-  
-  <tr>
-    <td>
-    <table width=100%>
-    <tr bgcolor=000000>
-<!--      <th align=right><font color=ffffff>No.</th>  -->
-      <th align=left><font color=ffffff>Number</th>
-      <th align=left><font color=ffffff>Description</th>
-      <th><font color=ffffff>Qt'y</th>
-      <th>&nbsp;</th>
-      <th><font color=ffffff>Price</th>
-      <th><font color=ffffff>Disc</th>
-      <th><font color=ffffff>Amount</th>
-    </tr>
-
-<%foreach number%>
-    <tr valign=top>
-<!--      <td align=right><%runningnumber%>.</td>
-adjust the colspan if you include this to shift subtotal one to the right
--->
-      <td><%number%></td>
-      <td><%description%></td>
-      <td align=right><%qty%></td>
-      <td><%unit%></td>
-      <td align=right><%sellprice%></td>
-      <td align=right><%discount%></td>
-      <td align=right><%linetotal%></td>
-    </tr>
-<%end number%>
-
-    <tr>
-      <td colspan=7><hr noshade></td>
-    </tr>
-    
-    <tr>
-<%if taxincluded%>
-      <th colspan=5 align=right>Total</th>
-      <td colspan=2 align=right><%ordtotal%></td>
-<%end taxincluded%>
-
-<%if not taxincluded%>
-      <th colspan=5 align=right>Subtotal</th>
-      <td colspan=2 align=right><%subtotal%></td>
-<%end taxincluded%>
-    </tr>
-
-<%foreach tax%>
-    <tr>
-      <th colspan=5 align=right><%taxdescription%> on <%taxbase%> @ <%taxrate%> %</th>
-      <td colspan=2 align=right><%tax%></td>
-    </tr>
-<%end tax%>
-
-    <tr>
-      <td colspan=2>&nbsp;</td>
-      <td colspan=5><hr noshade></td>
-    </tr>
-
-    <tr>
-      <td colspan=3>Terms Net <b><%terms%></b> days</td>
-      <th colspan=2 align=right>Total</th>
-      <th colspan=2 align=right><%ordtotal%></th>
-    </tr>
-<%if taxincluded%>
-    <tr>
-      <td colspan=3>Tax is included in Total</td>
-    </tr>
-<%end taxincluded%>
-
-    <tr>
-      <td>&nbsp;</td>
-    </tr>
-
-    </table>
-    </td>
-  </tr>
-
-<tr>
-  <td>
-  <table width=100%>
-    <tr valign=top>
-<%if notes%>
-      <td>Notes</td>
-      <td><pre><%notes%></pre></td>
-<%end notes%>
-      <td align=right>
-      All prices in <b><%currency%></b> Funds
-      <br><%shippingpoint%>
-      </td>
-    </tr>
-
-  </table>
-  </td>
-</tr>
-
-<tr><td>&nbsp;</td></tr>
-  
-<tr>
-  <td>
-  <table width=100%>
-  <tr valign=top>
-    <td><font size=-3>
-    A 10% order cancellation fee will be applied for any special order
-    products or products that have been customized, enhanced or
-    upgraded at customers request.
-    </font>
-    </td>
-    <td width=150>
-    X <hr noshade>
-    </td>
-  </tr>
-  </table>
-  </td>
-</tr>
-
-</table>
-
-</td>
-</tr>
-</table>
-
-</body>
-</html>
-
diff --git a/templates/print/Default/sales_order.tex b/templates/print/Default/sales_order.tex
deleted file mode 100644 (file)
index 4e82e91..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage[frame]{xy}
-\usepackage{tabularx}
-\usepackage[utf8]{inputenc}
-\setlength{\voffset}{0.5cm}
-\setlength{\hoffset}{-2.0cm}
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0.5cm}
-\setlength{\headsep}{1cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{1.0cm}
-\setlength{\evensidemargin}{1.0cm}
-\setlength{\textwidth}{19.2cm}
-\setlength{\textheight}{24.5cm}
-\setlength{\footskip}{1cm}
-\setlength{\parindent}{0pt}
-\renewcommand{\baselinestretch}{1}
-\begin{document}
-
-\newlength{\descrwidth}\setlength{\descrwidth}{10cm}
-
-\newsavebox{\hdr}
-\sbox{\hdr}{
-  \fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-  \parbox{\textwidth}{
-    \parbox[b]{12cm}{
-      <%company%>
-
-      <%address%>}\hfill
-    \begin{tabular}[b]{rr@{}}
-    Telephone & <%tel%>\\
-    Facsimile & <%fax%>
-    \end{tabular}
-
-    \rule[1.5ex]{\textwidth}{0.5pt}
-  }
-}
-
-\fontfamily{cmss}\fontshape{n}\selectfont
-
-\markboth{<%company%>\hfill <%ordnumber%>}{\usebox{\hdr}}
-
-\pagestyle{myheadings}
-%\thispagestyle{empty}     use this with letterhead paper
-
-\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-\vspace*{2cm}
-
-<%name%>
-
-<%street%>
-
-<%zipcode%>
-
-<%city%>
-
-<%country%>
-
-\vspace{3.5cm}
-
-\textbf{S A L E S} \parbox{0.3cm}{\hfill} \textbf{O R D E R}
-\hfill
-\begin{tabular}[t]{l@{\hspace{0.3cm}}l}
-  \textbf{Order Date} & <%orddate%> \\
-<%if reqdate%>
-  \textbf{Required by} & <%reqdate%> \\
-<%end reqdate%>
-  \textbf{Number} & <%ordnumber%>
-\end{tabular}
-
-\vspace{1cm}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rlrrr@{}}
-  \textbf{Number} & \textbf{Description} & \textbf{Qt'y} &
-    \textbf{Unit} & \textbf{Price} & \textbf{Disc} & \textbf{Amount} \\
-<%foreach number%>
-  <%number%> & <%description%> & <%qty%> &
-    <%unit%> & <%sellprice%> & <%discount%> & <%linetotal%> \\
-<%end number%>
-\end{tabular*}
-
-
-\parbox{\textwidth}{
-\rule{\textwidth}{2pt}
-
-\vspace{0.2cm}
-
-\hfill
-\begin{tabularx}{7cm}{Xr@{}}
-  \textbf{Subtotal} & \textbf{<%subtotal%>} \\
-<%foreach tax%>
-  <%taxdescription%> on <%taxbase%> & <%tax%>\\
-<%end tax%>
-  \hline
-  \textbf{Total} & \textbf{<%ordtotal%>}\\
-\end{tabularx}
-
-\vspace{0.3cm}
-
-\hfill
-  All prices in \textbf{<%currency%>} funds.
-
-\vspace{12pt}
-
-<%if notes%>
-  <%notes%>
-<%end if%>
-
-}
-
-
-\renewcommand{\thefootnote}{\fnsymbol{footnote}}
-
-\footnotetext[1]{\tiny
-A 10\% order cancellation fee will be applied for any special order products or
-products that have been customized, enhanced or upgraded at customers request.
-Items which are non-returnable are indicated above.
-}
-
-\end{document}
-
diff --git a/templates/print/Default/sales_quotation.html b/templates/print/Default/sales_quotation.html
deleted file mode 100644 (file)
index a77d0c6..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-
-<body bgcolor=ffffff>
-
-<table width=100%>
-<tr valign=bottom>
-  <td width=10>&nbsp;</td>
-  <td>
-  
-  <table width=100%>
-  <tr valign=top>
-    <td>
-      <h4>
-      <%company%>
-      <br><%address%>
-      </h4>
-    </td>
-
-    <th><img src=http://localhost/lx-erp/lx-office-erp.png border=0 width=64 height=58></th>
-
-    <td align=right>
-      <h4>
-      Tel: <%tel%>
-      <br>Fax: <%fax%>
-      </h4>
-    </td>
-  </tr>
-
-<tr><td colspan=3>&nbsp;</td></tr>
-
-  <tr>
-    <th colspan=3>
-      <h4>Q U O T A T I O N</h4>
-    </th>
-  </tr>
-
-  </table>
-
-  <table width=100% callspacing=0 cellpadding=0>
-
-  <tr>
-    <td>
-    <table width=100%>
-
-    <tr valign=top>
-      <td><%name%>
-      <br><%street%>
-      <br><%zipcode%>
-      <br><%city%>
-      <br><%country%>
-<br>
-<%if contact%>
-<br>Attn: <%contact%>
-<%end contact%>
-
-<%if customerphone%>
-<br>Tel: <%customerphone%>
-<%end customerphone%>
-
-<%if customerfax%>
-<br>Fax: <%customerfax%>
-<%end customerfax%>
-
-<%if email%>
-<br><%email%>
-<%end email%>
-      </td>
-
-    </tr>
-    </table>
-    </td>
-  </tr>
-  
-  <tr><td>&nbsp;</td></tr>
-  
-  <tr>
-    <td colspan=2>
-      <table width=100% border=1>
-        <tr>
-         <th width=17% align=left nowrap>Number</th>
-         <th width=17% align=left>Date</th>
-         <th width=17% align=left>Valid until</th>
-         <th width=17% align=left nowrap>Contact</th>
-         <th width=17% align=left nowrap>Shipping Point</th>
-         <th width=15% align=left nowrap>Ship via</th>
-       </tr>
-
-       <tr>
-         <td><%quonumber%></td>
-         <td><%quodate%></td>
-         <td><%reqdate%></td>
-         <td><%employee%></td>
-         <td><%shippingpoint%></td>
-         <td><%shipvia%></td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-  </tr>
-  
-  <tr>
-    <td>
-    <table width=100%>
-    <tr bgcolor=000000>
-      <th align=right><font color=ffffff>No.</th>
-      <th align=left><font color=ffffff>Number</th>
-      <th align=left><font color=ffffff>Description</th>
-      <th><font color=ffffff>Qt'y</th>
-      <th>&nbsp;</th>
-      <th><font color=ffffff>Price</th>
-      <th><font color=ffffff>Disc</th>
-      <th><font color=ffffff>Amount</th>
-    </tr>
-
-<%foreach number%>
-    <tr valign=top>
-    <td align=right><%runningnumber%></td>
-
-      <td><%number%></td>
-      <td><%description%></td>
-      <td align=right><%qty%></td>
-      <td><%unit%></td>
-      <td align=right><%sellprice%></td>
-      <td align=right><%discount%></td>
-      <td align=right><%linetotal%></td>
-    </tr>
-<%end number%>
-
-    <tr>
-      <td colspan=8><hr noshade></td>
-    </tr>
-    
-    <tr>
-<%if taxincluded%>
-      <th colspan=6 align=right>Total</th>
-      <td colspan=2 align=right><%invtotal%></td>
-<%end taxincluded%>
-
-<%if not taxincluded%>
-      <th colspan=6 align=right>Subtotal</th>
-      <td colspan=2 align=right><%subtotal%></td>
-<%end taxincluded%>
-    </tr>
-
-<%foreach tax%>
-    <tr>
-      <th colspan=6 align=right><%taxdescription%> on <%taxbase%> @ <%taxrate%> %</th>
-      <td colspan=2 align=right><%tax%></td>
-    </tr>
-<%end tax%>
-
-    <tr>
-      <td colspan=4>&nbsp;</td>
-      <td colspan=4><hr noshade></td>
-    </tr>
-
-    <tr>
-      <td colspan=4>&nbsp;
-<%if terms%>
-      Terms Net <b><%terms%></b> days
-<%end terms%>
-      </td>
-      <th colspan=2 align=right>Total</th>
-      <th colspan=2 align=right><%quototal%></th>
-    </tr>
-    
-    <tr>
-      <td>&nbsp;</td>
-    </tr>
-
-    </table>
-    </td>
-  </tr>
-
-<tr>
-  <td>
-  <table width=100%>
-    <tr valign=top>
-<%if notes%>
-      <td>Notes</td>
-      <td><%notes%></td>
-<%end notes%>
-      <td align=right>
-      All prices in <b><%currency%></b> Funds
-      </td>
-    </tr>
-
-  </table>
-  </td>
-</tr>
-
-<tr><td>&nbsp;</td></tr>
-
-<tr>
-  <td>
-  <table width=100%>
-  <tr valign=top>
-    <td width=60%><font size=-3>
-    Special order items are subject to a 10% cancellation fee.
-    </font>
-    </td>
-    <td width=40%>
-    X <hr noshade>
-    </td>
-  </tr>
-  </table>
-  </td>
-</tr>
-
-</table>
-
-</td>
-</tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/templates/print/Default/sales_quotation.tex b/templates/print/Default/sales_quotation.tex
deleted file mode 100644 (file)
index 35d4357..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage[frame]{xy}
-\usepackage{tabularx}
-\usepackage{graphicx}
-\setlength{\voffset}{0.5cm}
-\setlength{\hoffset}{-2.0cm}
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0.5cm}
-\setlength{\headsep}{1cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{1.0cm}
-\setlength{\evensidemargin}{1.0cm}
-\setlength{\textwidth}{19.2cm}
-\setlength{\textheight}{24.7cm}
-\setlength{\footskip}{1cm}
-\setlength{\parindent}{0pt}
-\renewcommand{\baselinestretch}{1}
-\begin{document}
-
-\newlength{\descrwidth}\setlength{\descrwidth}{10cm}
-\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-\pagestyle{myheadings}
-\thispagestyle{empty}
-
-\vspace*{-1.3cm}
-
-\parbox{\textwidth}{
-  \parbox[b]{.42\textwidth}{
-    <%company%>
-
-    <%address%>
-  }
-  \parbox[b]{.2\textwidth}{
-    \includegraphics[scale=0.3]{sql-ledger}
-  }\hfill
-  \begin{tabular}[b]{rr@{}}
-  Telephone & <%tel%>\\
-  Facsimile & <%fax%>
-  \end{tabular}
-
-  \rule[1.5ex]{\textwidth}{0.5pt}
-}
-
-\vspace*{0.5cm}
-
-\parbox[t]{1cm}{\hfill}
-\parbox[t]{.45\textwidth}{
-
-<%name%>
-
-<%street%>
-
-<%zipcode%>
-
-<%city%>
-
-<%country%>
-
-\vspace{0.3cm}
-
-<%if contact%>
-<%contact%>
-<%end contact%>
-
-\vspace{0.2cm}
-
-<%if customerphone%>
-Tel: <%customerphone%>
-<%end customerphone%>
-
-<%if customerfax%>
-Fax: <%customerfax%>
-<%end customerfax%>
-
-<%email%>
-}
-
-\vspace{1cm}
-
-\textbf{Q U O T A T I O N}
-\hfill
-
-\vspace{1cm}
-
-\begin{tabularx}{\textwidth}{*{6}{|X}|} \hline
-  \textbf{Quotation \#} & \textbf{Date} & \textbf{Valid until} & \textbf{Contact} & \textbf{Shipping Point} & \textbf{Ship via} \\ [0.5ex]
-  \hline
-  <%quonumber%> & <%quodate%> & <%reqdate%> & <%employee%> & <%shippingpoint%> & <%shipvia%> \\
-  \hline
-\end{tabularx}
-
-\vspace{1cm}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rlrrr@{}}
-  \textbf{Number} & \textbf{Description} & \textbf{Qt'y} &
-    \textbf{Unit} & \textbf{Price} & \textbf{Disc} & \textbf{Amount} \\
-<%foreach number%>
-  <%number%> & <%description%> & <%qty%> &
-    <%unit%> & <%sellprice%> & <%discount%> & <%linetotal%> \\
-<%end number%>
-\end{tabular*}
-
-
-\parbox{\textwidth}{
-\rule{\textwidth}{2pt}
-
-\vspace{0.2cm}
-
-\hfill
-\begin{tabularx}{7cm}{Xr@{}}
-  Subtotal & <%subtotal%> \\
-<%foreach tax%>
-  <%taxdescription%> on <%taxbase%> & <%tax%>\\
-<%end tax%>
-  \hline
-  Total & <%quototal%>\\
-\end{tabularx}
-
-\vspace{0.3cm}
-
-\hfill
-  All prices in \textbf{<%currency%>}.
-
-\vspace{12pt}
-
-<%if notes%>
-  <%notes%>
-<%end if%>
-
-}
-
-\vfill
-
-\end{document}
-
diff --git a/templates/print/Default/statement.html b/templates/print/Default/statement.html
deleted file mode 100644 (file)
index 441e6e0..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-
-<body bgcolor=ffffff>
-
-<table width=100%>
-  <tr>
-    <td width=10>&nbsp;</td>
-    <td>
-      <table width=100%>
-       <tr>
-         <td>
-           <h4>
-           <%company%>
-           <br><%address%>
-           </h4>
-         </td>
-         <th><img src=http://www.sql-ledger.org/images/sql-ledger.png border=0 width=64 height=58></th>
-         <td align=right>
-         <h4>
-         Tel: <%tel%>
-         <br>Fax: <%fax%>
-         </h4>
-         </td>
-       </tr>
-       <tr>
-         <th colspan=3><h4>S T A T E M E N T</h4></th>
-       </tr>
-       <tr>
-         <td colspan=3 align=right><%statementdate%></td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td>
-      <table width=100%>
-       <tr valign=top>
-         <td><%name%>
-         <br><%street%>
-         <br><%zipcode%>
-         <br><%city%>
-         <br><%country%>
-         <br>
-<%if customerphone%>
-         <br>Tel: <%customerphone%>
-<%end customerphone%>
-<%if customerfax%>
-         <br>Fax: <%customerfax%>
-<%end customerfax%>
-<%if email%>
-         <br><%email%>
-<%end email%>
-         </td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-  <tr height=10></tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td>
-      <table width=100%>
-        <tr>
-         <th align=left>Invoice #</th>
-         <th width=15%>Date</th>
-         <th width=15%>Due</th>
-         <th width=10%>Current</th>
-         <th width=10%>30</th>
-         <th width=10%>60</th>
-         <th width=10%>90+</th>
-       </tr>
-<%foreach invnumber%>
-       <tr>
-         <td><%invnumber%></td>
-         <td><%invdate%></td>
-         <td><%duedate%></td>
-         <td align=right><%c0%></td>
-         <td align=right><%c30%></td>
-         <td align=right><%c60%></td>
-         <td align=right><%c90%></td>
-       </tr>
-<%end invnumber%>
-        <tr>
-         <td colspan=7><hr size=1></td>
-       </tr>
-       <tr>
-         <td>&nbsp;</td>
-         <td>&nbsp;</td>
-         <td>&nbsp;</td>
-         <th align=right><%c0total%></td>
-         <th align=right><%c30total%></td>
-         <th align=right><%c60total%></td>
-         <th align=right><%c90total%></td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-  <tr height=10></tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td align=right>
-      <table width=50%>
-        <tr>
-         <th>Total Outstanding</th>
-          <th align=right><%total%></th>
-       </tr>
-      </table>
-    </td>
-  </tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td><hr noshade></td>
-  </tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td>Please make check payable to <b><%company%></b>.
-    </td>
-  </tr>
-  <tr height=20></tr>
-</table>
-
diff --git a/templates/print/Default/statement.tex b/templates/print/Default/statement.tex
deleted file mode 100644 (file)
index 9f611b8..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage[frame]{xy}
-\usepackage{tabularx}
-\usepackage[utf8]{inputenc}
-\setlength{\voffset}{0.5cm}
-\setlength{\hoffset}{-2.0cm}
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0.5cm}
-\setlength{\headsep}{1cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{1.0cm}
-\setlength{\evensidemargin}{1.0cm}
-\setlength{\textwidth}{19.2cm}
-\setlength{\textheight}{24.5cm}
-\setlength{\footskip}{1cm}
-\setlength{\parindent}{0pt}
-\renewcommand{\baselinestretch}{1}
-\begin{document}
-
-\newlength{\descrwidth}\setlength{\descrwidth}{10cm}
-
-\newsavebox{\hdr}
-\sbox{\hdr}{
-  \fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-  \parbox{\textwidth}{
-    \parbox[b]{12cm}{
-      <%company%>
-
-      <%address%>}\hfill
-    \begin{tabular}[b]{rrr@{}}
-    Tel & <%tel%>\\
-    Fax & <%fax%>
-    \end{tabular}
-
-    \rule[1.5ex]{\textwidth}{0.5pt}
-  }
-}
-
-\fontfamily{cmss}\fontshape{n}\selectfont
-
-\markboth{<%company%>\hfill <%statementdate%>}{\usebox{\hdr}}
-
-\pagestyle{myheadings}
-%\thispagestyle{empty}     use this with letterhead paper
-
-\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-\vspace*{1.5cm}
-
-\parbox[t]{1cm}{\hfill}
-\parbox[t]{10.5cm}{
-  
-<%name%>
-
-<%street%>
-
-<%zipcode%>
-
-<%city%>
-
-<%country%>
-
-}
-\parbox[t]{7.5cm}{
-<%if customerphone%>
-Tel: <%customerphone%>
-<%end customerphone%>
-
-<%if customerfax%>
-Fax: <%customerfax%>
-<%end customerfax%>
-
-<%email%>
-}
-\hfill
-
-\vspace{1cm}
-
-\textbf{S T A T E M E N T} \hfill \textbf{<%statementdate%>}
-
-\vspace{2cm}
-
-\begin{tabular*}{\textwidth}{@{}l@{\extracolsep\fill}ccrrrr@{}}
-  \textbf{Invoice \#} & \textbf{Date} & \textbf{Due} &
-  \textbf{Current} & \textbf{30} & \textbf{60} & \textbf{90+} \\
-<%foreach invnumber%>
-  <%invnumber%> & <%invdate%> & <%duedate%> &
-  <%c0%> & <%c30%> & <%c60%> & <%c90%> \\
-<%end invnumber%>
-\textbf{Subtotal} & & & <%c0total%> & <%c30total%> & <%c60total%> & <%c90total%>
-\end{tabular*}
-\rule{\textwidth}{1pt}
-
-\vspace{0.5cm}
-
-\hfill
-\begin{tabularx}{7cm}{Xr@{}}
-  \textbf{Total outstanding} & <%total%>
-\end{tabularx}
-
-\vfill
-
-Please make check payable to <%company%>
-
-\end{document}
-
diff --git a/templates/print/Default/taxbird.txb b/templates/print/Default/taxbird.txb
deleted file mode 100644 (file)
index c1a8a39..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-;; This file was produced by lx-office
-;; for using in taxbird. 
-;; You probably don't want to touch this 
-;; file. In case you do want it anyway, 
-;; be warned: BE CAREFUL!!
-;;
-'("Umsatzsteuervoranmeldung <%year%>" (
-("vend-id" . "74931")
-("land-lieferant" . "<%elsterland%>")
-("name-lieferant" . "<%company%>")
-("berufsbez" . "")
-("strasse-lieferant" . "<%co_street%>")
-("plz-lieferant" . "<%co_zip%> ")
-("ort-lieferant" . "<%co_city%>")
-("vorwahl" . "<%co_phone_prefix%>")
-("anschluss" . "<%co_phone%>")
-("land" . "<%taxbird_land_nr%>")
-("zeitraum" . "<%taxbird_period%>")
-("stnr" . "<%taxbird_steuernummer%>")
-
-<%foreach id%>
-("<%id%>" . "<%amount%>")<%end%>
-))
\ No newline at end of file
diff --git a/templates/print/Default/ustva-2012.tex b/templates/print/Default/ustva-2012.tex
deleted file mode 100644 (file)
index 3a35db9..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-% German USTVA template for taxreports
-% Contributed by Marcus Habermehl
-% Based on template by Jacky und Stefan Tenne (German-ustva-2008.tex)
-%
-%
-\documentclass[twoside]{scrartcl}
-\usepackage{a4,german}
-\usepackage[frame]{xy}
-\usepackage[utf8]{inputenc}
-\usepackage[german]{babel}
-\usepackage{graphicx}
-\usepackage{tabularx}
-\usepackage{times, german}
-\usepackage{german}
-\setlength{\voffset}{-0.7cm} %hier wird die Höhenverschiebung
-\setlength{\hoffset}{-1cm}  %und hier die Verschiebung seitwärts
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0cm}
-\setlength{\headsep}{0cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{0cm}
-\setlength{\evensidemargin}{0cm}
-\setlength{\textwidth}{20.9cm}
-\setlength{\textheight}{29.6cm}
-\setlength{\footskip}{-0cm}
-\setlength{\parindent}{1mm}
-
-\begin{document}
-
-\fontfamily{cmss}\fontshape{n}\large\selectfont
-\pagestyle{myheadings}
-\markboth{\protect\scalebox{1.045}[1.045]{\protect\includegraphics[viewport = 54 783 700 790,page=2]{ustva-2012.pdf}}}%Seite 2
-{\protect\scalebox{1.045}[1.045]{\protect\includegraphics[viewport = 70 700 700 790,page=1]{ustva-2012.pdf}}}%Seite 1
-\hspace{1mm}
-\begin{tabular}[b]{p{7mm}p{5cm}p{22.5mm}p{24mm}p{7mm}p{28mm}p{3mm}}
-\multicolumn{7}{c}{}\\[-2mm]
- &  \multicolumn{6}{l}{<%steuernummer%>}\\
-\multicolumn{7}{c}{}\\[15mm]
-\multicolumn{2}{p{7.5cm}}{<%FA_Name%>} & & & & &\\[-4mm]
-\multicolumn{2}{p{7.5cm}}{}  & & & & &\\[3mm]
-\multicolumn{2}{p{7.5cm}}{<%FA_Strasse%>} & &<%0401%>&<%0407%>&&<%0441%>\\[1.2mm]
-\multicolumn{2}{p{7.5cm}}{} & &<%0402%>&<%0408%>&&<%0442%>\\[1.25mm]
-\multicolumn{2}{p{7.5cm}}{<%FA_PLZ%> <%FA_Ort%>} & &<%0403%>&<%0409%>&&<%0443%>\\[3mm]
-\multicolumn{2}{p{7.5cm}}{} & &<%0404%>&<%0410%>&&<%0444%>\\[1.25mm]
-\multicolumn{2}{p{7.5cm}}{} & &<%0405%>&<%0411%>&&\\[1.25mm]
-\multicolumn{2}{p{7.5cm}}{\small{<%company%>}} & &<%0406%>&<%0412%>&&\\[-1mm]
-\multicolumn{2}{p{7.5cm}}{\small{<%co_street%>}}& & & & &\\[-1mm]
-\multicolumn{2}{p{7.5cm}}{\small{<%co_city%>}}& & & &<%FA_10%> &\\[1mm]
-\multicolumn{2}{p{7.5cm}}{
-<%if tel%>
-\small{Tel: <%tel%>}~--~
-<%else%>
-\small{~}
-<%end tel%>
-<%if fax%>
-\small{Fax: <%fax%>}
-<%else%>
-\small{~}
-<%end fax%>
-}& & & & &\\[1.8mm]
-\multicolumn{2}{p{7.5cm}}{\small{<%email%>}}&~& & & &\\[-1mm]
-\end{tabular}\\[2.5mm]
-\begin{tabular}[b]{p{99mm}p{26.5mm}p{4.55mm}p{4mm}p{35mm}}
-&&&&\\[9.5mm]
-\multicolumn{2}{r}{<%41%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%44%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%49%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%43%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%48%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%81%>} & & \multicolumn{2}{r}{<%811%>}\\[1.8mm]
-\multicolumn{2}{r}{<%86%>} & & \multicolumn{2}{r}{<%861%>}\\[1.8mm]
-\multicolumn{2}{r}{<%35%>} & & \multicolumn{2}{r}{<%36%>}\\[1.8mm]
-\multicolumn{2}{r}{<%77%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%76%>} & & \multicolumn{2}{r}{<%80%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%91%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%89%>} & & \multicolumn{2}{r}{<%891%>}\\[1.8mm]
-\multicolumn{2}{r}{<%93%>} & & \multicolumn{2}{r}{<%931%>}\\[1.8mm]
-\multicolumn{2}{r}{<%95%>} & & \multicolumn{2}{r}{<%98%>}\\[1.8mm]
-\multicolumn{2}{r}{<%94%>} & & \multicolumn{2}{r}{<%96%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%42%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%60%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%21%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%45%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z43%>}\\
-\end{tabular}
-\newpage
-
-\vspace*{-9.5mm}\hspace{27mm}<%steuernummer%>\\[-2.7mm]
-\begin{tabular}[b]{p{99mm}p{25.2mm}p{2.55mm}p{10mm}p{32mm}}
-&&&&\\
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z45%>}\\[13.5mm]
-\multicolumn{2}{r}{<%46%>} & & \multicolumn{2}{r}{<%47%>}\\[1.8mm]
-\multicolumn{2}{r}{<%52%>} & & \multicolumn{2}{r}{<%53%>}\\[1.8mm]
-\multicolumn{2}{r}{<%73%>} & & \multicolumn{2}{r}{<%74%>}\\[1.8mm]
-\multicolumn{2}{r}{<%84%>} & & \multicolumn{2}{r}{<%85%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%65%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z53%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%66%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%61%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%62%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%67%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%63%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%64%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%59%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z62%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%69%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%39%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{\textbf{<%83%>}}\\[25.6mm]
-\end{tabular}\\[35mm]
-<%if FA_steuerberater%>
-\vspace{11mm}
-\begin{list}{}{
-\setlength{\leftmargin}{2mm}
-\setlength{\itemsep}{0mm}
-\setlength{\parsep}{0mm}
-%\setlength{\topsep}{0mm}
-%\setlength{\parskip}{0mm}
-%\setlength{\partopsep}{0mm}
-}
-\begin{small}
-\item <%FA_steuerberater_name%>
-\item <%FA_steuerberater_street%>
-\item <%FA_steuerberater_city%>
-\item Tel:~<%FA_steuerberater_tel%>
-\end{small}\\[15mm]
-\item  <%Datum_heute%>,
-\end{list}
-<%end FA_steuerberater%>
-<%if not FA_steuerberater%>
-\begin{list}{}{
-\setlength{\leftmargin}{2mm}
-\setlength{\itemsep}{0mm}
-\setlength{\parsep}{0mm}
-%\setlength{\topsep}{0mm}
-%\setlength{\parskip}{0mm}
-%\setlength{\partopsep}{0mm}
-}
-\begin{small}
-\item ~
-\item ~
-\item ~
-\item ~
-\end{small}\\[26mm]
-\item  <%Datum_heute%>,
-\end{list}
-<%end FA_steuerberater%>
-\end{document}
diff --git a/templates/print/Default/ustva.html b/templates/print/Default/ustva.html
deleted file mode 100644 (file)
index 1f5da1a..0000000
+++ /dev/null
@@ -1,436 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-  <meta content="text/html; charset=utf-8" http-equiv="content-type">
-  <title>Vorschau: UStVa</title>
-<!--
-Optik an Formulare angepasst: Hartmut Goebel <h.goebel@goebel-consult.de>
-Variablen hinzugefügt: Udo Spallek <udono@gmx.net>
-Text-Erklärung und unterschiedliche Zeilenfärbung ergänzt: Kai-Martin Knaak <kmk@familieknaak.de>
--->
-  <style>
-table {
-       text-align: right;
-       border:0;
-       border-collapse:collapse;
-}
-td {
-       font-size:100%;
-       vertical-align:top;
-}
-td.text {
-       text-align: left;
-       background-color:#BDBEBD;
-}
-td.text2 {
-       text-align: left;
-       background-color:#ADBEBD;
-}
-td.spalte,
-td.zeile,
-td.betrag {
-       border:solid thin black;
-}
-td.spalte { font-weight:bold; font-size:120%; }
-td.zeile  { font-weight:bold; }
-td.betrag { width:10em; }
-td.summe  { border:solid medium black; }
-td.spacer { border:0 }
-
-tr.uebertrag td { border-top:solid medium black; }
-b.h3 { font-size:120%; }
-.ausfuellen { background-color:#FFFFC0; }
-.nodis { display:none; }
-  </style>
-</head>
-<body>
-<h1>Vorschau Umsatzsteuer-Voranmeldung</h1>
-<h2>Zeitraum vom <%fromdate%> bis <%todate%> </h2>
-
-<!-- Diese HTML-Formular ist nicht selbstrechnend.
-<p><small>Wenn ein (selbstrechnendes) Formular verwendet wird, genügt es, die
-gelb hinterlegten Felder auszufüllen. Die anderen Felder werden dann
-automatisch berechnet.</small></p>
--->
-
-<table width="100%">
-<tr align="left">
-  <td class="text">Steuernummer: <%steuernummer%></td>
-  <td class="text" width="100px">&nbsp</td>
-  <td class="text" align="right">Datum (<%Datum_heute%>)</td>
-</tr>
-<tr>
-  <td class="text" colspan="3"><br /></td>
-</tr>
-<tr align="left">
-  <td class="text">
-    Finanzamt <%FA_Name%><br />
-    <%FA_Strasse%><br />
-    <%FA_PLZ%> <%FA_Ort%><br />
-    Fax: <%FA_FAX%>
-  </td>
-  <td class="text">&nbsp;</td>
-  <td class="text">
-    Firma <%company%><br />
-    <%if company_street%>
-      <%company_street%><br />
-      <%company_city%><br />
-    <%end company_street%>
-    <%if not company_street%>
-    <%address%><!--used Address-->
-    <%end company_street%>
-  </td>
-</tr>
-<tr>
-  <td class="text" colspan="3"><br />
-  </td>
-</tr>
-</table>
-<table border="0" cellspacing="2" cellpadding="2">
-  <tbody>
-    <tr>
-      <td class="text"><b class="h3">I. Anmeldung der
-Umsatzsteuer-Vorauszahlung </b></td>
-      <td colspan="4"></td>
-    </tr>
-    <tr>
-      <td class="text"><b class="h4">Lieferungen und sonstige Leistungen</b></td>
-      <td colspan="4"></td>
-    </tr>
-        <tr>
-      <td class="text2">an innergemeinschaftliche Abnehmer <b>mit</b> USt-IdNr</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>41<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen" width="70"><%41%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-    <tr>
-      <td class="text">neuer Fahrzeuge an Abnehmer <b>ohne</b> USt-IdNr</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>44<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen" width="70"><%44%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-    <tr>
-      <td class="text2">neuer Fahrzeuge au&szlig;erhalb eines Unternehmens</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>49<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen" width="70"><%49%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-    <tr>
-      <td class="text">Weitere steuerfreie Ums&auml;tze mit Vorsteuerabzug</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>43<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen" width="70"><%43%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-    <tr>
-      <td class="text2">Steuerfreie Ums&auml;tze ohne
-Vorsteuerabzug. </b><br />Ums&auml;tze nach &sect; 4 Nr. 8 bis 20 UStG</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>48<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen" width="70"><%48%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-
-    <tr>
-      <td class="text"><b class="h4">Steuerpflichtige Ums&auml;tze</b></td>
-      <td colspan="4"></td>
-    </tr>
-<%if not year2007%>
-    <tr>
-      <td class="text2">zum Steuersatz von 16 v.H.</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>51<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen" width="70"><%51%><br></td>
-      <td class="spalte"><span class="nodis">(Spalte 51 rechts)</span></td>
-      <td class="betrag"><%511%></td>
-    </tr>
-<%end year2007%>
-<%if year2007%>
-    <tr>
-      <td class="text2">zum Steuersatz von 19 v.H.</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>81<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen" width="70"><%81%><br></td>
-      <td class="spalte"><span class="nodis">(Spalte 81 rechts)</span></td>
-      <td class="betrag"><%811%></td>
-    </tr>
-<%end year2007%>
-
-    <tr>
-      <td class="text">zum Steuersatz von 7 v.H.</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>86<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen"><%86%></td>
-      <td class="spalte"><span class="nodis">(Spalte 86 rechts)</span></td>
-      <td class="betrag"><%861%></td>
-    </tr>
-    <tr>
-      <td class="text2">andere Steuers&auml;tze</td>
-      <td class="spalte ausfuellen"><span class="nodis"></span>35 <span class="nodis"></span></td>
-      <td class="betrag ausfuellen"><%35%></td>
-      <td class="spalte">36</td>
-      <td class="betrag ausfuellen"><%36%></td>
-    </tr>
-    <tr><td class="text" colspan="3">&nbsp;</td><td colspan="4"></td></tr>
-   <tr>
-      <td class="text">Lieferungen in das &uuml;brige Gemeinschaftsgebiet <b>mit</b> USt-IdNr</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>77<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen" width="70"><%77%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-    <tr>
-      <td class="text2">Ums&auml;tze, nach &sect;24 UStG (S&auml;gewerkserzeugnisse, alkoholische Getr&auml;nke etc.)</td>
-      <td class="spalte ausfuellen"><span class="nodis"></span>76 <span class="nodis"></span></td>
-      <td class="betrag ausfuellen"><%76%></td>
-      <td class="spalte">80</td>
-      <td class="betrag ausfuellen"><%80%></td>
-    </tr>
-    <tr><td class="text">&nbsp;</td><td class="spacer" colspan="4"></td></tr>
-    <tr>
-      <td class="text"><b class="h3">Innergemeinschaftliche Erwerbe</b></td>
-      <td colspan="4"></td>
-    </tr>
-   <tr>
-      <td class="text2">Steuerfrei nach &sect;4b UStG</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>91<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen" width="70"><%91%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-<%if not year2007%>
-    <tr>
-      <td class="text">Steuerpflichtige zum Steuersatz von 16 v.H.</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>97<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen"><%97%><br></td>
-      <td class="spalte"><span class="nodis">(Spalte 97 rechts)</span></td>
-      <td class="betrag"><%971%></td>
-    </tr>
-<%end if year2007%>
-<%if year2007%>
-    <tr>
-      <td class="text">Steuerpflichtige zum Steuersatz von 19 v.H.</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>89<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen"><%89%><br></td>
-      <td class="spalte"><span class="nodis">(Spalte 89 rechts)</span></td>
-      <td class="betrag"><%891%></td>
-    </tr>
-<%end if year2007%>
-    <tr>
-      <td class="text2">zum Steuersatz von 7 v.H.</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>93<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen"><%93%></td>
-      <td class="spalte"><span class="nodis">(Spalte 93 rechts)</span></td>
-      <td class="betrag"><%931%></td>
-    </tr>
-    <tr>
-      <td class="text">zu anderen Steuers&auml;tzen</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>95<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen"><%95%></td>
-      <td class="spalte">98</td>
-      <td class="betrag"><%98%></td>
-    </tr>
-    <tr>
-      <td class="text2"><b class="h4">neuer Fahrzeuge von Lieferern</b>
-             von Lieferanten <b>ohne</b> USt.IdNr. <br class="nodis" />
-            zum allgemeinen Steuersatz</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>94<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen"><%94%></td>
-      <td class="spalte"><span class="nodis">(Spalte </span>96<span class="nodis">)</span></td>
-      <td class="betrag"><%96%></td>
-    </tr>
-        <tr><td class="text">&nbsp;</td><td colspan="4"></td></tr>
-   <tr>
-      <td class="text">Lieferungen des ersten Abnehmers bei
-        innergemeinschaftlichen Dreiecksgeschften (&sect;25b Abs. 2 UStG)</td>
-      <td class="spalte ausfuellen">42</td>
-      <td class="betrag ausfuellen" width="70"><%42%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-   <tr>
-      <td class="text2">Steuerpflichtige Umstze im Sinne, f&uuml;r die der
-        <b>Leistungsempf&auml;nger die Steuer schuldet</b></td>
-      <td class="spalte ausfuellen">60</td>
-      <td class="betrag ausfuellen" width="70"><%60%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-<%if year2010%>
-   <tr>
-      <td class="text2"><b>Nicht steuerbare Leistungen</b> gem. &sect; 18b Satz 1 Nr. 2 UStG</td>
-      <td class="spalte ausfuellen">21</td>
-      <td class="betrag ausfuellen" width="70"><%21%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-<%end if year2010%>
-   <tr>
-      <td class="text">Im Inland nicht steuerbare Ums&auml;tze</td>
-      <td class="spalte ausfuellen">45</td>
-      <td class="betrag ausfuellen" width="70"><%45%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-
-    <tr><td class="text">&nbsp;</td><td class="spacer" colspan="2"></td><td colspan="2"></td></tr>
-
-    <tr>
-      <td class="text" colspan="3"><b class="h3">&Uuml;bertrag</td>
-      <td class="zeile"><span class="nodis">(</span>Zeile 43<span class="nodis">)</span></td>
-      <td class="betrag"><%Z43%></td>
-    </tr>
-
-    <tr class="uebertrag">
-      <td class="text" colspan="3"><b class="h3">&Uuml;bertrag</td>
-      <td class="zeile"><span class="nodis">(</span>Zeile 45<span class="nodis">)</span></td>
-      <td class="betrag"><%Z45%></td>
-    </tr>
-
-<%if year2010%>
-    <tr>
-      <td class="text2">Im Inland steuerpflichtige sonstige Leistungen von im &uuml;brigen Gemeinschaftsgebiet ans&auml;ssigen Unternehmen (&sect;13b Abs. 1 UStG)</td>
-      <td class="spalte ausfuellen">46</td>
-      <td class="betrag ausfuellen"><%46%></td>
-      <td class="spalte">47</td>
-      <td class="betrag"><%47%></td>
-    </tr>
-<%end if year2010%>
-    <tr>
-      <td class="text2">Leistungen eines im Ausland ans&auml;ssigen Unternehmers</td>
-      <td class="spalte ausfuellen">52</td>
-      <td class="betrag ausfuellen"><%52%></td>
-      <td class="spalte">53</td>
-      <td class="betrag"><%53%></td>
-    </tr>
-    <tr>
-      <td class="text">Lieferungen sicherungsbereigneter Gegenst&auml;nde und
-           Ums&auml;tze, die unter das GrEStG fallen.</td>
-      <td class="spalte ausfuellen">73</td>
-      <td class="betrag ausfuellen"><%73%></td>
-      <td class="spalte">74</td>
-      <td class="betrag"><%74%></td>
-    </tr>
-    <tr>
-      <td class="text2">Bauleistungen eines im Inland ans&auml;ssigen Unternehmers</td>
-      <td class="spalte ausfuellen">84</td>
-      <td class="betrag ausfuellen"><%84%></td>
-      <td class="spalte">85</td>
-      <td class="betrag"><%85%></td>
-    </tr>
-    <tr>
-      <td class="text" colspan="3">Steuer wegen Wechsel der Besteuerungsform und
-         Nachsteuer auf versteuerte Anzahlungen wegen Steuersatzerh&ouml;hung.</td>
-      <td class="spalte ausfuellen">65</td>
-      <td class="betrag ausfuellen"><%65%></td>
-    </tr>
-
-
-
-    <tr><td class="text" colspan="3">&nbsp;</td><td class="spacer" colspan="4"></td></tr>
-
-    <tr>
-      <td class="text2" colspan="3"><b class="h3">Umsatzsteuer</td>
-      <td class="zeile"><span class="nodis">(</span>Zeile 53<span class="nodis">)</span></td>
-      <td class="betrag"><%Z53%></td>
-    </tr>
-
-    <tr><td class="text" colspan="3">&nbsp;</td><td class="spacer" colspan="4"></td></tr>
-
-    <tr>
-      <td class="text" colspan="3"><b class="h3">Abziehbare Vorsteuerbetr&auml;ge</b></td>
-      <td colspan="2"></td></tr>
-    </tr>
-
-    <tr>
-      <td class="text2" colspan="3">Vorsteuerbetr&auml;ge von Rechnungen von anderen Unternehmern</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>66<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen"><%66%></td>
-    </tr>
-    <tr>
-      <td class="text" colspan="3">Vorsteuerbetr&auml;ge aus dem innergemeinschaftlichen Erwerb</td>
-      <td class="spalte ausfuellen">61</td>
-      <td class="betrag ausfuellen"><%61%></td>
-    </tr>
-    <tr>
-      <td class="text2" colspan="3">Entrichtete Einfuhrumsatzsteuer</td>
-      <td class="spalte ausfuellen">62</td>
-      <td class="betrag ausfuellen"><%62%></td>
-    </tr>
-    <tr>
-      <td class="text" colspan="3">Vorsteuerbetr&auml;ge aus Leistungen im Sinne
-          des &sect;13b Abs. 1 UStG</td>
-      <td class="spalte ausfuellen">67</td>
-      <td class="betrag ausfuellen"><%67%></td>
-    </tr>
-    <tr>
-      <td class="text2" colspan="3">Vorsteuerbetr&auml;ge, die nach allgemeinen
-           Durchschnitts&auml;stzen berechnet sind </td>
-      <td class="spalte ausfuellen">63</td>
-      <td class="betrag ausfuellen"><%63%></td>
-    </tr>
-    <tr>
-      <td class="text" colspan="3">Berichtigung des Vorsteuerabzugs</td>
-      <td class="spalte ausfuellen">64</td>
-      <td class="betrag ausfuellen"><%64%></td>
-    </tr>
-    <tr>
-      <td class="text2" colspan="3">Vorsteuerabzug f&uuml;r innergemeinschaftliche Lieferungen
-        neuer Fahrzeuge au&szlig;erhalb eines Unternehmens sowie von Kleinunternehmern</td>
-      <td class="spalte ausfuellen">59</td>
-      <td class="betrag ausfuellen"><%59%></td>
-    </tr>
-    <tr>
-      <td class="text" colspan="3">Verbleibender Betrag</td>
-      <td class="zeile"><span class="nodis">(</span>Zeile 62<span class="nodis">)</span></td>
-      <td class="betrag"><%Z62%></td>
-    </tr>
-
-    <tr>
-      <td class="text2" colspan="3"><b class="h3">Andere Steuerbetr&auml;ge</b></td>
-      <td colspan="2"></td></tr>
-    </tr>
-    <tr>
-      <td class="text" colspan="3">in Rechnungen unrichtig oder unberechtigt ausgewiesene
-        Steuerbetr&auml;ge sowie Steuerbetr&auml;ge, die nach
-        &sect;4 Nr. 4a, &sect; 6a Abs. 4, &sect;7 oder &sect;25b UStG geschuldet werden</td>
-      <td class="spalte ausfuellen">69</td>
-      <td class="betrag ausfuellen"><%69%></td>
-    </tr>
-
-    <tr><td class="text" colspan="3">&nbsp;</td><td colspan="4"></td></tr>
-
-    <tr>
-      <td class="text2" colspan="3"><b class="h3">Umsatzsteuer-Vorauszahlung/&Uuml;berschuss</b></td>
-      <td class="zeile"><span class="nodis">(</span>Zeile 65<span class="nodis">)</span></td>
-      <td class="betrag"><%Z65%></td>
-    </tr>
-    <tr>
-      <td class="text" colspan="3">Anrechnung (Abzug) der festgesetzten Sondervorauszahlung
-        f&uuml;r Dauerfristverl&auml;ngerung (nur in der letzten Voranmeldung des
-        Besteuerungszeitraums, ausf&uuml;llen)</td>
-      <td class="spalte ausfuellen">39</td>
-      <td class="betrag ausfuellen"><%39%></td>
-    </tr>
-
-    <tr><td class="text" colspan="3">&nbsp;</td><td colspan="4"></td></tr>
-
-    <tr class="noborder">
-      <td class="text2" colspan="3"><b class="h3">Verbleibende Umsatzsteuer-Vorauszahlung bzw.
-                                      Verbleibender &Uuml;berschuss</b></td>
-      <td class="spalte ausfuellen">83</td>
-      <td class="summe"><%83%></td>
-    </tr>
-
-  </tbody>
-</table>
-<%if FA_steuerberater%>
-<p>
-Steuerberater:<br />
-<%FA_steuerberater_name%><br />
-<%FA_steuerberater_street%><br />
-<%FA_steuerberater_city%><br />
-Tel:&nbsp;<%FA_steuerberater_tel%></p>
-<%end FA_steuerberater%>
-</body>
-</html>
diff --git a/templates/print/Default/ustva.tex b/templates/print/Default/ustva.tex
deleted file mode 100644 (file)
index da26f47..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-% German USTVA template for taxreports
-%
-% Contributed by Jens Koerner, Peter Schorer, Udo Spallek
-%
-%
-\documentclass[twoside]{scrartcl}
-\usepackage{a4,german}
-\usepackage[frame]{xy}
-\usepackage[utf8]{inputenc}
-\usepackage[german]{babel}
-\usepackage{graphicx}
-\usepackage{tabularx}
-\usepackage{times, german}
-\usepackage{german}
-\setlength{\voffset}{-0.8cm} %hier wird die Höhenverschiebung getÀtigt
-\setlength{\hoffset}{-1cm}  %und hier die Verschiebung seitwÀrts
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0cm}
-\setlength{\headsep}{0cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{0cm}
-\setlength{\evensidemargin}{0cm}
-\setlength{\textwidth}{20.9cm}
-\setlength{\textheight}{29.6cm}
-\setlength{\footskip}{-0cm}
-\setlength{\parindent}{0pt}
-
-\begin{document}
-
-\fontfamily{cmss}\fontshape{n}\large\selectfont
-\pagestyle{myheadings}
-\markboth{\hspace{7mm}\protect\includegraphics[viewport = 60 700 700 790]{ustva2.pdf}}
-{\protect\includegraphics[viewport = 60 700 700 790]{ustva1.pdf}}
-\hspace{1mm}
-\begin{tabular}[b]{p{7mm}p{5cm}p{22.5mm}p{24mm}p{5mm}p{27mm}p{3mm}}
-\multicolumn{7}{c}{}\\[-2mm]
- &  \multicolumn{6}{l}{<%steuernummer%>}\\
-\multicolumn{7}{c}{}\\[15mm]
-\multicolumn{2}{p{7.5cm}}{<%FA_Name%>} & & & & &\\[-4mm]
-\multicolumn{2}{p{7.5cm}}{}  & & & & &\\[1mm]
-\multicolumn{2}{p{7.5cm}}{<%FA_Strasse%>} & &<%0401%>&<%0407%>&&<%0441%>\\[1.2mm]
-\multicolumn{2}{p{7.5cm}}{} & &<%0402%>&<%0408%>&&<%0442%>\\[1.25mm]
-\multicolumn{2}{p{7.5cm}}{<%FA_PLZ%> <%FA_Ort%>} & &<%0403%>&<%0409%>&&<%0443%>\\[1.25mm]
-\multicolumn{2}{p{7.5cm}}{} & &<%0404%>&<%0410%>&&<%0444%>\\[1.25mm]
-\multicolumn{2}{p{7.5cm}}{} & &<%0405%>&<%0411%>&&\\[1.25mm]
-\multicolumn{2}{p{7.5cm}}{\small{<%company%>}} & &<%0406%>&<%0412%>&&\\[-1mm]
-\multicolumn{2}{p{7.5cm}}{\small{<%company_street%>}}& & & & &\\[-1mm]
-\multicolumn{2}{p{7.5cm}}{\small{<%company_city%>}}& & & & &\\[1mm]
-\multicolumn{2}{p{7.5cm}}{
-<%if tel%>
-\small{Tel: <%tel%>}~--~
-<%end tel%>
-<%if fax%>
-\small{Fax: <%fax%>}
-<%end fax%>
-}& & & &<%FA_10%> &\\[-1mm]
-\multicolumn{2}{p{7.5cm}}{\small{<%email%>}}& & & & &\\[-1mm]
-\end{tabular}\\[28.5mm]
-\begin{tabular}[b]{p{95mm}p{28mm}p{2.55mm}p{4mm}p{35mm}}
-&&&&\\[42mm]
-\multicolumn{2}{r}{<%51%>} & & \multicolumn{2}{r}{<%51r%>}\\[1.5mm]
-\multicolumn{2}{r}{<%86%>} & & \multicolumn{2}{r}{<%86r%>}\\[46mm]
-\multicolumn{2}{r}{<%97%>} & & \multicolumn{2}{r}{<%97r%>}\\[1.5mm]
-\multicolumn{2}{r}{<%93%>} & & \multicolumn{2}{r}{<%93r%>}\\[7.9mm]
-\multicolumn{2}{r}{<%94%>} & & \multicolumn{2}{r}{<%96%>}\\[14mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%43%>}\\
-%\multicolumn{2}{||r|}{1000} & & & \\
-%\multicolumn{2}{||r|}{1000} & & \multicolumn{2}{r}{100.000.000~~00}\\
-%\multicolumn{3}{||r|}{1.000.000.000~~00} & \multicolumn{2}{r}{100.000.000~~00}\\
-\end{tabular}
-
-\newpage
-
-\vspace*{-10mm}\hspace{27mm}<%steuernummer%>\\[-2.5mm]
-\begin{tabular}[b]{p{95mm}p{28mm}p{2.55mm}p{4mm}p{35mm}}
-&&&&\\
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%45%>}\\[46mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%43%>}\\[7.9mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%66%>}\\[7.9mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%62%>}\\[58.5mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{\textbf{<%67%>}}\\[26mm]
-\end{tabular}\\[35mm]
-<%if FA_steuerberater%>
-\vspace{11mm}
-\begin{list}{}{
-\setlength{\leftmargin}{2mm}
-\setlength{\itemsep}{0mm}
-\setlength{\parsep}{0mm}
-%\setlength{\topsep}{0mm}
-%\setlength{\parskip}{0mm}
-%\setlength{\partopsep}{0mm}
-}
-\begin{small}
-\item <%FA_steuerberater_name%>
-\item <%FA_steuerberater_street%>
-\item <%FA_steuerberater_city%>
-\item Tel:~<%FA_steuerberater_tel%>
-\end{small}\\[15mm]
-\item  <%Datum_heute%>,
-\end{list}
-<%end FA_steuerberater%>
-<%if not FA_steuerberater%>
-\begin{list}{}{
-\setlength{\leftmargin}{2mm}
-\setlength{\itemsep}{0mm}
-\setlength{\parsep}{0mm}
-%\setlength{\topsep}{0mm}
-%\setlength{\parskip}{0mm}
-%\setlength{\partopsep}{0mm}
-}
-\begin{small}
-\item ~
-\item ~
-\item ~
-\item ~
-\end{small}\\[26mm]
-\item  <%Datum_heute%>,
-\end{list}
-<%end FA_steuerberater%>
-\end{document}
diff --git a/templates/print/Default/winston.xml b/templates/print/Default/winston.xml
deleted file mode 100644 (file)
index 2bb63da..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!-- Diese Datei ist mit Lx-Office <%version%> generiert -->
-<WinstonAusgang>
-  <Formular Typ="UST"></Formular>
-  <Ordnungsnummer><%elsterFFFF%><%elstersteuernummer%></Ordnungsnummer>
-  <AnmeldeJahr><%year%></AnmeldeJahr>
-  <AnmeldeZeitraum><%period%></AnmeldeZeitraum>
-
-<%foreach id%>
-  <Kennzahl nr="<%id%>"><%amount%></Kennzahl>
-<%end%>
-
-</WinstonAusgang>
-
diff --git a/templates/print/German/balance_sheet.html b/templates/print/German/balance_sheet.html
deleted file mode 100644 (file)
index 985b6ef..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-
-<body bgcolor="#ffffff">
-
-<h2 align="center">
-<%company%>
-<br><%address%>
-
-<p>BILANZ
-<br><%period%>
-</h2>
-
-<table border="0">
-<tr>
-  <th align="left" width="400" colspan="2">AKTIVA<br><hr align="left" width="250" size="5" noshade></th>
-  <th><%this_period%></th>
-  <th><%last_period%></th>
-</tr>
-
-<%foreach asset_account%>
-<tr>
-  <td> </td>
-  <td><%asset_account%></td>
-  <td align="right"><%asset_this_period%></td>
-  <td align="right"><%asset_last_period%></td>
-</tr>
-<%end asset_account%>
-
-<tr>
-  <td colspan="2"> </td>
-  <td><hr noshade size="1"></td>
-  <td><hr noshade size="1"></td>
-</tr>
-
-<tr valign="top">
-  <th align="left" colspan="2">TOTAL</th>
-  <td align="right"><%total_assets_this_period%><hr noshade size="2"></td>
-  <td align="right"><%total_assets_last_period%><hr noshade size="2"></td>
-</tr>
-
-<tr>
-  <th align="left" colspan="4">PASSIVA<b><hr align="left" width="250" size="5" noshade></th>
-</tr>
-
-<%foreach liability_account%>
-<tr>
-  <td></td>
-  <td><%liability_account%></td>
-  <td align="right"><%liability_this_period%></td>
-  <td align="right"><%liability_last_period%></td>
-</tr>
-<%end liability_account%>
-
-<tr>
-  <td colspan="2"> </td>
-  <td><hr noshade size="1"></td>
-  <td><hr noshade size="1"></td>
-</tr>
-
-<tr valign="top">
-  <td></td>
-  <th align="left">TOTAL</th>
-  <td align="right"><%total_liabilities_this_period%><br><hr noshade size="2"</td>
-  <td align="right"><%total_liabilities_last_period%><br><hr noshade size="2"</td>
-</tr>
-
-<tr>
-  <th align="left" colspan="4">EIGENTUM<br><hr align="left" width="250" size="5" noshade></th>
-</tr>
-
-<%foreach equity_account%>
-<tr>
-  <td></td>
-  <td><%equity_account%></td>
-  <td align="right"><%equity_this_period%></td>
-  <td align="right"><%equity_last_period%></td>
-</tr>
-<%end equity_account%>
-
-<tr>
-  <td colspan="2"> </td>
-  <td><hr noshade size="1"></td>
-  <td><hr noshade size="1"></td>
-</tr>
-
-<tr valign="top">
-  <td></td>
-  <th align="left">TOTAL</th>
-  <td align="right"><%total_equity_this_period%><br><hr noshade size="2"</td>
-  <td align="right"><%total_equity_last_period%><br><hr noshade size="2"</td>
-</tr>
-
-<tr valign="top">
-  <th align="left" colspan="2">TOTAL PASSIVA &amp; EIGENTUM</th>
-  <td align="right"><%total_this_period%><br><hr noshade size="2"></td>
-  <td align="right"><%total_last_period%><br><hr noshade size="2"></td>
-</tr>
-</table>
-
-
-
diff --git a/templates/print/German/bin_list.html b/templates/print/German/bin_list.html
deleted file mode 100644 (file)
index d57632d..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-<body bgcolor=ffffff>
-
-<table width=100%>
-  <tr>
-    <td width=10>&nbsp;</td>
-    
-    <td>
-      <table width=100%>
-       <tr>
-         <td>
-           <h4>
-           <%company%>
-           <br><%address%>
-           </h4>
-         </td>
-         
-         <th><img src=http://localhost/lx-erp/lx-office-erp.png border=0 width=64 height=58></th>
-
-         <th align=right>
-           <h4>
-           Tel: <%tel%>
-           <br>Fax: <%fax%>
-           </h4>
-         </td>
-       </tr>
-       
-       <tr>
-         <th colspan=3>
-           <h4>L A G E R L I S T E</h4>
-         </th>
-       </tr>
-      </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-
-    <td>
-      <table width=100% cellspacing=0 cellpadding=0>
-       <tr bgcolor=000000>
-         <th align=left width=50%><font color=ffffff>Absender</th>
-         <th align=left width=50%><font color=ffffff>Lieferanschrift</th>
-       </tr>
-
-       <tr valign=top>
-         <td><%name%>
-         <br><%street%>
-         <br><%zipcode%>
-         <br><%city%>
-         <br><%country%>
-         <br>
-
-         <%if contact%>
-         <br>Kontakt: <%contact%>
-         <%end contact%>
-
-         <%if vendorphone%>
-         <br>Tel: <%vendorphone%>
-         <%end vendorphone%>
-
-         <%if vendorfax%>
-         <br>Fax: <%vendorfax%>
-         <%end vendorfax%>
-
-         <%if email%>
-         <br><%email%>
-         <%end email%>
-         
-         </td>
-         
-         <td><%shiptoname%>
-         <br><%shiptostreet%>
-         <br><%shiptozipcode%>
-         <br><%shiptocity%>
-         <br><%shiptocountry%>
-
-         <br>
-         <%if shiptocontact%>
-         <br>Kontakt: <%shiptocontact%>
-         <%end shiptocontact%>
-         
-         <%if shiptophone%>
-         <br>Tel: <%shiptophone%>
-         <%end shiptophone%>
-
-         <%if shiptofax%>
-         <br>Fax: <%shiptofax%>
-         <%end shiptofax%>
-         </td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-
-  <tr height=5></tr>
-
-  <tr>
-    <td>&nbsp;</td>
-
-    <td>
-      <table width=100% border=1>
-       <tr>
-         <th width=17% align=left nowrap>BestellNr. #</th>
-         <th width=17% align=left nowrap>Datum</th>
-         <th width=17% align=left nowrap>Kontakt</th>
-         <%if warehouse%>
-         <th width=17% align=left nowrap>Lager</th>
-         <%end warehouse%>
-         <th width=17% align=left>Versandort</th>
-         <th width=15% align=left>Lieferung durch</th>
-       </tr>
-
-       <tr>
-         <td><%ordnumber%>&nbsp;</td>
-
-         <%if shippingdate%>
-         <td><%shippingdate%></td>
-         <%end shippingdate%>
-
-         <%if not shippingdate%>
-         <td><%orddate%></td>
-         <%end shippingdate%>
-
-         <td><%employee%>&nbsp;</td>
-
-         <%if warehouse%>
-         <td><%warehouse%></td>
-         <%end warehouse%>
-
-         <td><%shippingpoint%>&nbsp;</td>
-         <td><%shipvia%>&nbsp;</td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-
-    <td>
-      <table width=100%>
-       <tr bgcolor=000000>
-         <th align=left><font color=ffffff>Pos</th>
-         <th align=left><font color=ffffff>ArtNr.</th>
-         <th align=left><font color=ffffff>Beschreibung</th>
-         <th><font color=ffffff>Seriennummer</th>
-         <th>&nbsp;</th>
-         <th><font color=ffffff>Menge</th>
-         <th><font color=ffffff>Erh</th>
-         <th>&nbsp;</th>
-         <th><font color=ffffff>Lagerplatz</th>
-       </tr>
-
-       <%foreach number%>
-       <tr valign=top>
-         <td><%runningnumber%></td>
-         <td><%number%></td>
-         <td><%description%></td>
-         <td><%serialnumber%></td>
-         <td><%deliverydate%></td>
-         <td align=right><%qty%></td>
-         <td align=right><%ship%></td>
-         <td><%unit%></td>
-         <td><%bin%></td>
-       </tr>
-       <%end number%>
-
-      </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-
-    <td><hr noshade></td>
-  </tr>
-
-</table>
-
diff --git a/templates/print/German/bin_list.tex b/templates/print/German/bin_list.tex
deleted file mode 100644 (file)
index 67a78ed..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage[frame]{xy}
-\usepackage{tabularx}
-\usepackage[utf8]{inputenc}
-\usepackage{graphicx}
-\setlength{\voffset}{0.5cm}
-\setlength{\hoffset}{-2.0cm}
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0.5cm}
-\setlength{\headsep}{1cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{1.0cm}
-\setlength{\evensidemargin}{1.0cm}
-\setlength{\textwidth}{17cm}
-\setlength{\textheight}{24.7cm}
-\setlength{\footskip}{1cm}
-\setlength{\parindent}{0pt}
-\renewcommand{\baselinestretch}{1}
-
-\begin{document}
-
-\pagestyle{myheadings}
-\thispagestyle{empty}
-
-\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-\vspace*{-1.3cm}
-
-\parbox{\textwidth}{
-  \parbox[b]{.42\textwidth}{%
-    <%company%>
-
-    <%address%>
-  }\hfill
-  \begin{tabular}[b]{rr@{}}
-  Tel & <%tel%>\\
-  Fax & <%fax%>
-  \end{tabular}
-
-  \rule[1.5ex]{\textwidth}{0.5pt}
-}
-
-
-\vspace*{0.5cm}
-
-\parbox[t]{1cm}{\hfill}
-\parbox[t]{.5\textwidth}{
-\textbf{Von}
-\vspace{0.7cm}
-
-<%name%> \\
-<%street%> \\
-<%zipcode%> \\
-<%city%> \\
-<%country%>
-}
-\parbox[t]{.4\textwidth}{
-\textbf{Lieferanschrift}
-\vspace{0.7cm}
-
-<%shiptoname%> \\
-<%shiptostreet%> \\
-<%shiptozipcode%> \\
-<%shiptocity%> \\
-<%shiptocountry%>
-}
-\hfill
-
-\vspace{1cm}
-
-\textbf{L A G E R L I S T E}
-\hfill
-
-\vspace{1cm}
-
-\begin{tabularx}{\textwidth}{*{6}{|X}|} \hline
-  \textbf{BestellNr. \#} & \textbf{Datum} & \textbf{Kontakt}
-  <%if warehouse%>
-  & \textbf{Lager}
-  <%end warehouse%>
-  & \textbf{Lagerplatz} & \textbf{Lieferung mit} \\ [0.5em]
-  \hline
-
-  <%ordnumber%>
-  <%if shippingdate%>
-  & <%shippingdate%>
-  <%end shippingdate%>
-  <%if not shippingdate%>
-  & <%orddate%>
-  <%end shippingdate%>
-  & <%employee%>
-  <%if warehouse%>
-  & <%warehouse%>
-  <%end warehouse%>
-  & <%shippingpoint%> & <%shipvia%> \\
-  \hline
-\end{tabularx}
-
-\vspace{1cm}
-
-\begin{tabularx}{\textwidth}{@{}rlXllrrll@{}}
-  \textbf{Pos} & \textbf{Nummer} & \textbf{Beschreibung} & \textbf{Seriennumner} & & \textbf{Menge} & \textbf{Erh} & & \textbf{Lagerplatz} \\
-
-<%foreach number%>
-  <%runningnumber%> & <%number%> & <%description%> & <%serialnumber%> &
-  <%deliverydate%> & <%qty%> & <%ship%> & <%unit%> & <%bin%> \\
-<%end number%>
-\end{tabularx}
-
-
-\rule{\textwidth}{2pt}
-
-\end{document}
-
diff --git a/templates/print/German/bwa.html b/templates/print/German/bwa.html
deleted file mode 100644 (file)
index 91907d8..0000000
+++ /dev/null
@@ -1,582 +0,0 @@
-<body>
-<style type="text/css">
-<!--
-/* Allgemeine Schriftdefinition */
-th,td {
-       font-family: Arial, Verdana, Helvetica, Sans-serif;
-       font-size:small;
-}
-
-@page {
-       size: landscape;
-       margin: 0.5cm;
-}
-
-/* Definition Tabellenueberschrift */
-
-.left  { text-align:left; }
-.center        { text-align:center; }
-.right { text-align:right; }
-
-tr.headline    { border:0; }
-tr.headline td { border:0; }
-h1 { font-size:120%; }
-h2 { font-size:100%; }
-
-/* Tabellenkopf */
-th {
-       font-weight: bold;
-       border-bottom: solid thin black;
-       padding:0 10px;
-       text-align:right;
-}
-
-th.left  { border-left:  solid thin black; }
-th.right { border-right: solid thin black; }
-
-.querkopf th.right { text-align:center; }
-.querkopf th {
-       border-top: solid thin black;
-       border-bottom:0;
-}
-
-/* Tabelleninhalt */
-td {
-       text-align:right;
-       padding:0 0.5em;
-}
-td.left  { border-left:  solid thin black; }
-td.right { border-right: solid thin black; }
-
-
-/* jede zweite Zeile grau hinterlegen */
-tr.grey {
-       background:#f0f0f0;
-}
-
-/* letzte Zeile in der Tabelle */
-#last td{ border-bottom: solid thin black; }
-
-/* Zwischensumme/-ueberschriften */
-tr.subtotal td { font-weight: bold; }
-
-/* Fusszeile unter der Tabelle */
-td.footer {
-       text-align:right;
-       font-size:smaller;
-}
-//-->
-</style>
-
-<table border=0 cellpadding=0 cellspacing=0>
-<tr class="headline">
-       <td class="left"><%company%></td>
-       <td class=center colspan="9">
-               <h1>Kurzfristige Erfolgsrechnung <%period%></h1>
-               <h2>SKR3 &nbsp; BWA</h2>
-       </td>
-       <td class="right">Blatt 1</td>
-</tr>
-       
-       
-</tr>  
-<tr class="querkopf">
-       <th class="left">&nbsp;</th>
-       <th class="center" colspan="5">Im Betrachtungszeitraum</th>
-       <th class="right" colspan="5">Kumuliert seit Jahresanfang</th>
-</tr>
-
-<tr>
-       <th class="left">Bezeichnung</th>
-       <th>Wert</th>
-       <th>% Ges.- Leistg.</th>
-       <th>% Ges.- Kosten</th>
-       <th>% Pers.- Kosten</th>
-       <th>Aufschlag</th>
-       <th>Wert</th>
-       <th>% Ges.- Leistg.</th>
-       <th>% Ges.- Kosten</th>
-       <th>% Pers.- Kosten</th>
-       <th class="right">Aufschlag</th>
-</tr>
-
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Umsatzerl&ouml;se</nobr></td>
-       <td><nobr><%jetzt1%></nobr></td>
-       <td><nobr><%jetztgl1%></nobr></td>
-       <td></td>
-       <td></td>
-       <td></td>
-       <td><nobr><%kumm1%></nobr></td>
-       <td><nobr><%kummgl1%></nobr></td>
-       <td></td>
-       <td></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white">
-       <td class="left"><nobr>Best.Verdg. FE/UE</nobr></td>
-       <td><nobr><%jetzt2%></nobr></td>
-       <td><nobr><%jetztgl2%></nobr></td>
-       <td></td>
-       <td></td>
-       <td></td>       
-       <td><nobr><%kumm2%></nobr></td>
-       <td><nobr><%kummgl2%></nobr></td>
-       <td></td>
-       <td></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Akt.Eigenleistungen</nobr></td>
-       <td><nobr><%jetzt3%></nobr></td>
-       <td><nobr><%jetztgl3%></nobr></td>
-       <td></td>
-       <td></td>
-       <td></td>
-       <td><nobr><%kumm3%></nobr></td>
-       <td><nobr><%kummgl3%></nobr></td>
-       <td></td>
-       <td></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-       
-<tr class="grey subtotal">
-       <td class="left"><nobr>Gesamtleistung</nobr></td>
-       <td><nobr><%jetztgesamtleistung%></nobr></td>
-       <td><nobr><%jetztglgesamtleistung%></nobr></td>
-       <td><nobr><%jetztgkgesamtleistung%></nobr></td>
-       <td><nobr><%jetztpkgesamtleistung%></nobr></td>
-       <td></td>
-       <td><nobr><%kummgesamtleistung%></nobr></td>
-       <td><nobr><%kummglgesamtleistung%></nobr></td>
-       <td><nobr><%kummgkgesamtleistung%></nobr></td>
-       <td><nobr><%kummpkgesamtleistung%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-       
-<tr class="grey">
-       <td class="left"><nobr>Mat./Wareneinkauf</nobr></td>
-       <td><nobr><%jetzt4%></nobr></td>
-       <td><nobr><%jetztgl4%></nobr></td>
-       <td><nobr><%jetztgk4%></nobr></td>
-       <td><nobr><%jetztpk4%></nobr></td>
-       <td><nobr><%jetztauf4%></nobr></td>
-       <td><nobr><%kumm4%></nobr></td>
-       <td><nobr><%kummgl4%></nobr></td>
-       <td><nobr><%kummgk4%></nobr></td>
-       <td><nobr><%kummpk4%></nobr></td>
-       <td class="right"><nobr><%kummauf4%></nobr>&nbsp;</td>
-</tr>
-       
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-               
-<tr class="grey subtotal">
-       <td class="left"><nobr>Rohertrag</nobr></td>
-       <td><nobr><%jetztrohertrag%></nobr></td>
-       <td><nobr><%jetztglrohertrag%></nobr></td>
-       <td><nobr><%jetztgkrohertrag%></nobr></td>
-       <td><nobr><%jetztpkrohertrag%></nobr></td>
-       <td><nobr><%jetztaufrohertrag%></nobr></td>
-       <td><nobr><%kummrohertrag%></nobr></td>
-       <td><nobr><%kummglrohertrag%></nobr></td>
-       <td><nobr><%kummgkrohertrag%></nobr></td>
-       <td><nobr><%kummpkrohertrag%></nobr></td>
-       <td class="right"><nobr><%kummaufrohertrag%></nobr>&nbsp;</td>
-</tr>
-       
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-               
-<tr class="grey">
-       <td class="left"><nobr>So.betr.Erl&ouml;se</nobr></td>
-       <td><nobr><%jetzt5%></nobr></td>
-       <td><nobr><%jetztgl5%></nobr></td>
-       <td><nobr><%jetztgk5%></nobr></td>
-       <td><nobr><%jetztpk5%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm5%></nobr></td>
-       <td><nobr><%kummgl5%></nobr></td>
-       <td><nobr><%kummgk5%></nobr></td>
-       <td><nobr><%kummpk5%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-               
-<tr class="grey subtotal">
-       <td class="left"><nobr>Betriebl. Rohertrag</nobr></td>
-       <td><nobr><%jetztbetriebrohertrag%></nobr></td>
-       <td><nobr><%jetztglbetriebrohertrag%></nobr></td>
-       <td><nobr><%jetztgkbetriebrohertrag%></nobr></td>
-       <td><nobr><%jetztpkbetriebrohertrag%></nobr></td>
-       <td><nobr><%jetztaufbetriebrohertrag%></nobr></td>
-       <td><nobr><%kummbetriebrohertrag%></nobr></td>
-       <td><nobr><%kummglbetriebrohertrag%></nobr></td>
-       <td><nobr><%kummgkbetriebrohertrag%></nobr></td>
-       <td><nobr><%kummpkbetriebrohertrag%></nobr></td>
-       <td
-class="right"><nobr><%kummaufbetriebrohertrag%></nobr>&nbsp;</td>
-</tr>
-
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-
-<tr class="grey subtotal">
-       <td class="left">Kostenarten:</td>
-       <td class="right" colspan="10">&nbsp;</td>
-</tr>  
-               
-<tr class="white">
-       <td class="left"><nobr>Personalkosten</nobr></td>
-       <td><nobr><%jetzt10%></nobr></td>
-       <td><nobr><%jetztgl10%></nobr></td>
-       <td><nobr><%jetztgk10%></nobr></td>
-       <td><nobr><%jetztpk10%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm10%></nobr></td>
-       <td><nobr><%kummgl10%></nobr></td>
-       <td><nobr><%kummgk10%></nobr></td>
-       <td><nobr><%kummpk10%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Raumkosten</nobr></td>
-       <td><nobr><%jetzt11%></nobr></td>
-       <td><nobr><%jetztgl11%></nobr></td>
-       <td><nobr><%jetztgk11%></nobr></td>
-       <td><nobr><%jetztpk11%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm11%></nobr></td>
-       <td><nobr><%kummgl11%></nobr></td>
-       <td><nobr><%kummgk11%></nobr></td>
-       <td><nobr><%kummpk11%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white">
-       <td class="left"><nobr>Betriebl.Steuern</nobr></td>
-       <td><nobr><%jetzt12%></nobr></td>
-       <td><nobr><%jetztgl12%></nobr></td>
-       <td><nobr><%jetztgk12%></nobr></td>
-       <td><nobr><%jetztpk12%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm12%></nobr></td>
-       <td><nobr><%kummgl12%></nobr></td>
-       <td><nobr><%kummgk12%></nobr></td>
-       <td><nobr><%kummpk12%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Versich./Beitr&auml;ge</nobr></td>
-       <td><nobr><%jetzt13%></nobr></td>
-       <td><nobr><%jetztgl13%></nobr></td>
-       <td><nobr><%jetztgk13%></nobr></td>
-       <td><nobr><%jetztpk13%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm13%></nobr></td>
-       <td><nobr><%kummgl13%></nobr></td>
-       <td><nobr><%kummgk13%></nobr></td>
-       <td><nobr><%kummpk13%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Kfz-Kosten (o.St.)</nobr></td>
-       <td><nobr><%jetzt14%></nobr></td>
-       <td><nobr><%jetztgl14%></nobr></td>
-       <td><nobr><%jetztgk14%></nobr></td>
-       <td><nobr><%jetztpk14%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm14%></nobr></td>
-       <td><nobr><%kummgl14%></nobr></td>
-       <td><nobr><%kummgk14%></nobr></td>
-       <td><nobr><%kummpk14%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white">
-       <td class="left"><nobr>Werbe-/Reisekosten</nobr></td>
-       <td><nobr><%jetzt15%></nobr></td>
-       <td><nobr><%jetztgl15%></nobr></td>
-       <td><nobr><%jetztgk15%></nobr></td>
-       <td><nobr><%jetztpk15%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm15%></nobr></td>
-       <td><nobr><%kummgl15%></nobr></td>
-       <td><nobr><%kummgk15%></nobr></td>
-       <td><nobr><%kummpk15%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Kosten Warenabgabe</nobr></td>
-       <td><nobr><%jetzt16%></nobr></td>
-       <td><nobr><%jetztgl16%></nobr></td>
-       <td><nobr><%jetztgk16%></nobr></td>
-       <td><nobr><%jetztpk16%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm16%></nobr></td>
-       <td><nobr><%kummgl16%></nobr>
-</td>
-       <td><nobr><%kummgk16%></nobr></td>
-       <td><nobr><%kummpk16%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white">
-       <td class="left"><nobr>Abschreibungen</nobr></td>
-       <td><nobr><%jetzt17%></nobr></td>
-       <td><nobr><%jetztgl17%></nobr></td>
-       <td><nobr><%jetztgk17%></nobr></td>
-       <td><nobr><%jetztpk17%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm17%></nobr></td>
-       <td><nobr><%kummgl17%></nobr></td>
-       <td><nobr><%kummgk17%></nobr></td>
-       <td><nobr><%kummpk17%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Reparatur/Instandh.</nobr></td>
-       <td><nobr><%jetzt18%></nobr></td>
-       <td><nobr><%jetztgl18%></nobr></td>
-       <td><nobr><%jetztgk18%></nobr></td>
-       <td><nobr><%jetztpk18%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm18%></nobr></td>
-       <td><nobr><%kummgl18%></nobr></td>
-       <td><nobr><%kummgk18%></nobr></td>
-       <td><nobr><%kummpk18%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white">
-       <td class="left"><nobr>Sonstige Kosten</nobr></td>
-       <td><nobr><%jetzt20%></nobr></td>
-       <td><nobr><%jetztgl20%></nobr></td>
-       <td><nobr><%jetztgk20%></nobr></td>
-       <td><nobr><%jetztpk20%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm20%></nobr></td>
-       <td><nobr><%kummgl20%></nobr></td>
-       <td><nobr><%kummgk20%></nobr></td>
-       <td><nobr><%kummpk20%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey subtotal">
-       <td class="left"><nobr>Gesamtkosten</nobr></td>
-       <td><nobr><%jetztgesamtkosten%></nobr></td>
-       <td><nobr><%jetztglgesamtkosten%></nobr></td>
-       <td><nobr><%jetztgkgesamtkosten%></nobr></td>
-       <td><nobr><%jetztpkgesamtkosten%></nobr></td>
-       <td></td>
-       <td><nobr><%kummgesamtkosten%></nobr></td>
-       <td><nobr><%kummglgesamtkosten%></nobr></td>
-       <td><nobr><%kummgkgesamtkosten%></nobr></td>
-       <td><nobr><%kummpkgesamtkosten%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-
-       
-<tr class="grey subtotal">
-<td class="left"><nobr>Betriebsergebnis</nobr></td>
-       <td><nobr><%jetztbetriebsergebnis%></nobr></td>
-       <td><nobr><%jetztglbetriebsergebnis%></nobr>
-</td>
-       <td><nobr><%jetztgkbetriebsergebnis%></nobr></td>
-       <td><nobr><%jetztpkbetriebsergebnis%></nobr></td>
-       <td></td>
-       <td><nobr><%kummbetriebsergebnis%></nobr></td>
-       <td><nobr><%kummglbetriebsergebnis%></nobr>
-</td>
-       <td><nobr><%kummgkbetriebsergebnis%></nobr></td>
-       <td><nobr><%kummpkbetriebsergebnis%></nobr></td>
-       <td class="right">&nbsp;</td>
-       </tr>
-
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Zinsaufwand</nobr></td>
-       <td><nobr><%jetzt30%></nobr></td>
-       <td><nobr><%jetztgl30%></nobr></td>
-       <td><nobr><%jetztgk30%></nobr></td>
-       <td><nobr><%jetztpk30%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm30%></nobr></td>
-       <td><nobr><%kummgl30%></nobr></td>
-       <td><nobr><%kummgk30%></nobr></td>
-       <td><nobr><%kummpk30%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white">
-       <td class="left"><nobr>&Uuml;brige Steuern</nobr></td>
-       <td><nobr><%jetzt19%></nobr></td>
-       <td><nobr><%jetztgl19%></nobr></td>
-       <td><nobr><%jetztgk19%></nobr></td>
-       <td><nobr><%jetztpk19%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm19%></nobr></td>
-       <td><nobr><%kummg191%></nobr></td>
-       <td><nobr><%kummgk19%></nobr></td>
-       <td><nobr><%kummpk19%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Sonst. neutr. Aufwand</nobr></td>
-       <td><nobr><%jetzt31%></nobr></td>
-       <td><nobr><%jetztgl31%></nobr></td>
-       <td><nobr><%jetztgk31%></nobr></td>
-       <td><nobr><%jetztpk31%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm31%></nobr></td>
-       <td><nobr><%kummgl31%></nobr></td>
-       <td><nobr><%kummgk31%></nobr></td>
-       <td><nobr><%kummpk31%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white subtotal">
-<td class="left"><nobr>Neutraler Aufwand</nobr></td>
-       <td><nobr><%jetztneutraleraufwand%></nobr></td>
-       <td><nobr><%jetztglneutraleraufwand%></nobr></td>
-       <td><nobr><%jetztgkneutraleraufwand%></nobr></td>
-       <td><nobr><%jetztpkneutraleraufwand%></nobr></td>
-       <td></td>
-       <td><nobr><%kummneutraleraufwand%></nobr></td>
-       <td><nobr><%kummglneutraleraufwand%></nobr></td>
-       <td><nobr><%kummgkneutraleraufwand%></nobr></td>
-       <td><nobr><%kummpkneutraleraufwand%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey"><td class="left right" colspan="11">&nbsp;</td></tr>
-
-<tr class="white">
-       <td class="left"><nobr>Zinsertr&auml;ge</nobr></td>
-       <td><nobr><%jetzt32%></nobr></td>
-       <td><nobr><%jetztgl32%></nobr></td>
-       <td><nobr><%jetztgk32%></nobr></td>
-       <td><nobr><%jetztpk32%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm32%></nobr></td>
-       <td><nobr><%kummgl32%></nobr></td>
-       <td><nobr><%kummgk32%></nobr></td>
-       <td><nobr><%kummpk32%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Sonst. neutr. Ertr.</nobr></td>
-       <td><nobr><%jetzt33%></nobr></td>
-       <td><nobr><%jetztgl33%></nobr></td>
-       <td><nobr><%jetztgk33%></nobr></td>
-       <td><nobr><%jetztpk33%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm33%></nobr></td>
-       <td><nobr><%kummgl33%></nobr></td>
-       <td><nobr><%kummgk33%></nobr></td>
-       <td><nobr><%kummpk33%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="white">
-       <td class="left"><nobr>Verr.kalk.Kosten</nobr></td>
-       <td><nobr><%jetzt34%></nobr></td>
-       <td><nobr><%jetztgl34%></nobr>
-       <td><nobr><%jetztgk34%></nobr></td>
-       <td><nobr><%jetztpk34%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm34%></nobr></td>
-       <td><nobr><%kummgl34%></nobr></td>
-       <td><nobr><%kummgk34%></nobr></td>
-       <td><nobr><%kummpk34%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-
-<tr class="grey subtotal">
-       <td class="left"><nobr>Neutraler Ertrag</nobr></td>
-       <td><nobr><%jetztneutralerertrag%></nobr></td>
-       <td><nobr><%jetztglneutralerertrag%></nobr></td>
-       <td><nobr><%jetztgkneutralerertrag%></nobr></td>
-       <td><nobr><%jetztpkneutralerertrag%></nobr></td>
-       <td></td>
-       <td><nobr><%kummneutralerertrag%></nobr></td>
-       <td><nobr><%kummglneutralerertrag%></nobr></td>
-       <td><nobr><%kummgkneutralerertrag%></nobr></td>
-       <td><nobr><%kummpkneutralerertrag%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-       
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-
-<tr class="grey subtotal">
-       <td class="left"><nobr>Ergebnis vor Steuern</nobr></td>
-       <td><nobr><%jetztergebnisvorsteuern%></nobr></td>
-       <td><nobr><%jetztglergebnisvorsteuern%></nobr></td>
-       <td><nobr><%jetztgkergebnisvorsteuern%></nobr></td>
-       <td><nobr><%jetztpkergebnisvorsteuern%></nobr></td>
-       <td></td>
-       <td><nobr><%kummergebnisvorsteuern%></nobr></td>
-       <td><nobr><%kummglergebnisvorsteuern%></nobr></td>
-       <td><nobr><%kummgkergebnisvorsteuern%></nobr></td>
-       <td><nobr><%kummpkergebnisvorsteuern%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-       
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-
-<tr class="grey">
-       <td class="left"><nobr>Steuern Eink.u.Ertr.</nobr></td>
-       <td><nobr><%jetzt35%></nobr></td>
-       <td><nobr><%jetztgl35%></nobr></td>
-       <td><nobr><%jetztgk35%></nobr></td>
-       <td><nobr><%jetztpk35%></nobr></td>
-       <td></td>
-       <td><nobr><%kumm35%></nobr></td>
-       <td><nobr><%kummgl35%></nobr></td>
-       <td><nobr><%kummgk35%></nobr></td>
-       <td><nobr><%kummpk35%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-       
-<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
-
-<tr class="grey subtotal">
-       <td class="left"><nobr>Vorl&auml;ufiges Ergebnis</nobr></td>
-       <td><nobr><%jetztergebnis%></nobr></td>
-       <td><nobr><%jetztglergebnis%></nobr></td>
-       <td><nobr><%jetztgkergebnis%></nobr></td>
-       <td><nobr><%jetztpkergebnis%></nobr></td>
-       <td></td>
-       <td><nobr><%kummergebnis%></nobr></td>
-       <td><nobr><%kummglergebnis%></nobr></td>
-       <td><nobr><%kummgkergebnis%></nobr></td>
-       <td><nobr><%kummpkergebnis%></nobr></td>
-       <td class="right">&nbsp;</td>
-</tr>
-       
-<tr class="white" id=last><td class="left right"
-colspan="11">&nbsp;</td></tr>
-
-<tr>
-       <td colspan=11 class=footer>W&auml;hrung: Euro - FiBu: LX Office ERP
-(Version <%version%>) - Formular: 11.01.2007</td>
-</tr>
-
-</table>
-</body>
diff --git a/templates/print/German/check.tex b/templates/print/German/check.tex
deleted file mode 100644 (file)
index 6086d45..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage[frame]{xy}
-\usepackage{tabularx}
-\usepackage[utf8]{inputenc}
-\setlength{\voffset}{0.4cm}
-\setlength{\hoffset}{-2.0cm}
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0.0cm}
-\setlength{\headsep}{1cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{1.0cm}
-\setlength{\evensidemargin}{1.0cm}
-\setlength{\textwidth}{17cm}
-\setlength{\textheight}{24.5cm}
-\setlength{\footskip}{1cm}
-\setlength{\parindent}{0pt}
-\renewcommand{\baselinestretch}{1}
-\begin{document}
-
-
-\fontfamily{cmss}\fontsize{9pt}{9pt}\selectfont
-
-\parbox[t]{12cm}{
-  <%company%>
-
-  <%address%>}
-\hfill
-\parbox[t]{6cm}{\hfill <%source%>}
-
-\vspace*{0.6cm}
-
-<%text_amount%> \dotfill <%decimal%>/100 \makebox[0.5cm]{\hfill}
-
-\vspace{0.5cm}
-
-\hfill <%datepaid%> \makebox[2cm]{\hfill} <%amount%>
-
-\vspace{0.5cm}
-
-<%name%>
-
-<%street%>
-
-<%zipcode%>
-
-<%city%>
-
-<%country%>
-
-\vspace{2.8cm}
-
-<%company%>
-
-\vspace{0.5cm}
-
-<%name%> \hfill <%datepaid%> \hfill <%source%>
-
-\vspace{0.5cm}
-\begin{tabularx}{\textwidth}{lXrr@{}}
-\textbf{Rechnung} & \textbf{Ausgestellt}
-  & \textbf{Fällig} & \textbf{Verrechnet} \\
-<%foreach invnumber%>
-<%invnumber%> & <%invdate%> \dotfill
-  & <%due%> & <%paid%> \\
-<%end invnumber%>
-\end{tabularx}
-
-\vfill
-
-\end{document}
-
diff --git a/templates/print/German/credit_note.tex b/templates/print/German/credit_note.tex
deleted file mode 100644 (file)
index 69ac965..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage{eurosym}
-\usepackage{tabularx}
-\usepackage{ifthen}
-\usepackage[utf8]{inputenc}
-\begin{document}
-
-\setlength{\parindent}{0cm}
-
-\pagestyle{empty}
-
-\newlength{\descrwidth}\setlength{\descrwidth}{10cm}
-
-\fontfamily{cmss}\fontshape{n}\selectfont
-
-\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-\vspace*{1.5cm}
-
-\begin{minipage}{8cm}
-  <%name%>
-
-  <%street%>
-
-  <%zipcode%> <%city%>
-
-  <%country%>
-\end{minipage}
-\hfill
-\begin{minipage}{6cm}
-  \rightline{\LARGE\textbf{\textit{Gutschrift}}} \vspace*{0.2cm}
-  \rightline{\large\textbf{\textit{Nr. <%invnumber%>% \vspace*{0.2cm}
-  }}}
-  für Rechnung: \hfill <%invnumber_for_credit_note%>
-
-  Gutschriftdatum:\hfill <%invdate%>
-
-  Auftrag-Nr:\hfill <%ordnumber%>
-
-  Telefon:\hfill <%phone%>
-
-  Telefax:\hfill <%fax%>
-
-  Ansprechpartner:\hfill <%employee%>
-\end{minipage}
-
-\vspace*{0.5cm}
-
-Ihre Bestellung <%cusordnumber%> vom <%orddate%>
-% \hfill
-
-\vspace*{0.5cm}
-
-Sehr geehrte Damen und Herren,
-
-\vspace{0.5cm}
-
-\begin{tabularx}{\textwidth}{lrXrr}
-  \hline
-  \textbf{Pos} & \textbf{Menge} & \textbf{Bezeichnung} &
-  \textbf{E-Preis/\euro} & \textbf{G-Preis/\euro} \\
-  \hline
-  <%foreach number%>
-    <%runningnumber%> & <%qty%> <%unit%> & \raggedright <%description%> &
-    <%sellprice%> \euro & <%linetotal%> \euro \\
-    <%if discount_sub%> & Zwischensumme: &  & <%discount_sub%> \euro  & <%end if%>\\
-  <%end number%>\hline
-  \multicolumn{4}{l}{Nettobetrag} & <%subtotal%> \euro \\
-  <%foreach tax%>
-  \multicolumn{4}{l}{<%taxdescription%>} & <%tax%> \euro \\
-  <%end tax%>
-  \multicolumn{4}{l}{\textbf{Endbetrag}} & \textbf{<%invtotal%> \euro} \\ \hline
-\end{tabularx}
-
-\vspace{1cm}
-
-\end{document}
-
diff --git a/templates/print/German/income_statement.html b/templates/print/German/income_statement.html
deleted file mode 100644 (file)
index 36b612b..0000000
+++ /dev/null
@@ -1,291 +0,0 @@
-<body>
-
-<h2 align=center>
-Einnahmen&uuml;berschu&szlig;rechnung</h2>
-<h3 align=center>-E&Uuml;R- (Gewinnermittlung nach &sect;4 Abs. 3 EStG)
-<br><%period%>
-</h3>
-
-<table width=100% border=0>
-<tr>
-  <td width=75% align=left colspan=2><font size="+1"><b>A. Betriebseinnahmen</font></b><br></td>
-  <td></td>
-</tr>
-
-<tr>
-  <td>
-       Umsatzerl&ouml;se  
-  </td>
-  <td>
-       <%eur1%>
-  </td>
-</tr>
-<tr>
-  <td>
-       sonstige Erl&ouml;se  
-  </td>
-  <td>
-       <%eur2%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Privatanteile
-  </td>
-  <td>
-       <%eur3%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Zinsertr&auml;ge
-  </td>
-  <td>
-       <%eur4%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Au&szlig;erordentliche Ertr&auml;ge
-  </td>
-  <td>
-       <%eur5%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Vereinnahmte Umsatzsteuer
-  </td>
-  <td>
-       <%eur6%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Umsatzsteuererstattungen
-  </td>
-  <td>
-       <%eur7%>  
-  </td>
-</tr>
-
-
-<tr>
-  <td> </td>
-  <td><hr noshade size=1></td>
-</tr>
-
-<tr valign=top>
-  <th align=left><b>Summe Einnahmen</b></th>
-  <td align=right><%sumeura%><hr noshade size=2></td>
-</tr>
-<tr>
-  <td></td>
-  <td><br><br></td>
-</tr>
-<tr>
-  <td align=left><font size="+1"><b>B. Betriebsausgaben</font></b><br></td>
-  <td></td>
-</tr>
-
-<tr>
-  <td>
-       Wareneing&auml;nge
-  </td>
-  <td>
-       <%eur8%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       L&ouml;hne und Geh&auml;ter
-  </td>
-  <td>
-       <%eur9%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Gesetzlicher sozialer Aufwand
-  </td>
-  <td>
-       <%eur10%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Mieten
-  </td>
-  <td>
-       <%eur11%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Gas, Strom, Wasser
-  </td>
-  <td>
-       <%eur12%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Instandhaltung
-  </td>
-  <td>
-       <%eur13%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Steuern, Versicherungen, Beitr&auml;ge
-  </td>
-  <td>
-       <%eur14%>  
-  </td>
-</tr>
-<tr>
-  <td>
-       Kfz-Steuern
-  </td>
-  <td>
-       <%eur15%>  
-  </td>
-</tr><tr>
-  <td>
-       Kfz-Versicherungen
-  </td>
-  <td>
-       <%eur16%>  
-  </td>
-</tr><tr>
-  <td>
-       Sonstige Fahrzeugkosten
-  </td>
-  <td>
-       <%eur17%>  
-  </td>
-</tr><tr>
-  <td>
-       Werbe- und Reisekosten
-  </td>
-  <td>
-       <%eur18%>  
-  </td>
-</tr><tr>
-  <td>
-       Instandhaltung und Werkzeuge
-  </td>
-  <td>
-       <%eur19%>  
-  </td>
-</tr><tr>
-  <td>
-       Fachzeitschriften, B&uuml;cher
-  </td>
-  <td>
-       <%eur20%>  
-  </td>
-</tr><tr>
-  <td>
-       Miete f&uuml;r Einrichtungen
-  </td>
-  <td>
-       <%eur21%>  
-  </td>
-</tr><tr>
-  <td>
-       Rechts- und Beratungskosten
-  </td>
-  <td>
-       <%eur22%>  
-  </td>
-</tr><tr>
-  <td>
-       B&uuml;robedarf, Porto, Telefon
-  </td>
-  <td>
-       <%eur23%>  
-  </td>
-</tr><tr>
-  <td>
-       Sonstige Aufwendungen
-  </td>
-  <td>
-       <%eur24%>  
-  </td>
-</tr><tr>
-  <td>
-       Abschreibungen auf Anlageverm&ouml;gen
-  </td>
-  <td>
-       <%eur25%>  
-  </td>
-</tr><tr>
-  <td>
-       Abschreibungen auf GWG
-  </td>
-  <td>
-       <%eur26%>  
-  </td>
-</tr><tr>
-  <td>
-       Vorsteuer
-  </td>
-  <td>
-       <%eur27%>  
-  </td>
-</tr><tr>
-  <td>
-       Umsatzsteuerzahlungen
-  </td>
-  <td>
-       <%eur28%>  
-  </td>
-</tr><tr>
-  <td>
-       Zinsaufwand
-  </td>
-  <td>
-       <%eur29%>  
-  </td>
-</tr><tr>
-  <td>
-       Au&szlig;erordentlicher Aufwand
-  </td>
-  <td>
-       <%eur30%>  
-  </td>
-</tr><tr>
-  <td>
-       Betriebliche Steuern
-  </td>
-  <td>
-       <%eur31%>  
-  </td>
-</tr>
-
-
-<tr>
-  <td> </td>
-  <td><hr noshade size=1></td>
-</tr>
-
-<tr valign=top>
-  <th align=left><b>Summe Ausgaben</b></th>
-  <td align=right><%sumeurb%> <br><hr noshade size=2</td>
-</tr>
-<tr>
-  <td></td>
-  <td><br><br></td>
-</tr>
-<tr valign=top>
-  <td align=left>GEWINN / VERLUST</td>
-  <td align=right><%guvsumme%><br><hr noshade size=2></td>
-</tr>
-
-</table>
-
-</body>
-</html>
-
diff --git a/templates/print/German/invoice.html b/templates/print/German/invoice.html
deleted file mode 100644 (file)
index 2858f4f..0000000
+++ /dev/null
@@ -1,268 +0,0 @@
-
-<body bgcolor=ffffff>
-
-<table width=100%>
-<tr valign=bottom>
-  <td width=10>&nbsp;</td>
-  <td>
-  
-  <table width=100%>
-  <tr>
-    <td>
-      <h4>
-      <%company%>
-      <br><%address%>
-      </h4>
-    </td>
-
-    <td align=right>
-      <h4>
-      Telefon <%tel%>
-      <br>Telefax <%fax%>
-      </h4>
-    </td>
-  </tr>
-
-  <tr>
-    <th colspan=3>
-      <h4>R E C H N U N G</h4>
-    </th>
-  </tr>
-
-  </table>
-
-
-  <table width=100% callspacing=0 cellpadding=0>
-    
-  <tr>
-    <td align=right>
-    <table>
-    <tr>
-      <th align=right>Ausgestellt am</th><td width=10>&nbsp;</td><td><%invdate%></td>
-    </tr>
-  
-    <tr>
-      <th align=right>Bezahlbar bis</th><td width=10>&nbsp;</td><td><%duedate%></td>
-    </tr>
-
-    <tr>
-      <th align=right>Nummer</th><td>&nbsp;</td><td><%invnumber%></td></tr>
-    </tr>
-  
-    <tr>
-      <th align=right>Lieferdatum</th><td>&nbsp;</td><td><%deliverydate%></td></tr>
-    </tr>
-<!--
-    <tr>
-      <th align=right>Clerk:</th><td>&nbsp;</td><td><%username%></td>
-    </tr>
--->
-
-    <tr>
-      <td>&nbsp;</td>
-    </tr>
-    </td>
-    </table>
-  </tr>
-
-  <tr>
-    <td>
-    <table width=100%>
-    <tr bgcolor=000000>
-      <th align=left><font color=ffffff>An:</th>
-      <th align=left><font color=ffffff>Lieferaddresse:</th>
-    </tr>
-
-<!--
-     other variables which can be use:
-     contact, shiptocontact, shiptophone, shiptofax
--->
-
-    <tr>
-      <td><%name%>
-      <br><%street%>
-      <br><%zipcode%>
-      <br><%city%>
-      <br><%country%>
-      </td>
-      
-      <td><%shiptoname%>
-      <br><%shiptostreet%>
-      <br><%shiptozipcode%>
-      <br><%shiptocity%>
-      <br><%shiptocountry%>
-      </td>
-    </tr>
-    </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-  </tr>
-  
-  <tr>
-    <td>
-    <table width=100%>
-    <tr bgcolor=000000>
-<!--      <th align=right><font color=ffffff>No.</th>  -->
-      <th align=left><font color=ffffff>Nummer</th>
-      <th align=left><font color=ffffff>Beschreibung</th>
-      <th><font color=ffffff>Anz.</th>
-      <th>&nbsp;</th>
-      <th><font color=ffffff>Preis</th>
-      <th><font color=ffffff>Rab</th>
-      <th><font color=ffffff>Total</th>
-    </tr>
-
-<%foreach number%>
-    <tr valign=top>
-<!--      <td align=right><%runningnumber%>.</td>
-adjust the colspan if you include this to shift subtotal one to the right
--->
-      <td><%number%></td>
-      <td><%description%></td>
-      <td align=right><%qty%></td>
-      <td><%unit%></td>
-      <td align=right><%sellprice%></td>
-      <td align=right><%discount%></td>
-      <td align=right><%linetotal%></td>
-    </tr>
-<%end number%>
-
-<!--
-you can also use netprice instead of sellprice if you
-don't want to show the discount
-netprice = sellprice - discount
--->
-
-    <tr>
-      <td colspan=7><hr noshade></td>
-    </tr>
-    
-<%if taxincluded%>
-    <tr>
-      <th colspan=5 align=right>Total</th>
-      <td colspan=2 align=right><%invtotal%></td>
-    </tr>
-<%end taxincluded%>
-<%if not taxincluded%>
-    <tr>
-      <th colspan=5 align=right>Zwischensumme</th>
-      <td colspan=2 align=right><%subtotal%></td>
-    </tr>
-<%end taxincluded%>
-
-<%foreach tax%>
-    <tr>
-      <th colspan=5 align=right><%taxdescription%> auf <%taxbase%></th>
-      <td colspan=2 align=right><%tax%></td>
-    </tr>
-<%end tax%>
-
-<%if paid%>
-    <tr>
-      <th colspan=5 align=right>Bezahlt</th>
-      <td colspan=2 align=right>- <%paid%></td>
-    </tr>
-<%end paid%>
-
-    <tr>
-      <td colspan=3>&nbsp;</td>
-      <td colspan=4><hr noshade></td>
-    </tr>
-
-    <tr>
-      <td colspan=3>Bezahlbar innerhalb von <b><%terms%></b> Tagen</td>
-<%if total%>
-      <th colspan=2 align=right>Total</th>
-      <th colspan=2 align=right><%total%></th>
-<%end total%>
-    </tr>
-
-    <tr>
-      <td>&nbsp;</td>
-    </tr>
-
-    </table>
-    </td>
-  </tr>
-
-<tr>
-  <td>
-  <table width=100%>
-    <tr valign=top>
-<%if notes%>
-      <td>Bemerkungen:</td>
-      <td><%notes%></td>
-<%end notes%>
-      <td align=right>
-      Alle Preise in <b><%currency%></b>
-      <br><%shippingpoint%>
-      </td>
-    </tr>
-
-  </table>
-  </td>
-</tr>
-
-<tr><td>&nbsp;</td></tr>
-  
-<tr>
-  <td>
-  <table width=100%>
-  <tr valign=top>
-    <td><font size=-3>
-    Rechnung ist bezahlbar innerhalb von <%terms%> Tagen.
-    Nach dem <%duedate%> werden Zinsen zu einem
-    monatlichen Satz von 1.5% verrechnet.
-    Waren bleiben im Besitz von <%company%> bis die Rechnung voll bezahlt ist.
-    Rückgaben werden mit 10% Lagergebühren belastet. Beschädigte Waren
-    und Waren ohne eine Rückgabenummer werden nicht entgegengenommen.
-    </font>
-    </td>
-    <td width=150>
-    X <hr noshade>
-    </td>
-  </tr>
-  </table>
-  </td>
-</tr>
-
-<%foreach tax%>
-  <tr>
-    <th colspan=7 align=left><font size=-2><%taxdescription%> Registration <%taxnumber%></th>
-  </tr>
-<%end tax%>
-
-<%if taxincluded%>
-  <tr>
-    <th colspan=7 align=left><font size=-2>Steuern sind im Preis inbegriffen.</th>
-  </tr>
-<%end taxincluded%>
-
-<!-- business number
-  <tr>
-    <th colspan=7 align=left><font size=-2>Business Number: <%businessnumber%></font></th>
-  </tr>
--->
-
-  <tr>
-    <th colspan=7 align=left>
-    <hr>
-    <br>Bankverbindung
-    <br>Bank
-    <br>Bankleitzahl
-    <br>Konto No.
-    </td>
-  </tr>
-
-</table>
-
-</td>
-</tr>
-</table>
-
-</body>
-</html>
-
diff --git a/templates/print/German/invoice.odt b/templates/print/German/invoice.odt
deleted file mode 100644 (file)
index 822ba90..0000000
Binary files a/templates/print/German/invoice.odt and /dev/null differ
diff --git a/templates/print/German/invoice.tex b/templates/print/German/invoice.tex
deleted file mode 100644 (file)
index 27487a3..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage{eurosym}
-\usepackage{tabularx}
-\usepackage{ifthen}
-\usepackage[utf8]{inputenc}
-\begin{document}
-
-\setlength{\parindent}{0cm}
-
-\pagestyle{empty}
-
-\newlength{\descrwidth}\setlength{\descrwidth}{10cm}
-
-\fontfamily{cmss}\fontshape{n}\selectfont
-
-\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-\vspace*{1.5cm}
-
-\begin{minipage}{8cm}
-  <%name%>
-
-  <%street%>
-
-  <%zipcode%> <%city%>
-
-  <%country%>
-\end{minipage}
-\hfill
-\begin{minipage}{6cm}
-  \rightline{\LARGE\textbf{\textit{Rechnung}}} \vspace*{0.2cm}
-  \rightline{\large\textbf{\textit{Nr. <%invnumber%>% \vspace*{0.2cm}
-  }}}
-
-  Rechnungsdatum:\hfill <%invdate%>
-
-  Auftrag-Nr:\hfill <%ordnumber%>
-
-  Telefon:\hfill <%phone%>
-
-  Telefax:\hfill <%fax%>
-
-  Ansprechpartner:\hfill <%employee%>
-\end{minipage}
-
-\vspace*{0.5cm}
-
-Ihre Bestellung <%cusordnumber%> vom <%orddate%>
-% \hfill
-
-
-\vspace*{0.5cm}
-
-Sehr geehrte Damen und Herren,
-
-für unsere erbrachten Lieferungen und Leistungen erlauben wir uns,
-folgende Positionen in Rechnung zu stellen.
-
-\vspace{0.5cm}
-
-\begin{tabularx}{\textwidth}{lrXrr}
-  \hline
-  \textbf{Pos} & \textbf{Menge} & \textbf{Bezeichnung} &
-  \textbf{E-Preis/\euro} & \textbf{G-Preis/\euro} \\
-  \hline
-  <%foreach number%>
-    <%runningnumber%> & <%qty%> <%unit%> & \raggedright <%description%> &
-    <%sellprice%> \euro & <%linetotal%> \euro \\
-    <%if discount_sub%> & Zwischensumme: &  & <%discount_sub%> \euro  & <%end if%>\\
-  <%end number%>\hline
-  \multicolumn{4}{l}{Nettobetrag} & <%subtotal%> \euro \\
-  <%foreach tax%>
-  \multicolumn{4}{l}{<%taxdescription%>} & <%tax%> \euro \\
-  <%end tax%>
-  \multicolumn{4}{l}{\textbf{Endbetrag}} & \textbf{<%invtotal%> \euro} \\ \hline
-\end{tabularx}
-
-\vspace{1cm}
-\ifthenelse{\equal{<%deliverydate%>}{}}{Das Leistungsdatum entspricht, soweit nicht anders angegeben, dem Rechnungsdatum.}{Liefertermin: <%deliverydate%>} \\
-Zahlbar bis <%duedate%> in Summe <%invtotal%> \euro\ ohne Abzüge.
-
-\end{document}
-
diff --git a/templates/print/German/pick_list.html b/templates/print/German/pick_list.html
deleted file mode 100644 (file)
index 0de88eb..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-
-<body bgcolor=ffffff>
-
-<table width=100%>
-  <tr>
-    <td width=10>&nbsp;</td>
-    
-    <td>
-      <table width=100%>
-       <tr>
-         <td>
-         <h4>
-         <%company%>
-         <br><%address%>
-         </h4>
-         </td>
-
-         <th><img src=http://localhost/lx-erp/lx-office-erp.png border=0 width=64 height=58></th>
-
-         <td align=right>
-         <h4>
-         Tel: <%tel%>
-         <br>Fax: <%fax%>
-         </h4>
-         </td>
-       </tr>
-
-       <tr>
-         <th colspan=3>
-           <h4>S A M M E L L I S T E</h4>
-         </th>
-       </tr>
-      </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-
-    <td>
-      <table width=100% callspacing=0 cellpadding=0>
-        <tr bgcolor=000000>
-         <th width=50% align=left><font color=ffffff>Lieferanschrift:</th>
-         <th width=50%>&nbsp;</th>
-       </tr>
-
-       <tr valign=top>
-         <td><%shiptoname%>
-         <br><%shiptostreet%>
-         <br><%shiptozipcode%>
-         <br><%shiptocity%>
-         <br><%shiptocountry%>
-         </td>
-
-         <td>
-         <%if shiptocontact%>
-         <br>Kontakt: <%shiptocontact%>
-         <%end shiptocontact%>
-
-         <%if shiptophone%>
-         <br>Tel: <%shiptophone%>
-         <%end shiptophone%>
-
-         <%if shiptofax%>
-         <br>Fax: <%shiptofax%>
-         <%end shiptofax%>
-
-         <%shiptoemail%>
-         </td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-
-  <tr height=5></tr>
-
-  <tr>
-    <td>&nbsp;</td>
-
-    <td>
-      <table width=100% border=1>
-        <tr>
-         <th width=17% align=left>BestellNr. #</th>
-         <th width=17% align=left>Datum</th>
-         <th width=17% align=left nowrap>Kontakt</th>
-         <%if warehouse%>
-         <th width=17% align=left>Lager</th>
-         <%end warehouse%>
-         <th width=17% align=left>Versandort</th>
-         <th width=15% align=left>Transportmittel</th>
-       </tr>
-
-        <tr>
-         <td><%ordnumber%>&nbsp;</td>
-
-         <%if shippingdate%>
-         <td><%shippingdate%></td>
-         <%end shippingdate%>
-
-         <%if not shippingdate%>
-         <td><%orddate%></td>
-         <%end shippingdate%>
-
-         <td><%employee%>&nbsp;</td>
-
-         <%if warehouse%>
-         <td><%warehouse%>&nbsp;</td>
-         <%end warehouse%>
-
-         <td><%shippingpoint%>&nbsp;</td>
-         <td><%shipvia%>&nbsp;</td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-
-    <td>
-      <table width=100%>
-       <tr bgcolor=000000>
-         <th align=left><font color=ffffff>Pos</th>
-         <th align=left><font color=ffffff>Nummer</th>
-         <th align=left><font color=ffffff>Beschreibung</th>
-         <th><font color=ffffff>Menge</th>
-         <th><font color=ffffff>geliefert</th>
-         <th>&nbsp;</th>
-         <th><font color=ffffff>Lagerplatz</th>
-       </tr>
-
-        <%foreach number%>
-       <tr valign=top>
-         <td><%runningnumber%>
-         <td><%number%></td>
-         <td><%description%></td>
-         <td align=right><%qty%></td>
-         <td align=right>[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</td>
-         <td><%unit%></td>
-         <td align=right><%bin%></td>
-       </tr>
-       <%end number%>
-      </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-
-    <td><hr noshade></td>
-  </tr>
-
-</table>
-
diff --git a/templates/print/German/pick_list.tex b/templates/print/German/pick_list.tex
deleted file mode 100644 (file)
index 6da629b..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage[frame]{xy}
-\usepackage{tabularx}
-\usepackage[utf8]{inputenc}
-\usepackage{graphicx}
-\setlength{\voffset}{0.5cm}
-\setlength{\hoffset}{-2.0cm}
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0.5cm}
-\setlength{\headsep}{1cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{1.0cm}
-\setlength{\evensidemargin}{1.0cm}
-\setlength{\textwidth}{17cm}
-\setlength{\textheight}{24.7cm}
-\setlength{\footskip}{1cm}
-\setlength{\parindent}{0pt}
-\renewcommand{\baselinestretch}{1}
-
-\begin{document}
-
-\newlength{\descrwidth}\setlength{\descrwidth}{9cm}
-\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-\pagestyle{myheadings}
-\thispagestyle{empty}
-
-\vspace*{-1.3cm}
-
-\parbox{\textwidth}{
-  \parbox[b]{.42\textwidth}{
-    <%company%>
-
-    <%address%>
-  }\hfill
-  \begin{tabular}[b]{rr@{}}
-  Tel & <%tel%>\\
-  Fax & <%fax%>
-  \end{tabular}
-
-  \rule[1.5ex]{\textwidth}{0.5pt}
-}
-
-
-\vspace*{0.5cm}
-
-\parbox[t]{1cm}{\hfill}
-\parbox[t]{.5\textwidth}{
-  \textbf{Lieferanschrift}
-} \hfill
-
-\vspace{0.7cm}
-
-\parbox[t]{1cm}{\hfill}
-\parbox[t]{.5\textwidth}{
-
-<%shiptoname%> \\
-<%shiptostreet%> \\
-<%shiptozipcode%> \\
-<%shiptocity%> \\
-<%shiptocountry%>
-}
-\parbox[t]{.4\textwidth}{
-  <%shiptocontact%>
-
-  <%if shiptophone%>
-  Tel: <%shiptophone%>
-  <%end shiptophone%>
-
-  <%if shiptofax%>
-  Fax: <%shiptofax%>
-  <%end shiptofax%>
-
-  <%shiptoemail%>
-}
-\hfill
-
-\vspace{1cm}
-
-\textbf{S A M M E L L I S T E}
-\hfill
-
-\vspace{1cm}
-
-\begin{tabularx}{\textwidth}{*{6}{|X}|} \hline
-  \textbf{BestellNr. \#} & \textbf{Datum} & \textbf{Kontakt}
-  <%if warehouse%>
-  & \textbf{Lager}
-  <%end warehouse%>
-  & \textbf{Lagerplatz} & \textbf{Lieferung mit} \\ [0.5em]
-  \hline
-  <%ordnumber%>
-  <%if shippingdate%>
-  & <%shippingdate%>
-  <%end shippingdate%>
-  <%if not shippingdate%>
-  & <%orddate%>
-  <%end shippingdate%>
-  & <%employee%>
-  <%if warehouse%>
-  & <%warehouse%>
-  <%end warehouse%>
-  & <%shippingpoint%> & <%shipvia%> \\
-  \hline
-\end{tabularx}
-
-\vspace{1cm}
-
-\begin{tabular*}{\textwidth}{@{}rlp{\descrwidth}@{\extracolsep\fill}rcll@{}}
-  \textbf{Pos} & \textbf{Nummer} & \textbf{Beschreibung} &
-  \textbf{Menge} & \textbf{Lagerausgang} & & \textbf{Lagerplatz} \\
-<%foreach number%>
-  <%runningnumber%> & <%number%> & <%description%> &
-  <%qty%> & [\hspace{1cm}] & <%unit%> & <%bin%> \\
-<%end number%>
-\end{tabular*}
-
-
-\parbox{\textwidth}{
-\rule{\textwidth}{2pt}
-}
-
-\end{document}
-
diff --git a/templates/print/German/purchase_order.html b/templates/print/German/purchase_order.html
deleted file mode 100644 (file)
index e83c67a..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-
-<body bgcolor=ffffff>
-
-<table width=100%>
-<tr valign=bottom>
-  <td width=10>&nbsp;</td>
-  <td>
-  
-  <table width=100%>
-  <tr>
-    <td>
-      <h4>
-      <%company%>
-      <br><%address%>
-      </h4>
-    </td>
-
-    <td align=right>
-      <h4>
-      Telefon <%tel%>
-      <br>Telefax <%fax%>
-      </h4>
-    </td>
-  </tr>
-
-  <tr>
-    <th colspan=3>
-      <h4>B E S T E L L U N G</h4>
-    </th>
-  </tr>
-
-  </table>
-
-
-  <table width=100% callspacing=0 cellpadding=0>
-    
-  <tr>
-    <td align=right>
-    <table>
-    <tr>
-      <th align=right>Bestellungsdatum</th><td width=10>&nbsp;</td><td><%orddate%></td>
-    </tr>
-  
-    <tr>
-      <th align=right>Lieferbar bis</th><td width=10>&nbsp;</td><td><%reqdate%></td>
-    </tr>
-
-    <tr>
-      <th align=right>Bestellnummer</th><td>&nbsp;</td><td><%ordnumber%></td></tr>
-    </tr>
-  
-    <tr>
-      <td>&nbsp;</td>
-    </tr>
-    </td>
-    </table>
-  </tr>
-
-  <tr>
-    <td>
-    <table width=100%>
-    <tr bgcolor=000000>
-      <th align=left><font color=ffffff>An:</th>
-    </tr>
-
-    <tr>
-      <td><%name%>
-      <br><%street%>
-      <br><%zipcode%>
-      <br><%city%>
-      <br><%country%>
-      </td>
-    </tr>
-    </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-  </tr>
-  
-  <tr>
-    <td>
-    <table width=100%>
-    <tr bgcolor=000000>
-<!--      <th align=right><font color=ffffff>No.</th>  -->
-      <th align=left><font color=ffffff>Nummer</th>
-      <th align=left><font color=ffffff>Artikel</th>
-      <th><font color=ffffff>Anz</th>
-      <th>&nbsp;</th>
-      <th><font color=ffffff>Preis</th>
-      <th><font color=ffffff>Total</th>
-    </tr>
-
-<%foreach number%>
-    <tr valign=top>
-<!--      <td align=right><%runningnumber%>.</td>
-adjust the colspan if you include this to shift subtotal one to the right
--->
-      <td><%number%></td>
-      <td><%description%></td>
-      <td align=right><%qty%></td>
-      <td><%unit%></td>
-      <td align=right><%sellprice%></td>
-      <td align=right><%linetotal%></td>
-    </tr>
-<%end number%>
-
-    <tr>
-      <td colspan=6><hr noshade></td>
-    </tr>
-    
-    <tr>
-      <th colspan=4 align=right>Zwischensumme</th>
-      <td colspan=2 align=right><%subtotal%></td>
-    </tr>
-
-<%foreach tax%>
-    <tr>
-      <th colspan=4 align=right><%taxdescription%> @ <%taxrate%> %</th>
-      <td colspan=2 align=right><%tax%></td>
-    </tr>
-<%end tax%>
-
-    <tr>
-      <td colspan=2>&nbsp;</td>
-      <td colspan=4><hr noshade></td>
-    </tr>
-
-    <tr>
-      <td colspan=2>Netto <b><%terms%></b> Tage</td>
-      <th colspan=2 align=right>Total</th>
-      <th colspan=2 align=right><%total%></th>
-    </tr>
-
-    <tr>
-      <td>&nbsp;</td>
-    </tr>
-
-    </table>
-    </td>
-  </tr>
-
-<tr>
-  <td>
-  <table width=100%>
-    <tr valign=top>
-<%if notes%>
-      <td>Bemerkungen</td>
-      <td><%notes%></td>
-<%end notes%>
-      <td align=right>
-      Alle Preise in <b><%currency%></b>
-      <br><%shippingpoint%>
-      </td>
-    </tr>
-
-  </table>
-  </td>
-</tr>
-
-<tr><td>&nbsp;</td></tr>
-  
-<tr>
-  <td>
-  <table width=100%>
-  <tr valign=top>
-    <td><font size=-3>
-    &nbsp;
-    </font>
-    </td>
-    <td width=150>
-    X <hr noshade>
-    </td>
-  </tr>
-  </table>
-  </td>
-</tr>
-
-</table>
-
-</td>
-</tr>
-</table>
-
-</body>
-</html>
-
diff --git a/templates/print/German/purchase_order.tex b/templates/print/German/purchase_order.tex
deleted file mode 100644 (file)
index 0e0bf39..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage{eurosym}
-\usepackage{tabularx}
-\usepackage[utf8]{inputenc}
-\begin{document}
-
-\thispagestyle{empty}
-
-\newlength{\descrwidth}\setlength{\descrwidth}{10cm}
-\setlength{\parindent}{0cm}
-
-\fontfamily{cmss}\fontshape{n}\selectfont
-
-\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-\vspace*{1.5cm}
-
-\begin{minipage}{8cm}
-  <%name%>
-
-  <%street%>
-
-  <%zipcode%> <%city%>
-
-  <%country%>
-\end{minipage}
-\hfill
-\begin{minipage}{6cm}
-  \rightline{\LARGE\textbf{\textit{Bestellung}}}
-  \rightline{\large\textbf{\textit{Nr. <%ordnumber%>%
-  }}}
-
-  Datum:\hfill <%orddate%>
-
-  Kunden-Nr:\hfill <%customernumber%>
-
-  Telefon:\hfill <%phone%>
-
-  Telefax:\hfill <%fax%>
-
-  Ansprechpartner:\hfill <%employee%>
-\end{minipage}
-
-\vspace*{0.5cm}
-
-
-Hiermit bestellen wir verbindlich folgende Positionen:
-\vspace{0.5cm}
-
-\begin{tabularx}{\textwidth}{lrXrr}
-  \hline
-  \textbf{Pos} & \textbf{Menge} & \textbf{Bezeichnung} &
-  \textbf{E-Preis/\euro} & \textbf{G-Preis/\euro} \\
-  \hline
-  <%foreach number%>
-    <%runningnumber%> & <%qty%> <%unit%> & \raggedright <%description%> &
-    <%sellprice%> \euro  & <%linetotal%> \euro \\
-  <%end number%> \hline
-  \multicolumn{4}{l}{Nettobetrag} & <%subtotal%> \euro\\
-  <%foreach tax%>
-    \multicolumn{4}{l}{<%taxdescription%>} & <%tax%>\euro \\
-  <%end tax%>
-  \multicolumn{4}{l}{\textbf{Endbetrag}} & \textbf{<%ordtotal%> \euro} \\
-\end{tabularx}
-\hrule
-
-\end{document}
-
diff --git a/templates/print/German/receipt.tex b/templates/print/German/receipt.tex
deleted file mode 100644 (file)
index 6086d45..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage[frame]{xy}
-\usepackage{tabularx}
-\usepackage[utf8]{inputenc}
-\setlength{\voffset}{0.4cm}
-\setlength{\hoffset}{-2.0cm}
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0.0cm}
-\setlength{\headsep}{1cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{1.0cm}
-\setlength{\evensidemargin}{1.0cm}
-\setlength{\textwidth}{17cm}
-\setlength{\textheight}{24.5cm}
-\setlength{\footskip}{1cm}
-\setlength{\parindent}{0pt}
-\renewcommand{\baselinestretch}{1}
-\begin{document}
-
-
-\fontfamily{cmss}\fontsize{9pt}{9pt}\selectfont
-
-\parbox[t]{12cm}{
-  <%company%>
-
-  <%address%>}
-\hfill
-\parbox[t]{6cm}{\hfill <%source%>}
-
-\vspace*{0.6cm}
-
-<%text_amount%> \dotfill <%decimal%>/100 \makebox[0.5cm]{\hfill}
-
-\vspace{0.5cm}
-
-\hfill <%datepaid%> \makebox[2cm]{\hfill} <%amount%>
-
-\vspace{0.5cm}
-
-<%name%>
-
-<%street%>
-
-<%zipcode%>
-
-<%city%>
-
-<%country%>
-
-\vspace{2.8cm}
-
-<%company%>
-
-\vspace{0.5cm}
-
-<%name%> \hfill <%datepaid%> \hfill <%source%>
-
-\vspace{0.5cm}
-\begin{tabularx}{\textwidth}{lXrr@{}}
-\textbf{Rechnung} & \textbf{Ausgestellt}
-  & \textbf{Fällig} & \textbf{Verrechnet} \\
-<%foreach invnumber%>
-<%invnumber%> & <%invdate%> \dotfill
-  & <%due%> & <%paid%> \\
-<%end invnumber%>
-\end{tabularx}
-
-\vfill
-
-\end{document}
-
diff --git a/templates/print/German/request_quotation.html b/templates/print/German/request_quotation.html
deleted file mode 100644 (file)
index 6ff0036..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-
-<body bgcolor=ffffff>
-
-<table width=100%>
-<tr valign=bottom>
-  <td width=10>&nbsp;</td>
-  <td>
-  
-  <table width=100%>
-  <tr>
-    <td>
-      <h4>
-      <%company%>
-      <br><%address%>
-      </h4>
-    </td>
-
-    <td><img src=http://localhost/lx-erp/lx-office-erp.png border=0 width=64 height=58>
-    </td>
-
-    <td align=right>
-      <h4>
-      Tel: <%tel%>
-      <br>Fax: <%fax%>
-      </h4>
-    </td>
-  </tr>
-
-  <tr>
-    <th colspan=3>
-      <h4>A N F R A G E</h4>
-    </th>
-  </tr>
-
-  </table>
-
-
-  <table width=100% callspacing=0 cellpadding=0>
-
-  <tr>
-    <td>
-    <table width=100%>
-    <tr bgcolor=000000>
-      <th align=left width=50%><font color=ffffff>Rechnungsanschrift:</th>
-      <th align=left width=50%><font color=ffffff>Lieferanschrift:</th>
-    </tr>
-
-    <tr valign=top>
-      <td><%name%>
-      <br><%street%>
-      <br><%zipcode%>
-      <br><%city%>
-      <br><%country%>
-<br>
-<%if contact%>
-<br>Kontakt: <%contact%>
-<%end contact%>
-<%if vendorphone%>
-<br>Tel: <%vendorphone%>
-<%end vendorphone%>
-<%if vendorfax%>
-<br>Fax: <%vendorfax%>
-<%end vendorfax%>
-      </td>
-
-      <td><%shiptoname%>
-      <br><%shiptostreet%>
-      <br><%shiptozipcode%>
-      <br><%shiptocity%>
-      <br><%shiptocountry%>
-<br>
-<%if shiptocontact%>
-<br>Kontakt: <%shiptocontact%>
-<%end shiptocontact%>
-<%if shiptophone%>
-<br>Tel: <%shiptophone%>
-<%end shiptophone%>
-<%if shiptofax%>
-<br>Fax: <%shiptofax%>
-<%end shiptofax%>
-    </tr>
-    </table>
-    </td>
-  </tr>
-
-  <tr><td>&nbsp;</td></tr>
-
-  <tr>
-    <td colspan=2>
-    <table width=100% border=1>
-    <tr>
-      <th width=17% align=left>AnfrageNr. #</th>
-      <th width=17% align=left>Datum</th>
-      <th width=17% align=left>Erforderlich am</th>
-      <th width=17% align=left>Kontakt</th>
-      <th width=17% align=left>Lagerplatz</th>
-      <th width=15% align=left>Versand mit:</th>
-    </tr>
-
-    <tr>
-      <td><%quonumber%></td>
-      <td><%quodate%></td>
-      <td><%reqdate%></td>
-      <td><%employee%></td>
-      <td><%shippingpoint%></td>
-      <td><%shipvia%></td>
-    </tr>
-    </table>
-    </td>
-  </tr>
-
-  <tr height="10"></tr>
-
-  <tr>
-    <td>Bitte teilen Sie uns Preise und Lieferzeit für folgende Artikel mit:</td>
-  </tr>
-
-  <tr height="10"></tr>
-
-  <tr>
-    <td>
-    <table width=100%>
-    <tr>
-<!--      <th align=right>No.</th>  -->
-      <th align=left>ArtNr.</th>
-      <th align=left>Beschreibung</th>
-      <th>Menge</th>
-      <th>&nbsp;</th>
-      <th>Lieferung</th>
-      <th>Stückpreis</th>
-      <th>Gesamtpreis</th>
-    </tr>
-
-<%foreach number%>
-    <tr valign=top>
-<!--      <td align=right><%runningnumber%>.</td>
-other per line item variables available <%reqdate%>
-adjust the colspan if you include this to shift subtotal one to the right
--->
-      <td><%number%></td>
-      <td><%description%></td>
-      <td align=right><%qty%></td>
-      <td><%unit%></td>
-
-    </tr>
-<%end number%>
-
-    <tr>
-      <td colspan=7><hr noshade></td>
-    </tr>
-
-    </table>
-    </td>
-  </tr>
-
-<tr>
-  <td>
-  <table width=100%>
-<%if notes%>
-    <tr valign=top>
-      <td>Bemerkungen</td>
-      <td><%notes%></td>
-    </tr>
-<%end notes%>
-
-  </table>
-  </td>
-</tr>
-
-<tr><td>&nbsp;</td></tr>
-  
-<tr>
-  <td>
-  <table width=100%>
-  <tr valign=top>
-    <td width=70%>&nbsp;</td>
-
-    <td width=30%>
-    X <hr noshade>
-    </td>
-  </tr>
-  </table>
-  </td>
-</tr>
-
-</table>
-
-</td>
-</tr>
-</table>
-
-</body>
-</html>
-
diff --git a/templates/print/German/request_quotation.tex b/templates/print/German/request_quotation.tex
deleted file mode 100644 (file)
index d3ba6f5..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage[frame]{xy}
-\usepackage{tabularx}
-\usepackage{graphicx}
-\usepackage{german}
-\usepackage[utf8]{inputenc}
-\setlength{\voffset}{0.5cm}
-\setlength{\hoffset}{-2.0cm}
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0.5cm}
-\setlength{\headsep}{1cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{1.0cm}
-\setlength{\evensidemargin}{1.0cm}
-\setlength{\textwidth}{17cm}
-\setlength{\textheight}{24.7cm}
-\setlength{\footskip}{1cm}
-\setlength{\parindent}{0pt}
-\renewcommand{\baselinestretch}{1}
-\begin{document}
-
-\newlength{\descrwidth}\setlength{\descrwidth}{12cm}
-\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-\pagestyle{myheadings}
-\thispagestyle{empty}
-
-\vspace*{-1.3cm}
-
-\parbox{\textwidth}{
-  \parbox[b]{.42\textwidth}{
-    <%company%>
-
-    <%address%>
-  }\hfill
-  \begin{tabular}[b]{rr@{}}
-  Tel & <%tel%>\\
-  Fax & <%fax%>
-  \end{tabular}
-
-  \rule[1.5ex]{\textwidth}{0.5pt}
-}
-
-
-\vspace*{0.5cm}
-
-\parbox[t]{1cm}{\hfill}
-\parbox[t]{.45\textwidth}{
-\textbf{To}
-\vspace{0.7cm}
-
-<%name%>
-
-<%street%>
-
-<%zipcode%>
-
-<%city%>
-
-<%country%>
-
-\vspace{0.3cm}
-
-<%if contact%>
-<%contact%>
-<%end contact%>
-
-\vspace{0.2cm}
-
-<%if vendorphone%>
-Tel: <%vendorphone%>
-<%end vendorphone%>
-
-<%if vendorfax%>
-Fax: <%vendorfax%>
-<%end vendorfax%>
-
-<%email%>
-}
-\parbox[t]{.45\textwidth}{
-\textbf{Lieferanschrift}
-\vspace{0.7cm}
-
-<%shiptoname%>
-
-<%shiptostreet%>
-
-<%shiptozipcode%>
-
-<%shiptocity%>
-
-<%shiptocountry%>
-
-\vspace{0.3cm}
-
-<%if shiptocontact%>
-<%shiptocontact%>
-<%end shiptocontact%>
-
-<%if shiptophone%>
-Tel: <%shiptophone%>
-<%end shiptophone%>
-
-<%if shiptofax%>
-Fax: <%shiptofax%>
-<%end shiptofax%>
-
-<%shiptoemail%>
-}
-\hfill
-
-\vspace{1cm}
-
-\textbf{A N F R A G E}
-\hfill
-
-\vspace{1cm}
-
-\begin{tabularx}{\textwidth}{*{6}{|X}|} \hline
-  \textbf{AnfrageNr. \#} & \textbf{Datum} & \textbf{Benötigt am} & \textbf{Kontakt} & \textbf{Lagerplatz} & \textbf{Lieferung mit} \\ [0.5ex]
-  \hline
-  <%quonumber%> & <%quodate%> & <%reqdate%> & <%employee%> & <%shippingpoint%> & <%shipvia%> \\
-  \hline
-\end{tabularx}
-
-\vspace{1cm}
-
-Bitte nennen Sie uns für folgende Artikel Preis und Liefertermin:
-
-\vspace{1cm}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rl}
-  \textbf{Nummer} & \textbf{Beschreibung} & \textbf{Menge} & \\
-<%foreach number%>
-  <%number%> & <%description%> & <%qty%> & <%unit%> \\
-<%end number%>
-\end{tabular*}
-
-
-\parbox{\textwidth}{
-\rule{\textwidth}{2pt}
-
-\hfill
-
-<%if notes%>
-  <%notes%>
-<%end if%>
-
-}
-
-\end{document}
-
diff --git a/templates/print/German/sales_delivery_order.tex b/templates/print/German/sales_delivery_order.tex
deleted file mode 100644 (file)
index c819d76..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage{eurosym}
-\usepackage{tabularx}
-\usepackage{ifthen}
-\usepackage[utf8]{inputenc}
-\begin{document}
-
-\setlength{\parindent}{0cm}
-
-\pagestyle{empty}
-
-\newlength{\descrwidth}\setlength{\descrwidth}{10cm}
-
-\fontfamily{cmss}\fontshape{n}\selectfont
-
-\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-\vspace*{1.5cm}
-
-\begin{minipage}{8cm}
-  <%name%>
-
-  <%street%>
-
-  <%zipcode%> <%city%>
-
-  <%country%>
-\end{minipage}
-\hfill
-\begin{minipage}{6cm}
-  \rightline{\LARGE\textbf{\textit{Lieferschein}}} \vspace*{0.2cm}
-  \rightline{\large\textbf{\textit{Nr. <%donumber%>% \vspace*{0.2cm}
-  }}}
-
-  Lieferscheindatum:\hfill <%dodate%>
-
-  Kunden-Nr:\hfill <%customernumber%>
-
-  Telefon:\hfill <%phone%>
-
-  Telefax:\hfill <%fax%>
-
-  Ansprechpartner:\hfill <%employee%>
-\end{minipage}
-
-\vspace*{0.5cm}
-
-\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rl@{}}
-  \textbf{Nummer} & \textbf{Artikel} & \textbf{Anz} & \textbf{Einh}  \\
-
-<%foreach number%>
-  <%number%> & <%description%> & <%qty%> & <%unit%>   \\
-    & <%serialnumber%>  & & \\
-<%end number%>
-\end{tabular*}
-
-\vspace{1cm}
-<%if deliverydate%>
-        Die Auslieferung/Fertigstellung erfolgte am : <%deliverydate%>
-<%end if%>
-<%if notes%>
-  <%notes%>
-<%end if%>
-
-\end{document}
-
diff --git a/templates/print/German/sales_order.html b/templates/print/German/sales_order.html
deleted file mode 100644 (file)
index 4cbe20a..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-
-<body bgcolor=ffffff>
-
-<table width=100%>
-<tr valign=bottom>
-  <td width=10>&nbsp;</td>
-  <td>
-  
-  <table width=100%>
-  <tr>
-    <td>
-      <h4>
-      <%company%>
-      <br><%address%>
-      </h4>
-    </td>
-
-    <td align=right>
-      <h4>
-      Telefon <%tel%>
-      <br>Telefax <%fax%>
-      </h4>
-    </td>
-  </tr>
-
-  <tr>
-    <th colspan=3>
-      <h4>B E S T E L L U N G</h4>
-    </th>
-  </tr>
-
-  </table>
-
-
-  <table width=100% callspacing=0 cellpadding=0>
-    
-  <tr>
-    <td align=right>
-    <table>
-    <tr>
-      <th align=right>Bestelldatum</th><td width=10>&nbsp;</td><td><%orddate%></td>
-    </tr>
-  
-    <tr>
-      <th align=right>Lieferbar bei</th><td width=10>&nbsp;</td><td><%reqdate%></td>
-    </tr>
-
-    <tr>
-      <th align=right>Bestellnummer</th><td>&nbsp;</td><td><%ordnumber%></td></tr>
-    </tr>
-  
-    <tr>
-      <td>&nbsp;</td>
-    </tr>
-    </td>
-    </table>
-  </tr>
-
-  <tr>
-    <td>
-    <table width=100%>
-    <tr bgcolor=000000>
-      <th align=left><font color=ffffff>Verrechnet An:</th>
-      <th align=left><font color=ffffff>Lieferaddresse:</th>
-    </tr>
-
-    <tr>
-      <td><%name%>
-      <br><%street%>
-      <br><%zipcode%>
-      <br><%city%>
-      <br><%country%>
-      </td>
-
-      <td><%shiptoname%>
-      <br><%shiptostreet%>
-      <br><%shiptozipcode%>
-      <br><%shiptocity%>
-      <br><%shiptocountry%>
-      </td>
-    </tr>
-    </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-  </tr>
-  
-  <tr>
-    <td>
-    <table width=100%>
-    <tr bgcolor=000000>
-<!--      <th align=right><font color=ffffff>No.</th>  -->
-      <th align=left><font color=ffffff>Nummer</th>
-      <th align=left><font color=ffffff>Artikel</th>
-      <th><font color=ffffff>Anz</th>
-      <th>&nbsp;</th>
-      <th><font color=ffffff>Preis</th>
-      <th><font color=ffffff>Rab</th>
-      <th><font color=ffffff>Total</th>
-    </tr>
-
-<%foreach number%>
-    <tr valign=top>
-<!--      <td align=right><%runningnumber%>.</td>
-adjust the colspan if you include this to shift subtotal one to the right
--->
-      <td><%number%></td>
-      <td><%description%></td>
-      <td align=right><%qty%></td>
-      <td><%unit%></td>
-      <td align=right><%sellprice%></td>
-      <td align=right><%discount%></td>
-      <td align=right><%linetotal%></td>
-    </tr>
-<%end number%>
-
-    <tr>
-      <td colspan=7><hr noshade></td>
-    </tr>
-    
-<%if taxincluded%>
-    <tr>
-      <th colspan=5 align=right>Total</th>
-      <td colspan=2 align=right><%ordtotal%></td>
-    </tr>
-<%end taxincluded%>
-
-<%if not taxincluded%>
-    <tr>
-      <th colspan=5 align=right>Zwischensumme</th>
-      <td colspan=2 align=right><%subtotal%></td>
-    </tr>
-<%end taxincluded%>
-
-<%foreach tax%>
-    <tr>
-      <th colspan=5 align=right><%taxdescription%> auf <%taxbase%> @ <%taxrate%> %</th>
-      <td colspan=2 align=right><%tax%></td>
-    </tr>
-<%end tax%>
-
-    <tr>
-      <td colspan=2>&nbsp;</td>
-      <td colspan=5><hr noshade></td>
-    </tr>
-
-    <tr>
-      <td colspan=3>Netto <b><%terms%></b> Tage</td>
-      <th colspan=2 align=right>Total</th>
-      <th colspan=2 align=right><%ordtotal%></th>
-    </tr>
-<%if taxincluded%>
-    <tr>
-      <td colspan=3>Steuern sind im Preis inbegriffen</td>
-    </tr>
-<%end taxincluded%>
-
-    <tr>
-      <td>&nbsp;</td>
-    </tr>
-
-    </table>
-    </td>
-  </tr>
-
-<tr>
-  <td>
-  <table width=100%>
-    <tr valign=top>
-<%if notes%>
-      <td>Bemerkungen</td>
-      <td><%notes%></td>
-<%end notes%>
-      <td align=right>
-      Alle Preise in <b><%currency%></b>
-      <br><%shippingpoint%>
-      </td>
-    </tr>
-
-  </table>
-  </td>
-</tr>
-
-<tr><td>&nbsp;</td></tr>
-  
-<tr>
-  <td>
-  <table width=100%>
-  <tr valign=top>
-    <td><font size=-3>
-    Spezialprodukte werden nicht zurückgenommen. Für alle anderen Waren
-    wird eine 10% Stornogebühr verrechnet.
-    </font>
-    </td>
-    <td width=150>
-    X <hr noshade>
-    </td>
-  </tr>
-  </table>
-  </td>
-</tr>
-
-</table>
-
-</td>
-</tr>
-</table>
-
-</body>
-</html>
-
diff --git a/templates/print/German/sales_order.tex b/templates/print/German/sales_order.tex
deleted file mode 100644 (file)
index 7cc8d82..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage{eurosym}
-\usepackage{tabularx}
-\usepackage[utf8]{inputenc}
-\begin{document}
-
-\thispagestyle{empty}
-
-\newlength{\descrwidth}\setlength{\descrwidth}{10cm}
-\setlength{\parindent}{0cm}
-
-\fontfamily{cmss}\fontshape{n}\selectfont
-
-\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-\vspace*{1.5cm}
-
-\begin{minipage}{8cm}
-  <%name%>
-
-  <%street%>
-
-  <%zipcode%> <%city%>
-
-  <%country%>
-\end{minipage}
-\hfill
-\begin{minipage}{6cm}
-  \rightline{\LARGE\textbf{\textit{Auftragsbestätigung}}} \vspace*{0.2cm}
-  \rightline{\large\textbf{\textit{Nr. <%ordnumber%>%
-  }}} \vspace*{0.2cm}
-
-  Datum:\hfill <%orddate%>
-
-  Kunden-Nr:\hfill <%customernumber%>
-
-  Telefon:\hfill <%phone%>
-
-  Telefax:\hfill <%fax%>
-
-  Ansprechpartner:\hfill <%employee%>
-\end{minipage}
-
-\vspace*{0.5cm}
-
-\hfill
-
-\vspace{0.5cm}
-
-\begin{tabularx}{\textwidth}{lrXrr}
-  \hline
-  \textbf{Pos} & \textbf{Menge} & \textbf{Bezeichnung} &
-  \textbf{E-Preis/\euro} & \textbf{G-Preis/\euro} \\
-  \hline
-  <%foreach number%>
-    <%runningnumber%> & <%qty%> <%unit%> & \raggedright <%description%> &
-    <%sellprice%> \euro  & <%linetotal%> \euro \\
-  <%end number%> \hline
-  \multicolumn{4}{l}{Nettobetrag} & <%subtotal%> \euro\\
-  <%foreach tax%>
-    \multicolumn{4}{l}{<%taxdescription%>} & <%tax%>\euro \\
-  <%end tax%>
-  \multicolumn{4}{l}{\textbf{Endbetrag}} & \textbf{<%ordtotal%> \euro} \\
-\end{tabularx}
-\hrule
-
-\vspace{1cm}
-Vereinbarter Liefertermin: <%reqdate%> \\ \\
-\textit{Bitte kontrollieren Sie alle Positionen auf Übereinstimmung
-  mit Ihrer Bestellung! Abweichungen teilen Sie innerhalb von 3 Tagen
-  mit!} \\ \\
-
-\end{document}
-
diff --git a/templates/print/German/sales_quotation.html b/templates/print/German/sales_quotation.html
deleted file mode 100644 (file)
index 1380631..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-
-<body bgcolor=ffffff>
-
-<table width=100%>
-<tr valign=bottom>
-  <td width=10>&nbsp;</td>
-  <td>
-  
-  <table width=100%>
-  <tr valign=top>
-    <td>
-      <h4>
-      <%company%>
-      <br><%address%>
-      </h4>
-    </td>
-
-    <th><img src=http://localhost/lx-erp/lx-office-erp.png border=0 width=64 height=58></th>
-
-    <td align=right>
-      <h4>
-      Tel: <%tel%>
-      <br>Fax: <%fax%>
-      </h4>
-    </td>
-  </tr>
-
-<tr><td colspan=3>&nbsp;</td></tr>
-
-  <tr>
-    <th colspan=3>
-      <h4>A N G E B O T</h4>
-    </th>
-  </tr>
-
-  </table>
-
-  <table width=100% callspacing=0 cellpadding=0>
-
-  <tr>
-    <td>
-    <table width=100%>
-
-    <tr valign=top>
-      <td><%name%>
-      <br><%street%>
-      <br><%zipcode%>
-      <br><%city%>
-      <br><%country%>
-<br>
-<%if contact%>
-<br>Kontakt: <%contact%>
-<%end contact%>
-
-<%if customerphone%>
-<br>Tel: <%customerphone%>
-<%end customerphone%>
-
-<%if customerfax%>
-<br>Fax: <%customerfax%>
-<%end customerfax%>
-
-<%if email%>
-<br><%email%>
-<%end email%>
-      </td>
-
-    </tr>
-    </table>
-    </td>
-  </tr>
-
-  <tr><td>&nbsp;</td></tr>
-
-  <tr>
-    <td colspan=2>
-      <table width=100% border=1>
-        <tr>
-         <th width=17% align=left nowrap>Nummer</th>
-         <th width=17% align=left>Datum</th>
-         <th width=17% align=left>Gültig bis</th>
-         <th width=17% align=left nowrap>Kontakt</th>
-         <th width=17% align=left nowrap>Lagerplatz</th>
-         <th width=15% align=left nowrap>Lieferung mit</th>
-       </tr>
-
-       <tr>
-         <td><%quonumber%></td>
-         <td><%quodate%></td>
-         <td><%reqdate%></td>
-         <td><%employee%></td>
-         <td><%shippingpoint%></td>
-         <td><%shipvia%></td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-
-  <tr>
-    <td>&nbsp;</td>
-  </tr>
-
-  <tr>
-    <td>
-    <table width=100%>
-    <tr bgcolor=000000>
-      <th align=right><font color=ffffff>Nr.</th>
-      <th align=left><font color=ffffff>Artikelnummer</th>
-      <th align=left><font color=ffffff>Beschreibung</th>
-      <th><font color=ffffff>Menge</th>
-      <th>&nbsp;</th>
-      <th><font color=ffffff>Preis</th>
-      <th><font color=ffffff>Rabatt</th>
-      <th><font color=ffffff>Gesamtpreis</th>
-    </tr>
-
-<%foreach number%>
-    <tr valign=top>
-    <td align=right><%runningnumber%></td>
-
-      <td><%number%></td>
-      <td><%description%></td>
-      <td align=right><%qty%></td>
-      <td><%unit%></td>
-      <td align=right><%sellprice%></td>
-      <td align=right><%discount%></td>
-      <td align=right><%linetotal%></td>
-    </tr>
-<%end number%>
-
-    <tr>
-      <td colspan=8><hr noshade></td>
-    </tr>
-
-    <tr>
-<%if taxincluded%>
-      <th colspan=6 align=right>Gesamtbetrag netto</th>
-      <td colspan=2 align=right><%invtotal%></td>
-<%end taxincluded%>
-
-<%if not taxincluded%>
-      <th colspan=6 align=right>Zwischensumme</th>
-      <td colspan=2 align=right><%subtotal%></td>
-<%end taxincluded%>
-    </tr>
-
-<%foreach tax%>
-    <tr>
-      <th colspan=6 align=right><%taxdescription%> von <%taxbase%> @ <%taxrate%> %</th>
-      <td colspan=2 align=right><%tax%></td>
-    </tr>
-<%end tax%>
-
-    <tr>
-      <td colspan=4>&nbsp;</td>
-      <td colspan=4><hr noshade></td>
-    </tr>
-
-    <tr>
-      <td colspan=4>&nbsp;
-<%if terms%>
-      Zahlungsziel <b><%terms%></b> Tage
-<%end terms%>
-      </td>
-      <th colspan=2 align=right>Gesamtbetrag brutto</th>
-      <th colspan=2 align=right><%quototal%></th>
-    </tr>
-
-    <tr>
-      <td>&nbsp;</td>
-    </tr>
-
-    </table>
-    </td>
-  </tr>
-
-<tr>
-  <td>
-  <table width=100%>
-    <tr valign=top>
-<%if notes%>
-      <td>Bemerkungen</td>
-      <td><%notes%></td>
-<%end notes%>
-      <td align=right>
-      Alle Preise in <b><%currency%></b> Euro
-      </td>
-    </tr>
-
-  </table>
-  </td>
-</tr>
-
-<tr><td>&nbsp;</td></tr>
-
-<tr>
-  <td>
-  <table width=100%>
-  <tr valign=top>
-    <td width=60%><font size=-3>
-    Spezialanfertigungen können nicht zurückgenommen werden.
-    </font>
-    </td>
-    <td width=40%>
-    X <hr noshade>
-    </td>
-  </tr>
-  </table>
-  </td>
-</tr>
-
-</table>
-
-</td>
-</tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/templates/print/German/sales_quotation.odt b/templates/print/German/sales_quotation.odt
deleted file mode 100644 (file)
index d42a867..0000000
Binary files a/templates/print/German/sales_quotation.odt and /dev/null differ
diff --git a/templates/print/German/sales_quotation.tex b/templates/print/German/sales_quotation.tex
deleted file mode 100644 (file)
index 42c2422..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage{eurosym}
-\usepackage{tabularx}
-\usepackage[utf8]{inputenc}
-\begin{document}
-
-\thispagestyle{empty}
-
-\newlength{\descrwidth}\setlength{\descrwidth}{10cm}
-\setlength{\parindent}{0cm}
-
-\fontfamily{cmss}\fontshape{n}\selectfont
-
-\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-\vspace*{1.5cm}
-
-\begin{minipage}{8cm}
-  <%name%>
-
-  <%street%>
-
-  <%zipcode%> <%city%>
-
-  <%country%>
-\end{minipage}
-\hfill
-\begin{minipage}{6cm}
-  \rightline{\LARGE\textbf{\textit{Angebot}}}
-  \rightline{\large\textbf{\textit{Nr. <%quonumber%>%
-  }}}
-
-  Datum:\hfill <%transdate%>
-
-  Kunden-Nr:\hfill <%customernumber%>
-
-  Telefon:\hfill <%phone%>
-
-  Telefax:\hfill <%fax%>
-
-  Ansprechpartner:\hfill <%employee%>
-\end{minipage}
-
-\vspace*{0.5cm}
-
-\hfill
-
-\vspace{0.5cm}
-
-\begin{tabularx}{\textwidth}{lrXrr}
-  \hline
-  \textbf{Pos} & \textbf{Menge} & \textbf{Bezeichnung} &
-  \textbf{E-Preis/\euro} & \textbf{G-Preis/\euro} \\
-  \hline
-  <%foreach number%>
-    <%runningnumber%> & <%qty%> <%unit%> & \raggedright <%description%> &
-    <%sellprice%> \euro & <%linetotal%> \euro \\
-  <%end number%> \hline
-  \multicolumn{4}{l}{Nettobetrag} & <%subtotal%> \euro \\
-  <%foreach tax%>
-  \multicolumn{4}{l}{<%taxdescription%>} & <%tax%> \euro \\
-  <%end tax%>
-  \multicolumn{4}{l}{\textbf{Endbetrag}} & \textbf{<%ordtotal%> \euro }
-\end{tabularx}
-\hrule
-
-\vspace{0.2cm}
-
-Wir danken für Ihre Anfrage und hoffen, Ihnen hiermit ein interessantes Angebot gemacht zu haben. Das Angebot ist
-  gültig bis zum <%reqdate%>. Sollten Sie noch Fragen oder Änderungswünsche haben, können Sie uns gerne jederzeit
-  unter den oben genannten Telefonnummern oder eMail-Adressen kontaktieren. \\
-  Bei der Durchführung des Auftrags gelten unsere AGB, die wir Ihnen gerne zuschicken. \\ \\
-  Mit freundlichen Grüßen, \\ \\ \\
-  <%employee_name%>
-
-
-
-\end{document}
-
diff --git a/templates/print/German/statement.html b/templates/print/German/statement.html
deleted file mode 100644 (file)
index 37e612c..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-
-<body bgcolor=ffffff>
-
-<table width=100%>
-  <tr>
-    <td width=10>&nbsp;</td>
-    <td>
-      <table width=100%>
-       <tr>
-         <td>
-           <h4>
-           <%company%>
-           <br><%address%>
-           </h4>
-         </td>
-         <th></th>
-         <td align=right>
-         <h4>
-         Tel: <%tel%>
-         <br>Fax: <%fax%>
-         </h4>
-         </td>
-       </tr>
-       <tr>
-         <th colspan=3><h4>S T A T E M E N T</h4></th>
-       </tr>
-       <tr>
-         <td colspan=3 align=right><%statementdate%></td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td>
-      <table width=100%>
-       <tr valign=top>
-         <td><%name%>
-         <br><%street%>
-         <br><%zipcode%>
-         <br><%city%>
-         <br><%country%>
-         <br>
-<%if customerphone%>
-         <br>Tel: <%customerphone%>
-<%end customerphone%>
-<%if customerfax%>
-         <br>Fax: <%customerfax%>
-<%end customerfax%>
-<%if email%>
-         <br><%email%>
-<%end email%>
-         </td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-  <tr height=10></tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td>
-      <table width=100%>
-        <tr>
-         <th align=left>Invoice #</th>
-         <th width=15%>Date</th>
-         <th width=15%>Due</th>
-         <th width=10%>Current</th>
-         <th width=10%>30</th>
-         <th width=10%>60</th>
-         <th width=10%>90+</th>
-       </tr>
-<%foreach invnumber%>
-       <tr>
-         <td><%invnumber%></td>
-         <td><%invdate%></td>
-         <td><%duedate%></td>
-         <td align=right><%c0%></td>
-         <td align=right><%c30%></td>
-         <td align=right><%c60%></td>
-         <td align=right><%c90%></td>
-       </tr>
-<%end invnumber%>
-        <tr>
-         <td colspan=7><hr size=1></td>
-       </tr>
-       <tr>
-         <td>&nbsp;</td>
-         <td>&nbsp;</td>
-         <td>&nbsp;</td>
-         <th align=right><%c0total%></td>
-         <th align=right><%c30total%></td>
-         <th align=right><%c60total%></td>
-         <th align=right><%c90total%></td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-  <tr height=10></tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td align=right>
-      <table width=50%>
-        <tr>
-         <th>Total Outstanding</th>
-          <th align=right><%total%></th>
-       </tr>
-      </table>
-    </td>
-  </tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td><hr noshade></td>
-  </tr>
-  <tr>
-    <td>&nbsp;</td>
-    <td>Please make check payable to <b><%company%></b>.
-    </td>
-  </tr>
-  <tr height=20></tr>
-</table>
-
diff --git a/templates/print/German/statement.tex b/templates/print/German/statement.tex
deleted file mode 100644 (file)
index 5a70b44..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-\documentclass[twoside]{scrartcl}
-\usepackage[frame]{xy}
-\usepackage{tabularx}
-\usepackage[utf8]{inputenc}
-\setlength{\voffset}{0.5cm}
-\setlength{\hoffset}{-2.0cm}
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0.5cm}
-\setlength{\headsep}{1cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{1.0cm}
-\setlength{\evensidemargin}{1.0cm}
-\setlength{\textwidth}{17cm}
-\setlength{\textheight}{24.5cm}
-\setlength{\footskip}{1cm}
-\setlength{\parindent}{0pt}
-\renewcommand{\baselinestretch}{1}
-\begin{document}
-
-\newlength{\descrwidth}\setlength{\descrwidth}{9cm}
-
-\newsavebox{\hdr}
-\sbox{\hdr}{
-  \fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-  \parbox{\textwidth}{
-    \parbox[b]{12cm}{
-      <%company%>
-
-      <%address%>}\hfill
-    \begin{tabular}[b]{rrr@{}}
-    Tel & <%tel%>\\
-    Fax & <%fax%>
-    \end{tabular}
-
-    \rule[1.5ex]{\textwidth}{0.5pt}
-  }
-}
-
-\fontfamily{cmss}\fontshape{n}\selectfont
-
-\markboth{<%company%>\hfill <%statementdate%>}{\usebox{\hdr}}
-
-\pagestyle{myheadings}
-%\thispagestyle{empty}     use this with letterhead paper
-
-\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
-
-\vspace*{1.5cm}
-
-\parbox[t]{1cm}{\hfill}
-\parbox[t]{10.5cm}{
-
-<%name%>
-
-<%street%>
-
-<%zipcode%>
-
-<%city%>
-
-<%country%>
-
-}
-\parbox[t]{7.5cm}{
-<%if customerphone%>
-Tel: <%customerphone%>
-<%end customerphone%>
-
-<%if customerfax%>
-Fax: <%customerfax%>
-<%end customerfax%>
-
-<%email%>
-}
-\hfill
-
-\vspace{1cm}
-
-\textbf{S T A T E M E N T} \hfill
-
-\hfill <%statementdate%>
-
-\vspace{2cm}
-
-\begin{tabular*}{\textwidth}{@{}l@{\extracolsep\fill}ccrrrr@{}}
-  \textbf{Invoice \#} & \textbf{Date} & \textbf{Due} &
-  \textbf{Current} & \textbf{30} & \textbf{60} & \textbf{90+} \\
-<%foreach invnumber%>
-  <%invnumber%> & <%invdate%> & <%duedate%> &
-  <%c0%> & <%c30%> & <%c60%> & <%c90%> \\
-<%end invnumber%>
-\textbf{Subtotal} & & & <%c0total%> & <%c30total%> & <%c60total%> & <%c90total%>
-\end{tabular*}
-\rule{\textwidth}{1pt}
-
-\vspace{1cm}
-
-\hfill
-\begin{tabularx}{7cm}{Xr@{}}
-  \textbf{Total outstanding} & <%total%>
-\end{tabularx}
-
-\vfill
-
-Please make check payable to <%company%>
-
-\renewcommand{\thefootnote}{\fnsymbol{footnote}}
-
-\footnotetext[1]{\tiny
-}
-
-\end{document}
-
diff --git a/templates/print/German/taxbird.txb b/templates/print/German/taxbird.txb
deleted file mode 100644 (file)
index c1a8a39..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-;; This file was produced by lx-office
-;; for using in taxbird. 
-;; You probably don't want to touch this 
-;; file. In case you do want it anyway, 
-;; be warned: BE CAREFUL!!
-;;
-'("Umsatzsteuervoranmeldung <%year%>" (
-("vend-id" . "74931")
-("land-lieferant" . "<%elsterland%>")
-("name-lieferant" . "<%company%>")
-("berufsbez" . "")
-("strasse-lieferant" . "<%co_street%>")
-("plz-lieferant" . "<%co_zip%> ")
-("ort-lieferant" . "<%co_city%>")
-("vorwahl" . "<%co_phone_prefix%>")
-("anschluss" . "<%co_phone%>")
-("land" . "<%taxbird_land_nr%>")
-("zeitraum" . "<%taxbird_period%>")
-("stnr" . "<%taxbird_steuernummer%>")
-
-<%foreach id%>
-("<%id%>" . "<%amount%>")<%end%>
-))
\ No newline at end of file
diff --git a/templates/print/German/ustva-2012.tex b/templates/print/German/ustva-2012.tex
deleted file mode 100644 (file)
index 3a35db9..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-% German USTVA template for taxreports
-% Contributed by Marcus Habermehl
-% Based on template by Jacky und Stefan Tenne (German-ustva-2008.tex)
-%
-%
-\documentclass[twoside]{scrartcl}
-\usepackage{a4,german}
-\usepackage[frame]{xy}
-\usepackage[utf8]{inputenc}
-\usepackage[german]{babel}
-\usepackage{graphicx}
-\usepackage{tabularx}
-\usepackage{times, german}
-\usepackage{german}
-\setlength{\voffset}{-0.7cm} %hier wird die Höhenverschiebung
-\setlength{\hoffset}{-1cm}  %und hier die Verschiebung seitwärts
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0cm}
-\setlength{\headsep}{0cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{0cm}
-\setlength{\evensidemargin}{0cm}
-\setlength{\textwidth}{20.9cm}
-\setlength{\textheight}{29.6cm}
-\setlength{\footskip}{-0cm}
-\setlength{\parindent}{1mm}
-
-\begin{document}
-
-\fontfamily{cmss}\fontshape{n}\large\selectfont
-\pagestyle{myheadings}
-\markboth{\protect\scalebox{1.045}[1.045]{\protect\includegraphics[viewport = 54 783 700 790,page=2]{ustva-2012.pdf}}}%Seite 2
-{\protect\scalebox{1.045}[1.045]{\protect\includegraphics[viewport = 70 700 700 790,page=1]{ustva-2012.pdf}}}%Seite 1
-\hspace{1mm}
-\begin{tabular}[b]{p{7mm}p{5cm}p{22.5mm}p{24mm}p{7mm}p{28mm}p{3mm}}
-\multicolumn{7}{c}{}\\[-2mm]
- &  \multicolumn{6}{l}{<%steuernummer%>}\\
-\multicolumn{7}{c}{}\\[15mm]
-\multicolumn{2}{p{7.5cm}}{<%FA_Name%>} & & & & &\\[-4mm]
-\multicolumn{2}{p{7.5cm}}{}  & & & & &\\[3mm]
-\multicolumn{2}{p{7.5cm}}{<%FA_Strasse%>} & &<%0401%>&<%0407%>&&<%0441%>\\[1.2mm]
-\multicolumn{2}{p{7.5cm}}{} & &<%0402%>&<%0408%>&&<%0442%>\\[1.25mm]
-\multicolumn{2}{p{7.5cm}}{<%FA_PLZ%> <%FA_Ort%>} & &<%0403%>&<%0409%>&&<%0443%>\\[3mm]
-\multicolumn{2}{p{7.5cm}}{} & &<%0404%>&<%0410%>&&<%0444%>\\[1.25mm]
-\multicolumn{2}{p{7.5cm}}{} & &<%0405%>&<%0411%>&&\\[1.25mm]
-\multicolumn{2}{p{7.5cm}}{\small{<%company%>}} & &<%0406%>&<%0412%>&&\\[-1mm]
-\multicolumn{2}{p{7.5cm}}{\small{<%co_street%>}}& & & & &\\[-1mm]
-\multicolumn{2}{p{7.5cm}}{\small{<%co_city%>}}& & & &<%FA_10%> &\\[1mm]
-\multicolumn{2}{p{7.5cm}}{
-<%if tel%>
-\small{Tel: <%tel%>}~--~
-<%else%>
-\small{~}
-<%end tel%>
-<%if fax%>
-\small{Fax: <%fax%>}
-<%else%>
-\small{~}
-<%end fax%>
-}& & & & &\\[1.8mm]
-\multicolumn{2}{p{7.5cm}}{\small{<%email%>}}&~& & & &\\[-1mm]
-\end{tabular}\\[2.5mm]
-\begin{tabular}[b]{p{99mm}p{26.5mm}p{4.55mm}p{4mm}p{35mm}}
-&&&&\\[9.5mm]
-\multicolumn{2}{r}{<%41%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%44%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%49%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%43%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%48%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%81%>} & & \multicolumn{2}{r}{<%811%>}\\[1.8mm]
-\multicolumn{2}{r}{<%86%>} & & \multicolumn{2}{r}{<%861%>}\\[1.8mm]
-\multicolumn{2}{r}{<%35%>} & & \multicolumn{2}{r}{<%36%>}\\[1.8mm]
-\multicolumn{2}{r}{<%77%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%76%>} & & \multicolumn{2}{r}{<%80%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%91%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%89%>} & & \multicolumn{2}{r}{<%891%>}\\[1.8mm]
-\multicolumn{2}{r}{<%93%>} & & \multicolumn{2}{r}{<%931%>}\\[1.8mm]
-\multicolumn{2}{r}{<%95%>} & & \multicolumn{2}{r}{<%98%>}\\[1.8mm]
-\multicolumn{2}{r}{<%94%>} & & \multicolumn{2}{r}{<%96%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%42%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%60%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%21%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{<%45%>} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z43%>}\\
-\end{tabular}
-\newpage
-
-\vspace*{-9.5mm}\hspace{27mm}<%steuernummer%>\\[-2.7mm]
-\begin{tabular}[b]{p{99mm}p{25.2mm}p{2.55mm}p{10mm}p{32mm}}
-&&&&\\
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z45%>}\\[13.5mm]
-\multicolumn{2}{r}{<%46%>} & & \multicolumn{2}{r}{<%47%>}\\[1.8mm]
-\multicolumn{2}{r}{<%52%>} & & \multicolumn{2}{r}{<%53%>}\\[1.8mm]
-\multicolumn{2}{r}{<%73%>} & & \multicolumn{2}{r}{<%74%>}\\[1.8mm]
-\multicolumn{2}{r}{<%84%>} & & \multicolumn{2}{r}{<%85%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%65%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z53%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%66%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%61%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%62%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%67%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%63%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%64%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%59%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z62%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%69%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%39%>}\\[1.8mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{\textbf{<%83%>}}\\[25.6mm]
-\end{tabular}\\[35mm]
-<%if FA_steuerberater%>
-\vspace{11mm}
-\begin{list}{}{
-\setlength{\leftmargin}{2mm}
-\setlength{\itemsep}{0mm}
-\setlength{\parsep}{0mm}
-%\setlength{\topsep}{0mm}
-%\setlength{\parskip}{0mm}
-%\setlength{\partopsep}{0mm}
-}
-\begin{small}
-\item <%FA_steuerberater_name%>
-\item <%FA_steuerberater_street%>
-\item <%FA_steuerberater_city%>
-\item Tel:~<%FA_steuerberater_tel%>
-\end{small}\\[15mm]
-\item  <%Datum_heute%>,
-\end{list}
-<%end FA_steuerberater%>
-<%if not FA_steuerberater%>
-\begin{list}{}{
-\setlength{\leftmargin}{2mm}
-\setlength{\itemsep}{0mm}
-\setlength{\parsep}{0mm}
-%\setlength{\topsep}{0mm}
-%\setlength{\parskip}{0mm}
-%\setlength{\partopsep}{0mm}
-}
-\begin{small}
-\item ~
-\item ~
-\item ~
-\item ~
-\end{small}\\[26mm]
-\item  <%Datum_heute%>,
-\end{list}
-<%end FA_steuerberater%>
-\end{document}
diff --git a/templates/print/German/ustva.html b/templates/print/German/ustva.html
deleted file mode 100644 (file)
index 1f5da1a..0000000
+++ /dev/null
@@ -1,436 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-  <meta content="text/html; charset=utf-8" http-equiv="content-type">
-  <title>Vorschau: UStVa</title>
-<!--
-Optik an Formulare angepasst: Hartmut Goebel <h.goebel@goebel-consult.de>
-Variablen hinzugefügt: Udo Spallek <udono@gmx.net>
-Text-Erklärung und unterschiedliche Zeilenfärbung ergänzt: Kai-Martin Knaak <kmk@familieknaak.de>
--->
-  <style>
-table {
-       text-align: right;
-       border:0;
-       border-collapse:collapse;
-}
-td {
-       font-size:100%;
-       vertical-align:top;
-}
-td.text {
-       text-align: left;
-       background-color:#BDBEBD;
-}
-td.text2 {
-       text-align: left;
-       background-color:#ADBEBD;
-}
-td.spalte,
-td.zeile,
-td.betrag {
-       border:solid thin black;
-}
-td.spalte { font-weight:bold; font-size:120%; }
-td.zeile  { font-weight:bold; }
-td.betrag { width:10em; }
-td.summe  { border:solid medium black; }
-td.spacer { border:0 }
-
-tr.uebertrag td { border-top:solid medium black; }
-b.h3 { font-size:120%; }
-.ausfuellen { background-color:#FFFFC0; }
-.nodis { display:none; }
-  </style>
-</head>
-<body>
-<h1>Vorschau Umsatzsteuer-Voranmeldung</h1>
-<h2>Zeitraum vom <%fromdate%> bis <%todate%> </h2>
-
-<!-- Diese HTML-Formular ist nicht selbstrechnend.
-<p><small>Wenn ein (selbstrechnendes) Formular verwendet wird, genügt es, die
-gelb hinterlegten Felder auszufüllen. Die anderen Felder werden dann
-automatisch berechnet.</small></p>
--->
-
-<table width="100%">
-<tr align="left">
-  <td class="text">Steuernummer: <%steuernummer%></td>
-  <td class="text" width="100px">&nbsp</td>
-  <td class="text" align="right">Datum (<%Datum_heute%>)</td>
-</tr>
-<tr>
-  <td class="text" colspan="3"><br /></td>
-</tr>
-<tr align="left">
-  <td class="text">
-    Finanzamt <%FA_Name%><br />
-    <%FA_Strasse%><br />
-    <%FA_PLZ%> <%FA_Ort%><br />
-    Fax: <%FA_FAX%>
-  </td>
-  <td class="text">&nbsp;</td>
-  <td class="text">
-    Firma <%company%><br />
-    <%if company_street%>
-      <%company_street%><br />
-      <%company_city%><br />
-    <%end company_street%>
-    <%if not company_street%>
-    <%address%><!--used Address-->
-    <%end company_street%>
-  </td>
-</tr>
-<tr>
-  <td class="text" colspan="3"><br />
-  </td>
-</tr>
-</table>
-<table border="0" cellspacing="2" cellpadding="2">
-  <tbody>
-    <tr>
-      <td class="text"><b class="h3">I. Anmeldung der
-Umsatzsteuer-Vorauszahlung </b></td>
-      <td colspan="4"></td>
-    </tr>
-    <tr>
-      <td class="text"><b class="h4">Lieferungen und sonstige Leistungen</b></td>
-      <td colspan="4"></td>
-    </tr>
-        <tr>
-      <td class="text2">an innergemeinschaftliche Abnehmer <b>mit</b> USt-IdNr</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>41<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen" width="70"><%41%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-    <tr>
-      <td class="text">neuer Fahrzeuge an Abnehmer <b>ohne</b> USt-IdNr</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>44<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen" width="70"><%44%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-    <tr>
-      <td class="text2">neuer Fahrzeuge au&szlig;erhalb eines Unternehmens</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>49<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen" width="70"><%49%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-    <tr>
-      <td class="text">Weitere steuerfreie Ums&auml;tze mit Vorsteuerabzug</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>43<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen" width="70"><%43%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-    <tr>
-      <td class="text2">Steuerfreie Ums&auml;tze ohne
-Vorsteuerabzug. </b><br />Ums&auml;tze nach &sect; 4 Nr. 8 bis 20 UStG</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>48<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen" width="70"><%48%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-
-    <tr>
-      <td class="text"><b class="h4">Steuerpflichtige Ums&auml;tze</b></td>
-      <td colspan="4"></td>
-    </tr>
-<%if not year2007%>
-    <tr>
-      <td class="text2">zum Steuersatz von 16 v.H.</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>51<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen" width="70"><%51%><br></td>
-      <td class="spalte"><span class="nodis">(Spalte 51 rechts)</span></td>
-      <td class="betrag"><%511%></td>
-    </tr>
-<%end year2007%>
-<%if year2007%>
-    <tr>
-      <td class="text2">zum Steuersatz von 19 v.H.</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>81<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen" width="70"><%81%><br></td>
-      <td class="spalte"><span class="nodis">(Spalte 81 rechts)</span></td>
-      <td class="betrag"><%811%></td>
-    </tr>
-<%end year2007%>
-
-    <tr>
-      <td class="text">zum Steuersatz von 7 v.H.</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>86<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen"><%86%></td>
-      <td class="spalte"><span class="nodis">(Spalte 86 rechts)</span></td>
-      <td class="betrag"><%861%></td>
-    </tr>
-    <tr>
-      <td class="text2">andere Steuers&auml;tze</td>
-      <td class="spalte ausfuellen"><span class="nodis"></span>35 <span class="nodis"></span></td>
-      <td class="betrag ausfuellen"><%35%></td>
-      <td class="spalte">36</td>
-      <td class="betrag ausfuellen"><%36%></td>
-    </tr>
-    <tr><td class="text" colspan="3">&nbsp;</td><td colspan="4"></td></tr>
-   <tr>
-      <td class="text">Lieferungen in das &uuml;brige Gemeinschaftsgebiet <b>mit</b> USt-IdNr</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>77<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen" width="70"><%77%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-    <tr>
-      <td class="text2">Ums&auml;tze, nach &sect;24 UStG (S&auml;gewerkserzeugnisse, alkoholische Getr&auml;nke etc.)</td>
-      <td class="spalte ausfuellen"><span class="nodis"></span>76 <span class="nodis"></span></td>
-      <td class="betrag ausfuellen"><%76%></td>
-      <td class="spalte">80</td>
-      <td class="betrag ausfuellen"><%80%></td>
-    </tr>
-    <tr><td class="text">&nbsp;</td><td class="spacer" colspan="4"></td></tr>
-    <tr>
-      <td class="text"><b class="h3">Innergemeinschaftliche Erwerbe</b></td>
-      <td colspan="4"></td>
-    </tr>
-   <tr>
-      <td class="text2">Steuerfrei nach &sect;4b UStG</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>91<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen" width="70"><%91%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-<%if not year2007%>
-    <tr>
-      <td class="text">Steuerpflichtige zum Steuersatz von 16 v.H.</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>97<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen"><%97%><br></td>
-      <td class="spalte"><span class="nodis">(Spalte 97 rechts)</span></td>
-      <td class="betrag"><%971%></td>
-    </tr>
-<%end if year2007%>
-<%if year2007%>
-    <tr>
-      <td class="text">Steuerpflichtige zum Steuersatz von 19 v.H.</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>89<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen"><%89%><br></td>
-      <td class="spalte"><span class="nodis">(Spalte 89 rechts)</span></td>
-      <td class="betrag"><%891%></td>
-    </tr>
-<%end if year2007%>
-    <tr>
-      <td class="text2">zum Steuersatz von 7 v.H.</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>93<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen"><%93%></td>
-      <td class="spalte"><span class="nodis">(Spalte 93 rechts)</span></td>
-      <td class="betrag"><%931%></td>
-    </tr>
-    <tr>
-      <td class="text">zu anderen Steuers&auml;tzen</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>95<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen"><%95%></td>
-      <td class="spalte">98</td>
-      <td class="betrag"><%98%></td>
-    </tr>
-    <tr>
-      <td class="text2"><b class="h4">neuer Fahrzeuge von Lieferern</b>
-             von Lieferanten <b>ohne</b> USt.IdNr. <br class="nodis" />
-            zum allgemeinen Steuersatz</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>94<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen"><%94%></td>
-      <td class="spalte"><span class="nodis">(Spalte </span>96<span class="nodis">)</span></td>
-      <td class="betrag"><%96%></td>
-    </tr>
-        <tr><td class="text">&nbsp;</td><td colspan="4"></td></tr>
-   <tr>
-      <td class="text">Lieferungen des ersten Abnehmers bei
-        innergemeinschaftlichen Dreiecksgeschften (&sect;25b Abs. 2 UStG)</td>
-      <td class="spalte ausfuellen">42</td>
-      <td class="betrag ausfuellen" width="70"><%42%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-   <tr>
-      <td class="text2">Steuerpflichtige Umstze im Sinne, f&uuml;r die der
-        <b>Leistungsempf&auml;nger die Steuer schuldet</b></td>
-      <td class="spalte ausfuellen">60</td>
-      <td class="betrag ausfuellen" width="70"><%60%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-<%if year2010%>
-   <tr>
-      <td class="text2"><b>Nicht steuerbare Leistungen</b> gem. &sect; 18b Satz 1 Nr. 2 UStG</td>
-      <td class="spalte ausfuellen">21</td>
-      <td class="betrag ausfuellen" width="70"><%21%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-<%end if year2010%>
-   <tr>
-      <td class="text">Im Inland nicht steuerbare Ums&auml;tze</td>
-      <td class="spalte ausfuellen">45</td>
-      <td class="betrag ausfuellen" width="70"><%45%><br></td>
-      <td class="spalte"><span class="nodis"></span></td>
-      <td class="betrag"></td>
-    </tr>
-
-    <tr><td class="text">&nbsp;</td><td class="spacer" colspan="2"></td><td colspan="2"></td></tr>
-
-    <tr>
-      <td class="text" colspan="3"><b class="h3">&Uuml;bertrag</td>
-      <td class="zeile"><span class="nodis">(</span>Zeile 43<span class="nodis">)</span></td>
-      <td class="betrag"><%Z43%></td>
-    </tr>
-
-    <tr class="uebertrag">
-      <td class="text" colspan="3"><b class="h3">&Uuml;bertrag</td>
-      <td class="zeile"><span class="nodis">(</span>Zeile 45<span class="nodis">)</span></td>
-      <td class="betrag"><%Z45%></td>
-    </tr>
-
-<%if year2010%>
-    <tr>
-      <td class="text2">Im Inland steuerpflichtige sonstige Leistungen von im &uuml;brigen Gemeinschaftsgebiet ans&auml;ssigen Unternehmen (&sect;13b Abs. 1 UStG)</td>
-      <td class="spalte ausfuellen">46</td>
-      <td class="betrag ausfuellen"><%46%></td>
-      <td class="spalte">47</td>
-      <td class="betrag"><%47%></td>
-    </tr>
-<%end if year2010%>
-    <tr>
-      <td class="text2">Leistungen eines im Ausland ans&auml;ssigen Unternehmers</td>
-      <td class="spalte ausfuellen">52</td>
-      <td class="betrag ausfuellen"><%52%></td>
-      <td class="spalte">53</td>
-      <td class="betrag"><%53%></td>
-    </tr>
-    <tr>
-      <td class="text">Lieferungen sicherungsbereigneter Gegenst&auml;nde und
-           Ums&auml;tze, die unter das GrEStG fallen.</td>
-      <td class="spalte ausfuellen">73</td>
-      <td class="betrag ausfuellen"><%73%></td>
-      <td class="spalte">74</td>
-      <td class="betrag"><%74%></td>
-    </tr>
-    <tr>
-      <td class="text2">Bauleistungen eines im Inland ans&auml;ssigen Unternehmers</td>
-      <td class="spalte ausfuellen">84</td>
-      <td class="betrag ausfuellen"><%84%></td>
-      <td class="spalte">85</td>
-      <td class="betrag"><%85%></td>
-    </tr>
-    <tr>
-      <td class="text" colspan="3">Steuer wegen Wechsel der Besteuerungsform und
-         Nachsteuer auf versteuerte Anzahlungen wegen Steuersatzerh&ouml;hung.</td>
-      <td class="spalte ausfuellen">65</td>
-      <td class="betrag ausfuellen"><%65%></td>
-    </tr>
-
-
-
-    <tr><td class="text" colspan="3">&nbsp;</td><td class="spacer" colspan="4"></td></tr>
-
-    <tr>
-      <td class="text2" colspan="3"><b class="h3">Umsatzsteuer</td>
-      <td class="zeile"><span class="nodis">(</span>Zeile 53<span class="nodis">)</span></td>
-      <td class="betrag"><%Z53%></td>
-    </tr>
-
-    <tr><td class="text" colspan="3">&nbsp;</td><td class="spacer" colspan="4"></td></tr>
-
-    <tr>
-      <td class="text" colspan="3"><b class="h3">Abziehbare Vorsteuerbetr&auml;ge</b></td>
-      <td colspan="2"></td></tr>
-    </tr>
-
-    <tr>
-      <td class="text2" colspan="3">Vorsteuerbetr&auml;ge von Rechnungen von anderen Unternehmern</td>
-      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>66<span class="nodis">)</span></td>
-      <td class="betrag ausfuellen"><%66%></td>
-    </tr>
-    <tr>
-      <td class="text" colspan="3">Vorsteuerbetr&auml;ge aus dem innergemeinschaftlichen Erwerb</td>
-      <td class="spalte ausfuellen">61</td>
-      <td class="betrag ausfuellen"><%61%></td>
-    </tr>
-    <tr>
-      <td class="text2" colspan="3">Entrichtete Einfuhrumsatzsteuer</td>
-      <td class="spalte ausfuellen">62</td>
-      <td class="betrag ausfuellen"><%62%></td>
-    </tr>
-    <tr>
-      <td class="text" colspan="3">Vorsteuerbetr&auml;ge aus Leistungen im Sinne
-          des &sect;13b Abs. 1 UStG</td>
-      <td class="spalte ausfuellen">67</td>
-      <td class="betrag ausfuellen"><%67%></td>
-    </tr>
-    <tr>
-      <td class="text2" colspan="3">Vorsteuerbetr&auml;ge, die nach allgemeinen
-           Durchschnitts&auml;stzen berechnet sind </td>
-      <td class="spalte ausfuellen">63</td>
-      <td class="betrag ausfuellen"><%63%></td>
-    </tr>
-    <tr>
-      <td class="text" colspan="3">Berichtigung des Vorsteuerabzugs</td>
-      <td class="spalte ausfuellen">64</td>
-      <td class="betrag ausfuellen"><%64%></td>
-    </tr>
-    <tr>
-      <td class="text2" colspan="3">Vorsteuerabzug f&uuml;r innergemeinschaftliche Lieferungen
-        neuer Fahrzeuge au&szlig;erhalb eines Unternehmens sowie von Kleinunternehmern</td>
-      <td class="spalte ausfuellen">59</td>
-      <td class="betrag ausfuellen"><%59%></td>
-    </tr>
-    <tr>
-      <td class="text" colspan="3">Verbleibender Betrag</td>
-      <td class="zeile"><span class="nodis">(</span>Zeile 62<span class="nodis">)</span></td>
-      <td class="betrag"><%Z62%></td>
-    </tr>
-
-    <tr>
-      <td class="text2" colspan="3"><b class="h3">Andere Steuerbetr&auml;ge</b></td>
-      <td colspan="2"></td></tr>
-    </tr>
-    <tr>
-      <td class="text" colspan="3">in Rechnungen unrichtig oder unberechtigt ausgewiesene
-        Steuerbetr&auml;ge sowie Steuerbetr&auml;ge, die nach
-        &sect;4 Nr. 4a, &sect; 6a Abs. 4, &sect;7 oder &sect;25b UStG geschuldet werden</td>
-      <td class="spalte ausfuellen">69</td>
-      <td class="betrag ausfuellen"><%69%></td>
-    </tr>
-
-    <tr><td class="text" colspan="3">&nbsp;</td><td colspan="4"></td></tr>
-
-    <tr>
-      <td class="text2" colspan="3"><b class="h3">Umsatzsteuer-Vorauszahlung/&Uuml;berschuss</b></td>
-      <td class="zeile"><span class="nodis">(</span>Zeile 65<span class="nodis">)</span></td>
-      <td class="betrag"><%Z65%></td>
-    </tr>
-    <tr>
-      <td class="text" colspan="3">Anrechnung (Abzug) der festgesetzten Sondervorauszahlung
-        f&uuml;r Dauerfristverl&auml;ngerung (nur in der letzten Voranmeldung des
-        Besteuerungszeitraums, ausf&uuml;llen)</td>
-      <td class="spalte ausfuellen">39</td>
-      <td class="betrag ausfuellen"><%39%></td>
-    </tr>
-
-    <tr><td class="text" colspan="3">&nbsp;</td><td colspan="4"></td></tr>
-
-    <tr class="noborder">
-      <td class="text2" colspan="3"><b class="h3">Verbleibende Umsatzsteuer-Vorauszahlung bzw.
-                                      Verbleibender &Uuml;berschuss</b></td>
-      <td class="spalte ausfuellen">83</td>
-      <td class="summe"><%83%></td>
-    </tr>
-
-  </tbody>
-</table>
-<%if FA_steuerberater%>
-<p>
-Steuerberater:<br />
-<%FA_steuerberater_name%><br />
-<%FA_steuerberater_street%><br />
-<%FA_steuerberater_city%><br />
-Tel:&nbsp;<%FA_steuerberater_tel%></p>
-<%end FA_steuerberater%>
-</body>
-</html>
diff --git a/templates/print/German/ustva.tex b/templates/print/German/ustva.tex
deleted file mode 100644 (file)
index da26f47..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-% German USTVA template for taxreports
-%
-% Contributed by Jens Koerner, Peter Schorer, Udo Spallek
-%
-%
-\documentclass[twoside]{scrartcl}
-\usepackage{a4,german}
-\usepackage[frame]{xy}
-\usepackage[utf8]{inputenc}
-\usepackage[german]{babel}
-\usepackage{graphicx}
-\usepackage{tabularx}
-\usepackage{times, german}
-\usepackage{german}
-\setlength{\voffset}{-0.8cm} %hier wird die Höhenverschiebung getÀtigt
-\setlength{\hoffset}{-1cm}  %und hier die Verschiebung seitwÀrts
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0cm}
-\setlength{\headsep}{0cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{0cm}
-\setlength{\evensidemargin}{0cm}
-\setlength{\textwidth}{20.9cm}
-\setlength{\textheight}{29.6cm}
-\setlength{\footskip}{-0cm}
-\setlength{\parindent}{0pt}
-
-\begin{document}
-
-\fontfamily{cmss}\fontshape{n}\large\selectfont
-\pagestyle{myheadings}
-\markboth{\hspace{7mm}\protect\includegraphics[viewport = 60 700 700 790]{ustva2.pdf}}
-{\protect\includegraphics[viewport = 60 700 700 790]{ustva1.pdf}}
-\hspace{1mm}
-\begin{tabular}[b]{p{7mm}p{5cm}p{22.5mm}p{24mm}p{5mm}p{27mm}p{3mm}}
-\multicolumn{7}{c}{}\\[-2mm]
- &  \multicolumn{6}{l}{<%steuernummer%>}\\
-\multicolumn{7}{c}{}\\[15mm]
-\multicolumn{2}{p{7.5cm}}{<%FA_Name%>} & & & & &\\[-4mm]
-\multicolumn{2}{p{7.5cm}}{}  & & & & &\\[1mm]
-\multicolumn{2}{p{7.5cm}}{<%FA_Strasse%>} & &<%0401%>&<%0407%>&&<%0441%>\\[1.2mm]
-\multicolumn{2}{p{7.5cm}}{} & &<%0402%>&<%0408%>&&<%0442%>\\[1.25mm]
-\multicolumn{2}{p{7.5cm}}{<%FA_PLZ%> <%FA_Ort%>} & &<%0403%>&<%0409%>&&<%0443%>\\[1.25mm]
-\multicolumn{2}{p{7.5cm}}{} & &<%0404%>&<%0410%>&&<%0444%>\\[1.25mm]
-\multicolumn{2}{p{7.5cm}}{} & &<%0405%>&<%0411%>&&\\[1.25mm]
-\multicolumn{2}{p{7.5cm}}{\small{<%company%>}} & &<%0406%>&<%0412%>&&\\[-1mm]
-\multicolumn{2}{p{7.5cm}}{\small{<%company_street%>}}& & & & &\\[-1mm]
-\multicolumn{2}{p{7.5cm}}{\small{<%company_city%>}}& & & & &\\[1mm]
-\multicolumn{2}{p{7.5cm}}{
-<%if tel%>
-\small{Tel: <%tel%>}~--~
-<%end tel%>
-<%if fax%>
-\small{Fax: <%fax%>}
-<%end fax%>
-}& & & &<%FA_10%> &\\[-1mm]
-\multicolumn{2}{p{7.5cm}}{\small{<%email%>}}& & & & &\\[-1mm]
-\end{tabular}\\[28.5mm]
-\begin{tabular}[b]{p{95mm}p{28mm}p{2.55mm}p{4mm}p{35mm}}
-&&&&\\[42mm]
-\multicolumn{2}{r}{<%51%>} & & \multicolumn{2}{r}{<%51r%>}\\[1.5mm]
-\multicolumn{2}{r}{<%86%>} & & \multicolumn{2}{r}{<%86r%>}\\[46mm]
-\multicolumn{2}{r}{<%97%>} & & \multicolumn{2}{r}{<%97r%>}\\[1.5mm]
-\multicolumn{2}{r}{<%93%>} & & \multicolumn{2}{r}{<%93r%>}\\[7.9mm]
-\multicolumn{2}{r}{<%94%>} & & \multicolumn{2}{r}{<%96%>}\\[14mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%43%>}\\
-%\multicolumn{2}{||r|}{1000} & & & \\
-%\multicolumn{2}{||r|}{1000} & & \multicolumn{2}{r}{100.000.000~~00}\\
-%\multicolumn{3}{||r|}{1.000.000.000~~00} & \multicolumn{2}{r}{100.000.000~~00}\\
-\end{tabular}
-
-\newpage
-
-\vspace*{-10mm}\hspace{27mm}<%steuernummer%>\\[-2.5mm]
-\begin{tabular}[b]{p{95mm}p{28mm}p{2.55mm}p{4mm}p{35mm}}
-&&&&\\
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%45%>}\\[46mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%43%>}\\[7.9mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%66%>}\\[7.9mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%62%>}\\[58.5mm]
-\multicolumn{2}{r}{} & & \multicolumn{2}{r}{\textbf{<%67%>}}\\[26mm]
-\end{tabular}\\[35mm]
-<%if FA_steuerberater%>
-\vspace{11mm}
-\begin{list}{}{
-\setlength{\leftmargin}{2mm}
-\setlength{\itemsep}{0mm}
-\setlength{\parsep}{0mm}
-%\setlength{\topsep}{0mm}
-%\setlength{\parskip}{0mm}
-%\setlength{\partopsep}{0mm}
-}
-\begin{small}
-\item <%FA_steuerberater_name%>
-\item <%FA_steuerberater_street%>
-\item <%FA_steuerberater_city%>
-\item Tel:~<%FA_steuerberater_tel%>
-\end{small}\\[15mm]
-\item  <%Datum_heute%>,
-\end{list}
-<%end FA_steuerberater%>
-<%if not FA_steuerberater%>
-\begin{list}{}{
-\setlength{\leftmargin}{2mm}
-\setlength{\itemsep}{0mm}
-\setlength{\parsep}{0mm}
-%\setlength{\topsep}{0mm}
-%\setlength{\parskip}{0mm}
-%\setlength{\partopsep}{0mm}
-}
-\begin{small}
-\item ~
-\item ~
-\item ~
-\item ~
-\end{small}\\[26mm]
-\item  <%Datum_heute%>,
-\end{list}
-<%end FA_steuerberater%>
-\end{document}
diff --git a/templates/print/German/winston.xml b/templates/print/German/winston.xml
deleted file mode 100644 (file)
index 2bb63da..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!-- Diese Datei ist mit Lx-Office <%version%> generiert -->
-<WinstonAusgang>
-  <Formular Typ="UST"></Formular>
-  <Ordnungsnummer><%elsterFFFF%><%elstersteuernummer%></Ordnungsnummer>
-  <AnmeldeJahr><%year%></AnmeldeJahr>
-  <AnmeldeZeitraum><%period%></AnmeldeZeitraum>
-
-<%foreach id%>
-  <Kennzahl nr="<%id%>"><%amount%></Kennzahl>
-<%end%>
-
-</WinstonAusgang>
-
diff --git a/templates/print/German/zahlungserinnerung.tex b/templates/print/German/zahlungserinnerung.tex
deleted file mode 100644 (file)
index 679f6bd..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-\documentclass[10pt, oneside]{scrartcl}
-\usepackage[utf8]{inputenc}
-\usepackage{german}
-\usepackage{tabularx}
-\usepackage{xspace}
-\usepackage{ifthen}
-\usepackage{eso-pic}
-\usepackage{longtable}
-\usepackage{eurosym}
-
-\setlength{\voffset}{-0.3cm}
-\setlength{\hoffset}{-2.2cm}
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0.5cm}
-\setlength{\headsep}{1cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{2cm}
-%\setlength{\evensidemargin}{2cm}
-\setlength{\textwidth}{16.4cm}
-% \setlength{\textwidth}{13.4cm}
-\setlength{\textheight}{23.5cm}
-\setlength{\footskip}{1cm}
-\setlength{\parindent}{0pt}
-\setlength{\tabcolsep}{0cm}
-
-\renewcommand{\baselinestretch}{1}
-
-\begin{document}
-\pagestyle{empty}
-\fontfamily{cmss}\fontsize{10pt}{10pt}\fontseries{m}\selectfont
-
-% \vspace*{5cm}
-
-<%name%>
-
-% \ifthenelse{\equal{<%cp_name%>}{}}{}{z.Hd. <%cp_name%>}
-
-<%street%>
-
-<%zipcode%> <%city%>
-
-\begin{flushright}<%dunning_date%>\end{flushright}
-
-\vspace*{2.5cm} %\\
-\large
-\textbf{Zahlungserinnerung} \\ \\ \\
-\normalsize
-Sehr geehrte Damen und Herren, \\ \\ \\
-man kann seine Augen nicht überall haben - offensichtlich haben Sie übersehen, die folgenden Rechnungen zu begleichen: \\
-\vspace{0.5cm} \\
-\begin{tabularx}{\textwidth}{l@{\hspace*{2cm}}X@{\hspace*{0.5cm}}r}
-  \textbf{Rechnungsnummer} & \textbf{Rechnungsdatum} & \textbf{Rechnungsbetrag} \\ \hline && \\
-  <%foreach dn_invnumber%>
-    <%dn_invnumber%> & <%dn_transdate%> & <%dn_amount%> \euro \\[0.1cm]
-  <%end dn_invnumber%>
-\end{tabularx}
-\vspace*{0.5cm} \\
-Wir bitten Sie, diese bis zum <%dunning_duedate%> zu begleichen. \\ \\ \\
-Bitte beachten Sie, dass wir Zahlungseingänge nur bis zum <%dunning_date%> berücksichtigen konnten. Sollten Sie zwischenzeitlich bezahlt haben, betrachten Sie diese Zahlungserinnerung bitte als gegenstandslos. \\ \\ \\
-Mit freundlichen Grüßen, \\ \\ \\ \\
-<%employee_name%>
-\end{document}
diff --git a/templates/print/German/zahlungserinnerung_invoice.tex b/templates/print/German/zahlungserinnerung_invoice.tex
deleted file mode 100644 (file)
index bc5cfa6..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-\documentclass[10pt, oneside]{scrartcl}
-\usepackage[utf8]{inputenc}
-\usepackage{german}
-\usepackage{tabularx}
-\usepackage{xspace}
-\usepackage{ifthen}
-\usepackage{eso-pic}
-\usepackage{longtable}
-\usepackage{eurosym}
-
-\setlength{\voffset}{-0.3cm}
-\setlength{\hoffset}{-2.2cm}
-\setlength{\topmargin}{0cm}
-\setlength{\headheight}{0.5cm}
-\setlength{\headsep}{1cm}
-\setlength{\topskip}{0pt}
-\setlength{\oddsidemargin}{2cm}
-%\setlength{\evensidemargin}{2cm}
-\setlength{\textwidth}{16.4cm}
-% \setlength{\textwidth}{13.4cm}
-\setlength{\textheight}{23.5cm}
-\setlength{\footskip}{1cm}
-\setlength{\parindent}{0pt}
-\setlength{\tabcolsep}{0cm}
-
-\renewcommand{\baselinestretch}{1}
-
-\begin{document}
-\pagestyle{empty}
-\fontfamily{cmss}\fontsize{10pt}{10pt}\fontseries{m}\selectfont
-
-<%name%>
-
-<%street%>
-
-<%zipcode%> <%city%>
-
-\begin{flushright}<%invdate%>\end{flushright}
-
-\vspace*{2.5cm}
-
-\large
-\textbf{Rechnung <%invnumber%>}
-
-\vspace*{1cm}
-
-\normalsize
-Sehr geehrte Damen und Herren,
-
-\vspace*{1cm}
-Hiermit stellen wir Ihnen zu Mahnung <%dunning_id%> die folgenden Posten in Rechnung:
-
-\vspace*{0.5cm}
-
-\begin{tabularx}{\textwidth}{Xr}
-  \textbf{Posten} & \multicolumn{1}{l}{\textbf{Betrag}}\\
-  \hline
-  Mahngebühren & <%fee%> EUR \\
-  Zinsen & <%interest%> EUR \\
-  \cline{2-2}
-  Gesamtsumme & <%invamount%> EUR\\
-\end{tabularx}
-
-\vspace*{0.5cm}
-
-Bitte begleichen Sie diese Forderung bis zum <%duedate%>.
-
-\vspace*{0.5cm}
-
-Mit freundlichen Grüßen,
-
-\vspace*{2cm}
-<%employee_name%>
-
-\end{document}
diff --git a/templates/print/Standard/balance_sheet.html b/templates/print/Standard/balance_sheet.html
new file mode 100644 (file)
index 0000000..985b6ef
--- /dev/null
@@ -0,0 +1,100 @@
+
+<body bgcolor="#ffffff">
+
+<h2 align="center">
+<%company%>
+<br><%address%>
+
+<p>BILANZ
+<br><%period%>
+</h2>
+
+<table border="0">
+<tr>
+  <th align="left" width="400" colspan="2">AKTIVA<br><hr align="left" width="250" size="5" noshade></th>
+  <th><%this_period%></th>
+  <th><%last_period%></th>
+</tr>
+
+<%foreach asset_account%>
+<tr>
+  <td> </td>
+  <td><%asset_account%></td>
+  <td align="right"><%asset_this_period%></td>
+  <td align="right"><%asset_last_period%></td>
+</tr>
+<%end asset_account%>
+
+<tr>
+  <td colspan="2"> </td>
+  <td><hr noshade size="1"></td>
+  <td><hr noshade size="1"></td>
+</tr>
+
+<tr valign="top">
+  <th align="left" colspan="2">TOTAL</th>
+  <td align="right"><%total_assets_this_period%><hr noshade size="2"></td>
+  <td align="right"><%total_assets_last_period%><hr noshade size="2"></td>
+</tr>
+
+<tr>
+  <th align="left" colspan="4">PASSIVA<b><hr align="left" width="250" size="5" noshade></th>
+</tr>
+
+<%foreach liability_account%>
+<tr>
+  <td></td>
+  <td><%liability_account%></td>
+  <td align="right"><%liability_this_period%></td>
+  <td align="right"><%liability_last_period%></td>
+</tr>
+<%end liability_account%>
+
+<tr>
+  <td colspan="2"> </td>
+  <td><hr noshade size="1"></td>
+  <td><hr noshade size="1"></td>
+</tr>
+
+<tr valign="top">
+  <td></td>
+  <th align="left">TOTAL</th>
+  <td align="right"><%total_liabilities_this_period%><br><hr noshade size="2"</td>
+  <td align="right"><%total_liabilities_last_period%><br><hr noshade size="2"</td>
+</tr>
+
+<tr>
+  <th align="left" colspan="4">EIGENTUM<br><hr align="left" width="250" size="5" noshade></th>
+</tr>
+
+<%foreach equity_account%>
+<tr>
+  <td></td>
+  <td><%equity_account%></td>
+  <td align="right"><%equity_this_period%></td>
+  <td align="right"><%equity_last_period%></td>
+</tr>
+<%end equity_account%>
+
+<tr>
+  <td colspan="2"> </td>
+  <td><hr noshade size="1"></td>
+  <td><hr noshade size="1"></td>
+</tr>
+
+<tr valign="top">
+  <td></td>
+  <th align="left">TOTAL</th>
+  <td align="right"><%total_equity_this_period%><br><hr noshade size="2"</td>
+  <td align="right"><%total_equity_last_period%><br><hr noshade size="2"</td>
+</tr>
+
+<tr valign="top">
+  <th align="left" colspan="2">TOTAL PASSIVA &amp; EIGENTUM</th>
+  <td align="right"><%total_this_period%><br><hr noshade size="2"></td>
+  <td align="right"><%total_last_period%><br><hr noshade size="2"></td>
+</tr>
+</table>
+
+
+
diff --git a/templates/print/Standard/bin_list.tex b/templates/print/Standard/bin_list.tex
new file mode 100644 (file)
index 0000000..91e3b9c
--- /dev/null
@@ -0,0 +1,128 @@
+\documentclass[twoside]{scrartcl}
+\usepackage[frame]{xy}
+\usepackage{tabularx}
+\usepackage[utf8]{inputenc}
+\usepackage{graphicx}
+\setlength{\voffset}{0.5cm}
+\setlength{\hoffset}{-2.0cm}
+\setlength{\topmargin}{0cm}
+\setlength{\headheight}{0.5cm}
+\setlength{\headsep}{1cm}
+\setlength{\topskip}{0pt}
+\setlength{\oddsidemargin}{1.0cm}
+\setlength{\evensidemargin}{1.0cm}
+\setlength{\textwidth}{17cm}
+\setlength{\textheight}{24.7cm}
+\setlength{\footskip}{1cm}
+\setlength{\parindent}{0pt}
+\renewcommand{\baselinestretch}{1}
+
+\begin{document}
+
+\pagestyle{myheadings}
+\thispagestyle{empty}
+
+\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
+
+\vspace*{-1.3cm}
+
+\parbox{\textwidth}{
+  \parbox[b]{.42\textwidth}{%
+    <%company%>
+    
+    <%address%>
+  }\hfill
+  \begin{tabular}[b]{rr@{}}
+  Tel & <%tel%>\\
+  Fax & <%fax%>
+  \end{tabular}
+
+  \rule[1.5ex]{\textwidth}{0.5pt}
+}
+
+<%pagebreak 90 27 37%>
+\end{tabularx}
+
+\newpage
+
+\markboth{<%company%>\hfill <%ordnumber%>}{<%company%>\hfill <%ordnumber%>}
+
+\vspace*{-12pt}
+
+\begin{tabularx}{\textwidth}{@{}rlXllrrll@{}}
+  \textbf{Pos} & \textbf{Nummer} & \textbf{Beschreibung} & \textbf{Seriennummer} & & \textbf{Menge} & \textbf{Erh} & & \textbf{Lagerplatz} \\
+<%end pagebreak%>
+
+
+\vspace*{0.5cm}
+
+\parbox[t]{1cm}{\hfill}
+\parbox[t]{.5\textwidth}{
+\textbf{Von}
+\vspace{0.7cm}
+
+<%name%> \\
+<%street%> \\
+<%zipcode%> \\
+<%city%> \\
+<%country%>
+}
+\parbox[t]{.4\textwidth}{
+\textbf{Lieferanschrift}
+\vspace{0.7cm}
+
+<%shiptoname%> \\
+<%shiptostreet%> \\
+<%shiptozipcode%> \\
+<%shiptocity%> \\
+<%shiptocountry%>
+}
+\hfill
+
+\vspace{1cm}
+
+\textbf{L A G E R L I S T E}
+\hfill
+
+\vspace{1cm}
+
+\begin{tabularx}{\textwidth}{*{6}{|X}|} \hline
+  \textbf{BestellNr. \#} & \textbf{Datum} & \textbf{Kontakt}
+  <%if warehouse%>
+  & \textbf{Lager}
+  <%end warehouse%>
+  & \textbf{Lagerplatz} & \textbf{Lieferung mit} \\ [0.5em]
+  \hline
+
+  <%ordnumber%>
+  <%if shippingdate%>
+  & <%shippingdate%>
+  <%end shippingdate%>
+  <%if not shippingdate%>
+  & <%orddate%>
+  <%end shippingdate%>
+  & <%employee%>
+  <%if warehouse%>
+  & <%warehouse%>
+  <%end warehouse%>
+  & <%shippingpoint%> & <%shipvia%> \\
+  \hline
+\end{tabularx}
+
+\vspace{1cm}
+
+\begin{tabularx}{\textwidth}{@{}rlXllrrll@{}}
+  \textbf{Pos} & \textbf{Nummer} & \textbf{Beschreibung} & \textbf{Seriennumner} & & \textbf{Menge} & \textbf{Erh} & & \textbf{Lagerplatz} \\
+
+<%foreach number%>
+  <%runningnumber%> & <%number%> & <%description%> & <%serialnumber%> &
+  <%deliverydate%> & <%qty%> & <%ship%> & <%unit%> & <%bin%> \\
+<%end number%>
+\end{tabularx}
+
+
+\rule{\textwidth}{2pt}
+
+\end{document}
+
diff --git a/templates/print/Standard/bwa.html b/templates/print/Standard/bwa.html
new file mode 100644 (file)
index 0000000..91907d8
--- /dev/null
@@ -0,0 +1,582 @@
+<body>
+<style type="text/css">
+<!--
+/* Allgemeine Schriftdefinition */
+th,td {
+       font-family: Arial, Verdana, Helvetica, Sans-serif;
+       font-size:small;
+}
+
+@page {
+       size: landscape;
+       margin: 0.5cm;
+}
+
+/* Definition Tabellenueberschrift */
+
+.left  { text-align:left; }
+.center        { text-align:center; }
+.right { text-align:right; }
+
+tr.headline    { border:0; }
+tr.headline td { border:0; }
+h1 { font-size:120%; }
+h2 { font-size:100%; }
+
+/* Tabellenkopf */
+th {
+       font-weight: bold;
+       border-bottom: solid thin black;
+       padding:0 10px;
+       text-align:right;
+}
+
+th.left  { border-left:  solid thin black; }
+th.right { border-right: solid thin black; }
+
+.querkopf th.right { text-align:center; }
+.querkopf th {
+       border-top: solid thin black;
+       border-bottom:0;
+}
+
+/* Tabelleninhalt */
+td {
+       text-align:right;
+       padding:0 0.5em;
+}
+td.left  { border-left:  solid thin black; }
+td.right { border-right: solid thin black; }
+
+
+/* jede zweite Zeile grau hinterlegen */
+tr.grey {
+       background:#f0f0f0;
+}
+
+/* letzte Zeile in der Tabelle */
+#last td{ border-bottom: solid thin black; }
+
+/* Zwischensumme/-ueberschriften */
+tr.subtotal td { font-weight: bold; }
+
+/* Fusszeile unter der Tabelle */
+td.footer {
+       text-align:right;
+       font-size:smaller;
+}
+//-->
+</style>
+
+<table border=0 cellpadding=0 cellspacing=0>
+<tr class="headline">
+       <td class="left"><%company%></td>
+       <td class=center colspan="9">
+               <h1>Kurzfristige Erfolgsrechnung <%period%></h1>
+               <h2>SKR3 &nbsp; BWA</h2>
+       </td>
+       <td class="right">Blatt 1</td>
+</tr>
+       
+       
+</tr>  
+<tr class="querkopf">
+       <th class="left">&nbsp;</th>
+       <th class="center" colspan="5">Im Betrachtungszeitraum</th>
+       <th class="right" colspan="5">Kumuliert seit Jahresanfang</th>
+</tr>
+
+<tr>
+       <th class="left">Bezeichnung</th>
+       <th>Wert</th>
+       <th>% Ges.- Leistg.</th>
+       <th>% Ges.- Kosten</th>
+       <th>% Pers.- Kosten</th>
+       <th>Aufschlag</th>
+       <th>Wert</th>
+       <th>% Ges.- Leistg.</th>
+       <th>% Ges.- Kosten</th>
+       <th>% Pers.- Kosten</th>
+       <th class="right">Aufschlag</th>
+</tr>
+
+<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
+
+<tr class="grey">
+       <td class="left"><nobr>Umsatzerl&ouml;se</nobr></td>
+       <td><nobr><%jetzt1%></nobr></td>
+       <td><nobr><%jetztgl1%></nobr></td>
+       <td></td>
+       <td></td>
+       <td></td>
+       <td><nobr><%kumm1%></nobr></td>
+       <td><nobr><%kummgl1%></nobr></td>
+       <td></td>
+       <td></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="white">
+       <td class="left"><nobr>Best.Verdg. FE/UE</nobr></td>
+       <td><nobr><%jetzt2%></nobr></td>
+       <td><nobr><%jetztgl2%></nobr></td>
+       <td></td>
+       <td></td>
+       <td></td>       
+       <td><nobr><%kumm2%></nobr></td>
+       <td><nobr><%kummgl2%></nobr></td>
+       <td></td>
+       <td></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="grey">
+       <td class="left"><nobr>Akt.Eigenleistungen</nobr></td>
+       <td><nobr><%jetzt3%></nobr></td>
+       <td><nobr><%jetztgl3%></nobr></td>
+       <td></td>
+       <td></td>
+       <td></td>
+       <td><nobr><%kumm3%></nobr></td>
+       <td><nobr><%kummgl3%></nobr></td>
+       <td></td>
+       <td></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
+       
+<tr class="grey subtotal">
+       <td class="left"><nobr>Gesamtleistung</nobr></td>
+       <td><nobr><%jetztgesamtleistung%></nobr></td>
+       <td><nobr><%jetztglgesamtleistung%></nobr></td>
+       <td><nobr><%jetztgkgesamtleistung%></nobr></td>
+       <td><nobr><%jetztpkgesamtleistung%></nobr></td>
+       <td></td>
+       <td><nobr><%kummgesamtleistung%></nobr></td>
+       <td><nobr><%kummglgesamtleistung%></nobr></td>
+       <td><nobr><%kummgkgesamtleistung%></nobr></td>
+       <td><nobr><%kummpkgesamtleistung%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
+       
+<tr class="grey">
+       <td class="left"><nobr>Mat./Wareneinkauf</nobr></td>
+       <td><nobr><%jetzt4%></nobr></td>
+       <td><nobr><%jetztgl4%></nobr></td>
+       <td><nobr><%jetztgk4%></nobr></td>
+       <td><nobr><%jetztpk4%></nobr></td>
+       <td><nobr><%jetztauf4%></nobr></td>
+       <td><nobr><%kumm4%></nobr></td>
+       <td><nobr><%kummgl4%></nobr></td>
+       <td><nobr><%kummgk4%></nobr></td>
+       <td><nobr><%kummpk4%></nobr></td>
+       <td class="right"><nobr><%kummauf4%></nobr>&nbsp;</td>
+</tr>
+       
+<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
+               
+<tr class="grey subtotal">
+       <td class="left"><nobr>Rohertrag</nobr></td>
+       <td><nobr><%jetztrohertrag%></nobr></td>
+       <td><nobr><%jetztglrohertrag%></nobr></td>
+       <td><nobr><%jetztgkrohertrag%></nobr></td>
+       <td><nobr><%jetztpkrohertrag%></nobr></td>
+       <td><nobr><%jetztaufrohertrag%></nobr></td>
+       <td><nobr><%kummrohertrag%></nobr></td>
+       <td><nobr><%kummglrohertrag%></nobr></td>
+       <td><nobr><%kummgkrohertrag%></nobr></td>
+       <td><nobr><%kummpkrohertrag%></nobr></td>
+       <td class="right"><nobr><%kummaufrohertrag%></nobr>&nbsp;</td>
+</tr>
+       
+<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
+               
+<tr class="grey">
+       <td class="left"><nobr>So.betr.Erl&ouml;se</nobr></td>
+       <td><nobr><%jetzt5%></nobr></td>
+       <td><nobr><%jetztgl5%></nobr></td>
+       <td><nobr><%jetztgk5%></nobr></td>
+       <td><nobr><%jetztpk5%></nobr></td>
+       <td></td>
+       <td><nobr><%kumm5%></nobr></td>
+       <td><nobr><%kummgl5%></nobr></td>
+       <td><nobr><%kummgk5%></nobr></td>
+       <td><nobr><%kummpk5%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
+               
+<tr class="grey subtotal">
+       <td class="left"><nobr>Betriebl. Rohertrag</nobr></td>
+       <td><nobr><%jetztbetriebrohertrag%></nobr></td>
+       <td><nobr><%jetztglbetriebrohertrag%></nobr></td>
+       <td><nobr><%jetztgkbetriebrohertrag%></nobr></td>
+       <td><nobr><%jetztpkbetriebrohertrag%></nobr></td>
+       <td><nobr><%jetztaufbetriebrohertrag%></nobr></td>
+       <td><nobr><%kummbetriebrohertrag%></nobr></td>
+       <td><nobr><%kummglbetriebrohertrag%></nobr></td>
+       <td><nobr><%kummgkbetriebrohertrag%></nobr></td>
+       <td><nobr><%kummpkbetriebrohertrag%></nobr></td>
+       <td
+class="right"><nobr><%kummaufbetriebrohertrag%></nobr>&nbsp;</td>
+</tr>
+
+<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
+
+<tr class="grey subtotal">
+       <td class="left">Kostenarten:</td>
+       <td class="right" colspan="10">&nbsp;</td>
+</tr>  
+               
+<tr class="white">
+       <td class="left"><nobr>Personalkosten</nobr></td>
+       <td><nobr><%jetzt10%></nobr></td>
+       <td><nobr><%jetztgl10%></nobr></td>
+       <td><nobr><%jetztgk10%></nobr></td>
+       <td><nobr><%jetztpk10%></nobr></td>
+       <td></td>
+       <td><nobr><%kumm10%></nobr></td>
+       <td><nobr><%kummgl10%></nobr></td>
+       <td><nobr><%kummgk10%></nobr></td>
+       <td><nobr><%kummpk10%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="grey">
+       <td class="left"><nobr>Raumkosten</nobr></td>
+       <td><nobr><%jetzt11%></nobr></td>
+       <td><nobr><%jetztgl11%></nobr></td>
+       <td><nobr><%jetztgk11%></nobr></td>
+       <td><nobr><%jetztpk11%></nobr></td>
+       <td></td>
+       <td><nobr><%kumm11%></nobr></td>
+       <td><nobr><%kummgl11%></nobr></td>
+       <td><nobr><%kummgk11%></nobr></td>
+       <td><nobr><%kummpk11%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="white">
+       <td class="left"><nobr>Betriebl.Steuern</nobr></td>
+       <td><nobr><%jetzt12%></nobr></td>
+       <td><nobr><%jetztgl12%></nobr></td>
+       <td><nobr><%jetztgk12%></nobr></td>
+       <td><nobr><%jetztpk12%></nobr></td>
+       <td></td>
+       <td><nobr><%kumm12%></nobr></td>
+       <td><nobr><%kummgl12%></nobr></td>
+       <td><nobr><%kummgk12%></nobr></td>
+       <td><nobr><%kummpk12%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="grey">
+       <td class="left"><nobr>Versich./Beitr&auml;ge</nobr></td>
+       <td><nobr><%jetzt13%></nobr></td>
+       <td><nobr><%jetztgl13%></nobr></td>
+       <td><nobr><%jetztgk13%></nobr></td>
+       <td><nobr><%jetztpk13%></nobr></td>
+       <td></td>
+       <td><nobr><%kumm13%></nobr></td>
+       <td><nobr><%kummgl13%></nobr></td>
+       <td><nobr><%kummgk13%></nobr></td>
+       <td><nobr><%kummpk13%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="grey">
+       <td class="left"><nobr>Kfz-Kosten (o.St.)</nobr></td>
+       <td><nobr><%jetzt14%></nobr></td>
+       <td><nobr><%jetztgl14%></nobr></td>
+       <td><nobr><%jetztgk14%></nobr></td>
+       <td><nobr><%jetztpk14%></nobr></td>
+       <td></td>
+       <td><nobr><%kumm14%></nobr></td>
+       <td><nobr><%kummgl14%></nobr></td>
+       <td><nobr><%kummgk14%></nobr></td>
+       <td><nobr><%kummpk14%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="white">
+       <td class="left"><nobr>Werbe-/Reisekosten</nobr></td>
+       <td><nobr><%jetzt15%></nobr></td>
+       <td><nobr><%jetztgl15%></nobr></td>
+       <td><nobr><%jetztgk15%></nobr></td>
+       <td><nobr><%jetztpk15%></nobr></td>
+       <td></td>
+       <td><nobr><%kumm15%></nobr></td>
+       <td><nobr><%kummgl15%></nobr></td>
+       <td><nobr><%kummgk15%></nobr></td>
+       <td><nobr><%kummpk15%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="grey">
+       <td class="left"><nobr>Kosten Warenabgabe</nobr></td>
+       <td><nobr><%jetzt16%></nobr></td>
+       <td><nobr><%jetztgl16%></nobr></td>
+       <td><nobr><%jetztgk16%></nobr></td>
+       <td><nobr><%jetztpk16%></nobr></td>
+       <td></td>
+       <td><nobr><%kumm16%></nobr></td>
+       <td><nobr><%kummgl16%></nobr>
+</td>
+       <td><nobr><%kummgk16%></nobr></td>
+       <td><nobr><%kummpk16%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="white">
+       <td class="left"><nobr>Abschreibungen</nobr></td>
+       <td><nobr><%jetzt17%></nobr></td>
+       <td><nobr><%jetztgl17%></nobr></td>
+       <td><nobr><%jetztgk17%></nobr></td>
+       <td><nobr><%jetztpk17%></nobr></td>
+       <td></td>
+       <td><nobr><%kumm17%></nobr></td>
+       <td><nobr><%kummgl17%></nobr></td>
+       <td><nobr><%kummgk17%></nobr></td>
+       <td><nobr><%kummpk17%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="grey">
+       <td class="left"><nobr>Reparatur/Instandh.</nobr></td>
+       <td><nobr><%jetzt18%></nobr></td>
+       <td><nobr><%jetztgl18%></nobr></td>
+       <td><nobr><%jetztgk18%></nobr></td>
+       <td><nobr><%jetztpk18%></nobr></td>
+       <td></td>
+       <td><nobr><%kumm18%></nobr></td>
+       <td><nobr><%kummgl18%></nobr></td>
+       <td><nobr><%kummgk18%></nobr></td>
+       <td><nobr><%kummpk18%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="white">
+       <td class="left"><nobr>Sonstige Kosten</nobr></td>
+       <td><nobr><%jetzt20%></nobr></td>
+       <td><nobr><%jetztgl20%></nobr></td>
+       <td><nobr><%jetztgk20%></nobr></td>
+       <td><nobr><%jetztpk20%></nobr></td>
+       <td></td>
+       <td><nobr><%kumm20%></nobr></td>
+       <td><nobr><%kummgl20%></nobr></td>
+       <td><nobr><%kummgk20%></nobr></td>
+       <td><nobr><%kummpk20%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="grey subtotal">
+       <td class="left"><nobr>Gesamtkosten</nobr></td>
+       <td><nobr><%jetztgesamtkosten%></nobr></td>
+       <td><nobr><%jetztglgesamtkosten%></nobr></td>
+       <td><nobr><%jetztgkgesamtkosten%></nobr></td>
+       <td><nobr><%jetztpkgesamtkosten%></nobr></td>
+       <td></td>
+       <td><nobr><%kummgesamtkosten%></nobr></td>
+       <td><nobr><%kummglgesamtkosten%></nobr></td>
+       <td><nobr><%kummgkgesamtkosten%></nobr></td>
+       <td><nobr><%kummpkgesamtkosten%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
+
+       
+<tr class="grey subtotal">
+<td class="left"><nobr>Betriebsergebnis</nobr></td>
+       <td><nobr><%jetztbetriebsergebnis%></nobr></td>
+       <td><nobr><%jetztglbetriebsergebnis%></nobr>
+</td>
+       <td><nobr><%jetztgkbetriebsergebnis%></nobr></td>
+       <td><nobr><%jetztpkbetriebsergebnis%></nobr></td>
+       <td></td>
+       <td><nobr><%kummbetriebsergebnis%></nobr></td>
+       <td><nobr><%kummglbetriebsergebnis%></nobr>
+</td>
+       <td><nobr><%kummgkbetriebsergebnis%></nobr></td>
+       <td><nobr><%kummpkbetriebsergebnis%></nobr></td>
+       <td class="right">&nbsp;</td>
+       </tr>
+
+<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
+
+<tr class="grey">
+       <td class="left"><nobr>Zinsaufwand</nobr></td>
+       <td><nobr><%jetzt30%></nobr></td>
+       <td><nobr><%jetztgl30%></nobr></td>
+       <td><nobr><%jetztgk30%></nobr></td>
+       <td><nobr><%jetztpk30%></nobr></td>
+       <td></td>
+       <td><nobr><%kumm30%></nobr></td>
+       <td><nobr><%kummgl30%></nobr></td>
+       <td><nobr><%kummgk30%></nobr></td>
+       <td><nobr><%kummpk30%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="white">
+       <td class="left"><nobr>&Uuml;brige Steuern</nobr></td>
+       <td><nobr><%jetzt19%></nobr></td>
+       <td><nobr><%jetztgl19%></nobr></td>
+       <td><nobr><%jetztgk19%></nobr></td>
+       <td><nobr><%jetztpk19%></nobr></td>
+       <td></td>
+       <td><nobr><%kumm19%></nobr></td>
+       <td><nobr><%kummg191%></nobr></td>
+       <td><nobr><%kummgk19%></nobr></td>
+       <td><nobr><%kummpk19%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="grey">
+       <td class="left"><nobr>Sonst. neutr. Aufwand</nobr></td>
+       <td><nobr><%jetzt31%></nobr></td>
+       <td><nobr><%jetztgl31%></nobr></td>
+       <td><nobr><%jetztgk31%></nobr></td>
+       <td><nobr><%jetztpk31%></nobr></td>
+       <td></td>
+       <td><nobr><%kumm31%></nobr></td>
+       <td><nobr><%kummgl31%></nobr></td>
+       <td><nobr><%kummgk31%></nobr></td>
+       <td><nobr><%kummpk31%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="white subtotal">
+<td class="left"><nobr>Neutraler Aufwand</nobr></td>
+       <td><nobr><%jetztneutraleraufwand%></nobr></td>
+       <td><nobr><%jetztglneutraleraufwand%></nobr></td>
+       <td><nobr><%jetztgkneutraleraufwand%></nobr></td>
+       <td><nobr><%jetztpkneutraleraufwand%></nobr></td>
+       <td></td>
+       <td><nobr><%kummneutraleraufwand%></nobr></td>
+       <td><nobr><%kummglneutraleraufwand%></nobr></td>
+       <td><nobr><%kummgkneutraleraufwand%></nobr></td>
+       <td><nobr><%kummpkneutraleraufwand%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="grey"><td class="left right" colspan="11">&nbsp;</td></tr>
+
+<tr class="white">
+       <td class="left"><nobr>Zinsertr&auml;ge</nobr></td>
+       <td><nobr><%jetzt32%></nobr></td>
+       <td><nobr><%jetztgl32%></nobr></td>
+       <td><nobr><%jetztgk32%></nobr></td>
+       <td><nobr><%jetztpk32%></nobr></td>
+       <td></td>
+       <td><nobr><%kumm32%></nobr></td>
+       <td><nobr><%kummgl32%></nobr></td>
+       <td><nobr><%kummgk32%></nobr></td>
+       <td><nobr><%kummpk32%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="grey">
+       <td class="left"><nobr>Sonst. neutr. Ertr.</nobr></td>
+       <td><nobr><%jetzt33%></nobr></td>
+       <td><nobr><%jetztgl33%></nobr></td>
+       <td><nobr><%jetztgk33%></nobr></td>
+       <td><nobr><%jetztpk33%></nobr></td>
+       <td></td>
+       <td><nobr><%kumm33%></nobr></td>
+       <td><nobr><%kummgl33%></nobr></td>
+       <td><nobr><%kummgk33%></nobr></td>
+       <td><nobr><%kummpk33%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="white">
+       <td class="left"><nobr>Verr.kalk.Kosten</nobr></td>
+       <td><nobr><%jetzt34%></nobr></td>
+       <td><nobr><%jetztgl34%></nobr>
+       <td><nobr><%jetztgk34%></nobr></td>
+       <td><nobr><%jetztpk34%></nobr></td>
+       <td></td>
+       <td><nobr><%kumm34%></nobr></td>
+       <td><nobr><%kummgl34%></nobr></td>
+       <td><nobr><%kummgk34%></nobr></td>
+       <td><nobr><%kummpk34%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+
+<tr class="grey subtotal">
+       <td class="left"><nobr>Neutraler Ertrag</nobr></td>
+       <td><nobr><%jetztneutralerertrag%></nobr></td>
+       <td><nobr><%jetztglneutralerertrag%></nobr></td>
+       <td><nobr><%jetztgkneutralerertrag%></nobr></td>
+       <td><nobr><%jetztpkneutralerertrag%></nobr></td>
+       <td></td>
+       <td><nobr><%kummneutralerertrag%></nobr></td>
+       <td><nobr><%kummglneutralerertrag%></nobr></td>
+       <td><nobr><%kummgkneutralerertrag%></nobr></td>
+       <td><nobr><%kummpkneutralerertrag%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+       
+<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
+
+<tr class="grey subtotal">
+       <td class="left"><nobr>Ergebnis vor Steuern</nobr></td>
+       <td><nobr><%jetztergebnisvorsteuern%></nobr></td>
+       <td><nobr><%jetztglergebnisvorsteuern%></nobr></td>
+       <td><nobr><%jetztgkergebnisvorsteuern%></nobr></td>
+       <td><nobr><%jetztpkergebnisvorsteuern%></nobr></td>
+       <td></td>
+       <td><nobr><%kummergebnisvorsteuern%></nobr></td>
+       <td><nobr><%kummglergebnisvorsteuern%></nobr></td>
+       <td><nobr><%kummgkergebnisvorsteuern%></nobr></td>
+       <td><nobr><%kummpkergebnisvorsteuern%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+       
+<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
+
+<tr class="grey">
+       <td class="left"><nobr>Steuern Eink.u.Ertr.</nobr></td>
+       <td><nobr><%jetzt35%></nobr></td>
+       <td><nobr><%jetztgl35%></nobr></td>
+       <td><nobr><%jetztgk35%></nobr></td>
+       <td><nobr><%jetztpk35%></nobr></td>
+       <td></td>
+       <td><nobr><%kumm35%></nobr></td>
+       <td><nobr><%kummgl35%></nobr></td>
+       <td><nobr><%kummgk35%></nobr></td>
+       <td><nobr><%kummpk35%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+       
+<tr class="white"><td class="left right" colspan="11">&nbsp;</td></tr>
+
+<tr class="grey subtotal">
+       <td class="left"><nobr>Vorl&auml;ufiges Ergebnis</nobr></td>
+       <td><nobr><%jetztergebnis%></nobr></td>
+       <td><nobr><%jetztglergebnis%></nobr></td>
+       <td><nobr><%jetztgkergebnis%></nobr></td>
+       <td><nobr><%jetztpkergebnis%></nobr></td>
+       <td></td>
+       <td><nobr><%kummergebnis%></nobr></td>
+       <td><nobr><%kummglergebnis%></nobr></td>
+       <td><nobr><%kummgkergebnis%></nobr></td>
+       <td><nobr><%kummpkergebnis%></nobr></td>
+       <td class="right">&nbsp;</td>
+</tr>
+       
+<tr class="white" id=last><td class="left right"
+colspan="11">&nbsp;</td></tr>
+
+<tr>
+       <td colspan=11 class=footer>W&auml;hrung: Euro - FiBu: LX Office ERP
+(Version <%version%>) - Formular: 11.01.2007</td>
+</tr>
+
+</table>
+</body>
diff --git a/templates/print/Standard/check.tex b/templates/print/Standard/check.tex
new file mode 100644 (file)
index 0000000..6086d45
--- /dev/null
@@ -0,0 +1,71 @@
+\documentclass[twoside]{scrartcl}
+\usepackage[frame]{xy}
+\usepackage{tabularx}
+\usepackage[utf8]{inputenc}
+\setlength{\voffset}{0.4cm}
+\setlength{\hoffset}{-2.0cm}
+\setlength{\topmargin}{0cm}
+\setlength{\headheight}{0.0cm}
+\setlength{\headsep}{1cm}
+\setlength{\topskip}{0pt}
+\setlength{\oddsidemargin}{1.0cm}
+\setlength{\evensidemargin}{1.0cm}
+\setlength{\textwidth}{17cm}
+\setlength{\textheight}{24.5cm}
+\setlength{\footskip}{1cm}
+\setlength{\parindent}{0pt}
+\renewcommand{\baselinestretch}{1}
+\begin{document}
+
+
+\fontfamily{cmss}\fontsize{9pt}{9pt}\selectfont
+
+\parbox[t]{12cm}{
+  <%company%>
+
+  <%address%>}
+\hfill
+\parbox[t]{6cm}{\hfill <%source%>}
+
+\vspace*{0.6cm}
+
+<%text_amount%> \dotfill <%decimal%>/100 \makebox[0.5cm]{\hfill}
+
+\vspace{0.5cm}
+
+\hfill <%datepaid%> \makebox[2cm]{\hfill} <%amount%>
+
+\vspace{0.5cm}
+
+<%name%>
+
+<%street%>
+
+<%zipcode%>
+
+<%city%>
+
+<%country%>
+
+\vspace{2.8cm}
+
+<%company%>
+
+\vspace{0.5cm}
+
+<%name%> \hfill <%datepaid%> \hfill <%source%>
+
+\vspace{0.5cm}
+\begin{tabularx}{\textwidth}{lXrr@{}}
+\textbf{Rechnung} & \textbf{Ausgestellt}
+  & \textbf{Fällig} & \textbf{Verrechnet} \\
+<%foreach invnumber%>
+<%invnumber%> & <%invdate%> \dotfill
+  & <%due%> & <%paid%> \\
+<%end invnumber%>
+\end{tabularx}
+
+\vfill
+
+\end{document}
+
diff --git a/templates/print/Standard/credit_note.odt b/templates/print/Standard/credit_note.odt
new file mode 100644 (file)
index 0000000..1d9c4c9
Binary files /dev/null and b/templates/print/Standard/credit_note.odt differ
diff --git a/templates/print/Standard/credit_note.tex b/templates/print/Standard/credit_note.tex
new file mode 100755 (executable)
index 0000000..3dd8b58
--- /dev/null
@@ -0,0 +1,265 @@
+% credit_note.tex
+% Verkauf Gutschrift
+% Überarbeitet von Norbert Simon, n.simon@linet-services.de
+% Version 2.5 vom 16. November 2011
+% Basiert auf der Arbeit von kmk@lilalaser.de / 2007
+% Diese Vorlage steht unter der GPL-Lizenz, Version 3
+% siehe http://www.gnu.de/licenses/gpl-3.0.html
+% ----------
+% config: tag-style=$( )$
+% ----------
+
+\documentclass[twoside]{scrartcl}
+\usepackage{fancyhdr}       % Für den Seitenkopf und -Fuß
+\usepackage{ifpdf}          % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe
+\usepackage{xifthen}        % Allgemeine Code-Weiche
+\usepackage{graphicx}       % Fuer die Einbindung der Logo-Graphik
+\usepackage{german}         % Deutsche Trenn-Tabelle
+\usepackage[utf8]{inputenc} % Umlaute direkt eingeben
+\usepackage{textcomp}       % Sonderzeichen
+\usepackage{lastpage}       % Fuer die Angabe "Seite 2 von 5"
+\usepackage{filecontents}   % Um von latex aus eine Datei schreiben zu koennen
+\usepackage{etex}           % Damit Marken verwendet werden koennen
+\usepackage{ltxtable}       % Mehrseiten-Tabellen mit variabler Spaltenbreite
+\usepackage{booktabs}      % Striche in Tabellen
+\usepackage{numprint}       % Zahlen formatiert ausgeben
+\usepackage[$(if myconfig_output_numberformat =~ "1.000,00")$german$(else)$$(if myconfig_output_numberformat =~ "1000,00")$germannosep$(else)$$(if myconfig_output_numberformat =~ "1,000.00")$english$(else)$englishnosep$(end)$$(end)$$(end)$]{zwischensumme}  % Lokales Makro zur Berechnung der Zwischensummen
+\usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text
+\newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften
+
+% ---------- Report-Variablen zur Verwendung in lxbriefkopf.tex ----------
+% ----------  Die eigenen Daten ----------
+\newcommand{\employeename}{$(employee_name)$}
+\newcommand{\employeecompany}{$(employee_company)$}
+\newcommand{\employeeaddress}{$(employee_address)$}
+\newcommand{\employeetel}{$(employee_tel)$}
+\newcommand{\employeefax}{$(employee_fax)$}
+\newcommand{\employeeemail}{$(employee_email)$}
+\newcommand{\employeecoustid}{$(employee_co_ustid)$}
+\newcommand{\employeetaxnumber}{$(employee_taxnumber)$}
+\newcommand{\employeetable}{tabelle$(employee_login)$.tex}
+
+% ---------- Eigene Bankverbindung falls nicht im Briefkopf gesetzt ----------
+% \newcommand{\companybank}{$(company_bank)$}
+% \newcommand{\companybankcode}{$(company_bank_code)$}
+% \newcommand{\companyaccountnumber}{$(company_account_number)$}
+
+% ---------- Adressat ----------
+\newcommand{\name}{$(name)$}
+\newcommand{\departmentone}{$(department_1)$}
+\newcommand{\departmenttwo}{$(department_2)$}
+\newcommand{\cpgreeting}{$(cp_greeting)$}
+\newcommand{\cptitle}{$(cp_title)$}
+\newcommand{\cpgivenname}{$(cp_givenname)$}
+\newcommand{\cpname}{$(cp_name)$}
+\newcommand{\street}{$(street)$}
+\newcommand{\country}{$(country)$}
+\newcommand{\zipcode}{$(zipcode)$}
+\newcommand{\city}{$(city)$}
+\newcommand{\phone}{$(customerphone)$}
+\newcommand{\fax}{$(customerfax)$}
+\newcommand{\lettergreeting}{
+       \ifthenelse{\equal{$(cp_gender)$}{f}}
+        {Sehr geehrte Frau $(cp_name)$,}
+       {\ifthenelse{\equal{$(cp_gender)$}{m}}
+         {Sehr geehrter Herr $(cp_name)$,}
+         {Sehr geehrte Damen und Herren,}
+       }\\[1\baselineskip]
+}
+
+% ---------- Rechnungsvariablen ----------
+\newcommand{\kundennummer}{$(customernumber)$}
+\newcommand{\quonumber}{$(quonumber)$}         % Angebotsnummer
+\newcommand{\ordnumber}{$(ordnumber)$}         % Auftragsnummer bei uns
+\newcommand{\cusordnumber}{$(cusordnumber)$}   % Auftragsnummer beim Kunden
+\newcommand{\invnumber}{$(invnumber)$}         % Rechnungsnummer
+\newcommand{\invnumbercreditnote}{$(invnumber_for_credit_note)$} %Rechnungsnummer Gutschrift
+\newcommand{\docnumber}{Rechnungsnummer: \invnumber}
+\newcommand{\quodate}{$(quodate)$}             % Angebotsdatum
+\newcommand{\orddate}{$(orddate)$}             % Auftragsdatum
+\newcommand{\reqdate}{$(reqdate)$}             % gewuenschtes Lieferdatum
+\newcommand{\deliverydate}{$(deliverydate)$}    % Lieferdatum
+\newcommand{\invdate}{$(invdate)$}             % Rechnungsdatum
+\newcommand{\terms}{$(terms)$}                 % Zahlungsfrist
+\newcommand{\duedate}{$(duedate)$}             % Fälligkeitsdatum
+\newcommand{\invtotal}{$(invtotal)$}           % Gesamtbetrag
+\newcommand{\paid}{$(paid)$}                   % Schon bezahlt
+\newcommand{\total}{$(total)$}                 % Restbetrag
+
+% ---------- Lieferadresse ----------
+\newcommand{\shiptoname}{$(shiptoname)$}
+\newcommand{\shiptocontact}{$(shiptocontact)$}
+\newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$}
+\newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$}
+\newcommand{\shiptostreet}{$(shiptostreet)$}
+\newcommand{\shiptocity}{$(shiptocity)$}
+\newcommand{\shiptocountry}{$(shiptocountry)$}
+\newcommand{\shiptophone}{$(shiptophone)$}
+\newcommand{\shiptozipcode}{$(shiptozipcode)$}
+\newcommand{\shiptofax}{$(shiptofax)$}
+
+% ---------- Währungszeichen ----------
+\newcommand{\currency}{$(currency)$}
+\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{}
+\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{}
+\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{}
+\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{}
+
+% ---------- Ende Reportvariablen-Umsetzung ----------
+
+% ---------- Briefkopf dazuladen ----------
+\input{lxbriefkopf}
+
+\begin{document}
+% ---------- Schrift Hauptdokuments (Computermodern-sanserif)  ----------
+% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% ---------- Schrift Helvetica ------------------------
+\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+
+% ---------- Firmenlogo nur erste Seite ----------
+\thispagestyle{briefkopf}
+
+% ---------- Datum und Nummern ----------
+% Position unterhalb des Briefkopfs
+\vspace*{\vlogospacing}
+\renewcommand{\arraystretch}{0.9}
+\begin{minipage}[b]{177mm}
+\sperren{\textbf{Gutschrift Nr. \invnumber}}
+\hfill
+       \small
+       \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}}
+               \textbf{Seite} & {\thepage} von \pageref{LastPage}\\
+               \textbf{Datum} & \invdate \\
+               \textbf{Kunden Nr.} & \kundennummer\\
+               \nonemptyline{\textbf{Auftrag Nr.} &}{\ordnumber}
+               \nonemptyline{\textbf{Rechnung Nr.} &}{\invnumbercreditnote}
+               \nonemptyline{\textbf{Gutschrift Nr.} &}{\invnumber}
+               \textbf{Ansprechpartner} & \employeename\\
+               \nonemptyline{\textbf{Durchwahl} &}{\employeetel}
+               \nonemptyline{\textbf{E-Mail} &}{\employeeemail}
+       \end{tabular}\\[10mm plus 20mm minus 10mm]
+\end{minipage}
+\renewcommand{\arraystretch}{1}
+\normalsize
+% ---------- Begrüßung und Bemerkungen ----------
+\vspace{ 5mm}
+%\lettergreeting
+Hiermit erstatten wir Ihnen zur Rechnung Nr. \invnumbercreditnote{ } die nachfolgenden Positionen.\\
+Für Nachfragen steht Ihnen \employeename \ per Telefon (\employeetel) oder per E-Mail (\employeeemail) gerne zur Verfügung.
+%\\[0.4\baselineskip]
+\ifthenelse{\isempty{$(notes)$}}{}{
+      $(notes)$
+      }%
+\vspace{1\baselineskip}\\
+%Mit freundlichen Grüßen\\[1\baselineskip]
+%\employeename\\[1\baselineskip]
+% ---------- Die eigentliche-Tabelle ----------
+% ---------- Tabelle puffern ----------
+\begin{filecontents}{\employeetable}
+% ---------- globale Variable laufsumme deklarieren ----------
+\resetlaufsumme
+% ---------- Spaltendefinition ----------
+%\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{~\currency}}]}}
+\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{}}]}}
+% ---------- Kopfzeile der Tabelle ----------
+       \textbf{Pos} &
+       \textbf{Art.Nr.} &
+       \textbf{Bezeichnung} &
+       \textbf{Menge} &
+       \textbf{ME} &
+       \textbf{EP/€} &
+       \textbf{GP/€} \\
+       \midrule
+  \endfirsthead
+% ---------- Tabellenkopf nach dem Umbruch ----------
+       \textbf{Pos} &
+       \textbf{Art.Nr.} &
+       \textbf{Bezeichnung} &
+       \textbf{Menge} &
+       \textbf{ME} &
+       \textbf{EP/€} &
+       \textbf{GP/€} \\
+        \midrule
+       & & \multicolumn{4}{r}{} & \MarkUebertrPos\\
+  \endhead
+% ---------- Fuss der Teiltabellen ----------
+       \midrule
+       & & \multicolumn{4}{r}{} & \MarkZwsumPos \\
+  \endfoot
+% ---------- Das Ende der Tabelle ----------
+       \midrule
+%      & & \multicolumn{4}{r}{ Nettobetrag:} & \MarkZwsumPos \\
+  \endlastfoot
+% ---------- Positionen ----------
+$(foreach number)$
+       $(runningnumber)$ &
+       $(number)$ &
+       $(description)$
+%      \ifthenelse{\equal{$(longdescription)$}{}}{}{\newline
+%      \renewcommand{\baselinestretch}{1}\footnotesize
+%      {\footnotesize $(longdescription)$
+%      \renewcommand{\baselinestretch}{1}\normalsize
+%      }}
+       \ifthenelse{\equal{$(deliverydate_oe)$}{\leer}}{}{
+               \newline Lieferdatum:~$(deliverydate_oe)$}
+       &
+       $(qty)$ &
+       $(unit)$ &
+       \ifthenelse{\isempty{$(sellprice)$}}{&}{
+               \numprint{$(sellprice)$}
+               \ifthenelse{\equal{$(p_discount)$}{0}}{}{ -$(p_discount)$\%} &
+               \numprint{$(linetotal)$}\Wert{$(linetotal NOFORMAT)$}  
+       }\\ %
+  $(end number)$
+
+\end{longtable}
+% ----------  Ende der Hilfsdatei ----------
+\end{filecontents}
+% ---------- Puffertabelle öffnen ----------
+\LTXtable{\textwidth}{\employeetable}
+%---------- Bereich für die Summen ----------
+\parbox{\textwidth}{
+%---------- Summenbereich nach recht schieben  ----------
+\hfill
+\setlength{\tabcolsep}{0mm}
+\begin{tabular}{@{}r@{ }r@{ }l}
+   {Nettobetrag:}& \numprint{$(subtotal)$}& \currency\\
+% ---------- Alle Steuern ausweisen ----------
+   $(foreach tax)$
+%       {$(taxdescription)$ auf }\numprint{$(taxbase)$}~\currency: & \numprint{$(tax)$}& \\
+               {$(taxdescription)$}:  & \numprint{$(tax)$}& \currency\\
+   $(end tax)$
+   \midrule 
+   {\textbf{Rechnungsbetrag:}} & \bfseries\numprint{\invtotal} & \textbf{\currency}\\
+% ---------- Wenn bereits etwas gezahlt wurde ----------
+$(if invtotal != total)$
+       $(foreach payment)$
+          abzgl. Zahlung vom {$(paymentdate)$}:& {\numprint{-$(payment)$}} & \currency\\
+       $(end paymentdate)$
+       \midrule
+       \textbf{Verbleibend: } & \textbf{\numprint{\total}} & \textbf{\currency}\\
+$(end)$
+\bottomrule
+ \end{tabular}
+} %Ende des Summenkasten
+\vfill
+% ---------- Nachbemerkung mit max. Abstand nach unten ----------
+{
+%Soweit nicht anders angegeben,
+%\ifthenelse{\equal{\deliverydate}{\leer}}
+%   {entspricht das Leistungsdatum dem Rechnungsdatum.}
+%   {wurde die Leistung am {\deliverydate} erbracht.}\\[0.5em]
+%Bitte überweisen Sie den Rechnungsbetrag in Höhe von
+%{\numprint{\total}~\currency} innerhalb von
+%\ifthenelse{\equal{\duedate}{\leer}}{{14}}{{\terms}}~Tagen
+%auf das unten angegebene Konto.
+%\ifthenelse{\equal{\duedate}{\leer}}{}
+%  {Nach dem {\duedate} behalten wir uns Verzugszinsen vor.}
+Bitte nennen Sie uns eine Bankverbindung auf welche das Guthaben überwiesen werden soll.\\
+\vfil
+\footnotesize
+Bereits gelieferte Waren bleiben bis zur vollständigen Bezahlung der
+Rechnung unser Eigentum.
+}
+
+\end{document}
diff --git a/templates/print/Standard/income_statement.html b/templates/print/Standard/income_statement.html
new file mode 100644 (file)
index 0000000..36b612b
--- /dev/null
@@ -0,0 +1,291 @@
+<body>
+
+<h2 align=center>
+Einnahmen&uuml;berschu&szlig;rechnung</h2>
+<h3 align=center>-E&Uuml;R- (Gewinnermittlung nach &sect;4 Abs. 3 EStG)
+<br><%period%>
+</h3>
+
+<table width=100% border=0>
+<tr>
+  <td width=75% align=left colspan=2><font size="+1"><b>A. Betriebseinnahmen</font></b><br></td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>
+       Umsatzerl&ouml;se  
+  </td>
+  <td>
+       <%eur1%>
+  </td>
+</tr>
+<tr>
+  <td>
+       sonstige Erl&ouml;se  
+  </td>
+  <td>
+       <%eur2%>  
+  </td>
+</tr>
+<tr>
+  <td>
+       Privatanteile
+  </td>
+  <td>
+       <%eur3%>  
+  </td>
+</tr>
+<tr>
+  <td>
+       Zinsertr&auml;ge
+  </td>
+  <td>
+       <%eur4%>  
+  </td>
+</tr>
+<tr>
+  <td>
+       Au&szlig;erordentliche Ertr&auml;ge
+  </td>
+  <td>
+       <%eur5%>  
+  </td>
+</tr>
+<tr>
+  <td>
+       Vereinnahmte Umsatzsteuer
+  </td>
+  <td>
+       <%eur6%>  
+  </td>
+</tr>
+<tr>
+  <td>
+       Umsatzsteuererstattungen
+  </td>
+  <td>
+       <%eur7%>  
+  </td>
+</tr>
+
+
+<tr>
+  <td> </td>
+  <td><hr noshade size=1></td>
+</tr>
+
+<tr valign=top>
+  <th align=left><b>Summe Einnahmen</b></th>
+  <td align=right><%sumeura%><hr noshade size=2></td>
+</tr>
+<tr>
+  <td></td>
+  <td><br><br></td>
+</tr>
+<tr>
+  <td align=left><font size="+1"><b>B. Betriebsausgaben</font></b><br></td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>
+       Wareneing&auml;nge
+  </td>
+  <td>
+       <%eur8%>  
+  </td>
+</tr>
+<tr>
+  <td>
+       L&ouml;hne und Geh&auml;ter
+  </td>
+  <td>
+       <%eur9%>  
+  </td>
+</tr>
+<tr>
+  <td>
+       Gesetzlicher sozialer Aufwand
+  </td>
+  <td>
+       <%eur10%>  
+  </td>
+</tr>
+<tr>
+  <td>
+       Mieten
+  </td>
+  <td>
+       <%eur11%>  
+  </td>
+</tr>
+<tr>
+  <td>
+       Gas, Strom, Wasser
+  </td>
+  <td>
+       <%eur12%>  
+  </td>
+</tr>
+<tr>
+  <td>
+       Instandhaltung
+  </td>
+  <td>
+       <%eur13%>  
+  </td>
+</tr>
+<tr>
+  <td>
+       Steuern, Versicherungen, Beitr&auml;ge
+  </td>
+  <td>
+       <%eur14%>  
+  </td>
+</tr>
+<tr>
+  <td>
+       Kfz-Steuern
+  </td>
+  <td>
+       <%eur15%>  
+  </td>
+</tr><tr>
+  <td>
+       Kfz-Versicherungen
+  </td>
+  <td>
+       <%eur16%>  
+  </td>
+</tr><tr>
+  <td>
+       Sonstige Fahrzeugkosten
+  </td>
+  <td>
+       <%eur17%>  
+  </td>
+</tr><tr>
+  <td>
+       Werbe- und Reisekosten
+  </td>
+  <td>
+       <%eur18%>  
+  </td>
+</tr><tr>
+  <td>
+       Instandhaltung und Werkzeuge
+  </td>
+  <td>
+       <%eur19%>  
+  </td>
+</tr><tr>
+  <td>
+       Fachzeitschriften, B&uuml;cher
+  </td>
+  <td>
+       <%eur20%>  
+  </td>
+</tr><tr>
+  <td>
+       Miete f&uuml;r Einrichtungen
+  </td>
+  <td>
+       <%eur21%>  
+  </td>
+</tr><tr>
+  <td>
+       Rechts- und Beratungskosten
+  </td>
+  <td>
+       <%eur22%>  
+  </td>
+</tr><tr>
+  <td>
+       B&uuml;robedarf, Porto, Telefon
+  </td>
+  <td>
+       <%eur23%>  
+  </td>
+</tr><tr>
+  <td>
+       Sonstige Aufwendungen
+  </td>
+  <td>
+       <%eur24%>  
+  </td>
+</tr><tr>
+  <td>
+       Abschreibungen auf Anlageverm&ouml;gen
+  </td>
+  <td>
+       <%eur25%>  
+  </td>
+</tr><tr>
+  <td>
+       Abschreibungen auf GWG
+  </td>
+  <td>
+       <%eur26%>  
+  </td>
+</tr><tr>
+  <td>
+       Vorsteuer
+  </td>
+  <td>
+       <%eur27%>  
+  </td>
+</tr><tr>
+  <td>
+       Umsatzsteuerzahlungen
+  </td>
+  <td>
+       <%eur28%>  
+  </td>
+</tr><tr>
+  <td>
+       Zinsaufwand
+  </td>
+  <td>
+       <%eur29%>  
+  </td>
+</tr><tr>
+  <td>
+       Au&szlig;erordentlicher Aufwand
+  </td>
+  <td>
+       <%eur30%>  
+  </td>
+</tr><tr>
+  <td>
+       Betriebliche Steuern
+  </td>
+  <td>
+       <%eur31%>  
+  </td>
+</tr>
+
+
+<tr>
+  <td> </td>
+  <td><hr noshade size=1></td>
+</tr>
+
+<tr valign=top>
+  <th align=left><b>Summe Ausgaben</b></th>
+  <td align=right><%sumeurb%> <br><hr noshade size=2</td>
+</tr>
+<tr>
+  <td></td>
+  <td><br><br></td>
+</tr>
+<tr valign=top>
+  <td align=left>GEWINN / VERLUST</td>
+  <td align=right><%guvsumme%><br><hr noshade size=2></td>
+</tr>
+
+</table>
+
+</body>
+</html>
+
diff --git a/templates/print/Standard/invoice.odt b/templates/print/Standard/invoice.odt
new file mode 100644 (file)
index 0000000..4ac7557
Binary files /dev/null and b/templates/print/Standard/invoice.odt differ
diff --git a/templates/print/Standard/invoice.tex b/templates/print/Standard/invoice.tex
new file mode 100644 (file)
index 0000000..78710fd
--- /dev/null
@@ -0,0 +1,292 @@
+% invoice.tex
+% Rechnung Verkauf
+% Überarbeitet von Norbert Simon, n.simon@linet-services.de
+% Version 2.5 vom 16. November 2011
+% Basiert auf der Arbeit von kmk@lilalaser.de / 2007
+% Diese Vorlage steht unter der GPL-Lizenz, Version 3
+% siehe http://www.gnu.de/licenses/gpl-3.0.html
+% ----------
+% config: tag-style=$( )$
+% ----------
+
+\documentclass[twoside]{scrartcl}
+\usepackage{fancyhdr}       % Für den Seitenkopf und -Fuß
+\usepackage{ifpdf}          % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe
+\usepackage{xifthen}        % Allgemeine Code-Weiche
+\usepackage{graphicx}       % Fuer die Einbindung der Logo-Graphik
+\usepackage{german}         % Deutsche Trenn-Tabelle
+\usepackage[utf8]{inputenc} % Umlaute direkt eingeben
+\usepackage{textcomp}       % Sonderzeichen
+\usepackage{lastpage}       % Fuer die Angabe "Seite 2 von 5"
+\usepackage{filecontents}   % Um von latex aus eine Datei schreiben zu koennen
+\usepackage{etex}           % Damit Marken verwendet werden koennen
+\usepackage{ltxtable}       % Mehrseiten-Tabellen mit variabler Spaltenbreite
+\usepackage{booktabs}      % Striche in Tabellen
+\usepackage{numprint}       % Zahlen formatiert ausgeben
+\usepackage[$(if myconfig_output_numberformat =~ "1.000,00")$german$(else)$$(if myconfig_output_numberformat =~ "1000,00")$germannosep$(else)$$(if myconfig_output_numberformat =~ "1,000.00")$english$(else)$englishnosep$(end)$$(end)$$(end)$]{zwischensumme}  % Lokales Makro zur Berechnung der Zwischensummen
+\usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text
+\newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften
+
+% ---------- Report-Variablen zur Verwendung in kivitendobriefkopf.tex ----------
+% ----------  Die eigenen Daten ----------
+\newcommand{\employeename}{$(employee_name)$}
+\newcommand{\employeecompany}{$(employee_company)$}
+\newcommand{\employeeaddress}{$(employee_address)$}
+\newcommand{\employeetel}{$(employee_tel)$}
+\newcommand{\employeefax}{$(employee_fax)$}
+\newcommand{\employeeemail}{$(employee_email)$}
+\newcommand{\employeecoustid}{$(employee_co_ustid)$}
+\newcommand{\employeetaxnumber}{$(employee_taxnumber)$}
+\newcommand{\employeetable}{tabelle$(employee_login)$.tex}
+
+% ---------- Eigene Bankverbindung falls nicht im Briefkopf gesetzt ----------
+% \newcommand{\companybank}{$(company_bank)$}
+% \newcommand{\companybankcode}{$(company_bank_code)$}
+% \newcommand{\companyaccountnumber}{$(company_account_number)$}
+
+% ---------- Adressat ----------
+\newcommand{\name}{$(name)$}
+\newcommand{\departmentone}{$(department_1)$}
+\newcommand{\departmenttwo}{$(department_2)$}
+\newcommand{\cpgreeting}{$(cp_greeting)$}
+\newcommand{\cptitle}{$(cp_title)$}
+\newcommand{\cpgivenname}{$(cp_givenname)$}
+\newcommand{\cpname}{$(cp_name)$}
+\newcommand{\street}{$(street)$}
+\newcommand{\country}{$(country)$}
+\newcommand{\zipcode}{$(zipcode)$}
+\newcommand{\city}{$(city)$}
+\newcommand{\phone}{$(customerphone)$}
+\newcommand{\fax}{$(customerfax)$}
+\newcommand{\lettergreeting}{
+       \ifthenelse{\equal{$(cp_gender)$}{f}}
+        {Sehr geehrte Frau $(cp_name)$,}
+       {\ifthenelse{\equal{$(cp_gender)$}{m}}
+         {Sehr geehrter Herr $(cp_name)$,}
+         {Sehr geehrte Damen und Herren,}
+       }\\[1\baselineskip]
+}
+
+% ---------- Rechnungsvariablen ----------
+\newcommand{\kundennummer}{$(customernumber)$}
+\newcommand{\quonumber}{$(quonumber)$}         % Angebotsnummer
+\newcommand{\ordnumber}{$(ordnumber)$}         % Auftragsnummer bei uns
+\newcommand{\cusordnumber}{$(cusordnumber)$}   % Auftragsnummer beim Kunden
+\newcommand{\invnumber}{$(invnumber)$}         % Rechnungsnummer
+\newcommand{\docnumber}{Rechnung Nr. \invnumber}
+\newcommand{\quodate}{$(quodate)$}             % Angebotsdatum
+\newcommand{\orddate}{$(orddate)$}             % Auftragsdatum
+\newcommand{\reqdate}{$(reqdate)$}             % gewuenschtes Lieferdatum
+\newcommand{\deliverydate}{$(deliverydate)$}    % Lieferdatum
+\newcommand{\invdate}{$(invdate)$}             % Rechnungsdatum
+\newcommand{\terms}{$(terms)$}                 % Zahlungsfrist
+\newcommand{\duedate}{$(duedate)$}             % Fälligkeitsdatum
+\newcommand{\invtotal}{$(invtotal)$}           % Gesamtbetrag
+\newcommand{\paid}{$(paid)$}                   % Schon bezahlt
+\newcommand{\total}{$(total)$}                 % Restbetrag
+
+% ---------- Lieferadresse ----------
+\newcommand{\shiptoname}{$(shiptoname)$}
+\newcommand{\shiptocontact}{$(shiptocontact)$}
+\newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$}
+\newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$}
+\newcommand{\shiptostreet}{$(shiptostreet)$}
+\newcommand{\shiptocity}{$(shiptocity)$}
+\newcommand{\shiptocountry}{$(shiptocountry)$}
+\newcommand{\shiptophone}{$(shiptophone)$}
+\newcommand{\shiptozipcode}{$(shiptozipcode)$}
+\newcommand{\shiptofax}{$(shiptofax)$}
+
+% ---------- Währungszeichen ----------
+\newcommand{\currency}{$(currency)$}
+\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{}
+\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{}
+\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{}
+\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{}
+
+% ---------- Ende Reportvariablen-Umsetzung ----------
+
+% ---------- Briefkopf dazuladen ----------
+\input{kivitendobriefkopf}
+
+\begin{document}
+% ---------- Schrift Hauptdokuments (Computermodern-sanserif)  ----------
+% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% ---------- Schrift Helvetica ------------------------
+\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% ---------- Firmenlogo nur erste Seite ----------
+\thispagestyle{briefkopf}
+
+% ---------- Datum und Nummern ----------
+% Position unterhalb des Briefkopfs
+\vspace*{\vlogospacing}
+\renewcommand{\arraystretch}{0.9}
+\begin{minipage}[b]{177mm}
+\sperren{\textbf{Rechnung Nr. \invnumber}}
+{\tiny Bitte stets angeben}
+\hfill
+       \small
+       \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}}
+               \textbf{Seite} & {\thepage} von \pageref{LastPage}\\
+               \textbf{Datum} & \invdate \\
+               \textbf{Kunden Nr.} & \kundennummer\\
+               \nonemptyline{\textbf{Auftrag Nr.} &}{\ordnumber}
+               \nonemptyline{\textbf{Rechnung Nr.} &}{\invnumber}
+               \textbf{Ansprechpartner} & \employeename\\
+               \nonemptyline{\textbf{Durchwahl} &}{\employeetel}
+               \nonemptyline{\textbf{E-Mail} &}{\employeeemail}
+       \end{tabular}\\[10mm plus 20mm minus 10mm]
+\end{minipage}
+\renewcommand{\arraystretch}{1}
+\normalsize
+% ---------- Begrüßung und Bemerkungen ----------
+\vspace{ 5mm}
+\lettergreeting
+Hiermit erlauben wir uns, Ihnen die nachfolgenden Positionen $(if orddate)$gemäß 
+Ihrem Auftrag vom \orddate{ }$(end)$in Rechnung zu stellen.\\
+
+Für Nachfragen steht Ihnen \employeename \ per Telefon (\employeetel) 
+oder per E-Mail (\employeeemail) gerne zur Verfügung.\\[1\baselineskip]
+\ifthenelse{\isempty{$(notes)$}}{}{
+      $(notes)$\\[1\baselineskip]
+      }%
+%Mit freundlichen Grüßen\\[1\baselineskip]
+%\employeename\\[1\baselineskip]
+% ---------- Die eigentliche-Tabelle ----------
+% ---------- Tabelle puffern ----------
+\begin{filecontents}{\employeetable}
+% ---------- globale Variable laufsumme deklarieren ----------
+\resetlaufsumme
+% ---------- Spaltendefinition ----------
+%\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{~\currency}}]}}
+\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{}}]}}
+% ---------- Kopfzeile der Tabelle ----------
+       \textbf{Pos} &
+       \textbf{Art.Nr.} &
+       \textbf{Bezeichnung} &
+       \textbf{Menge} &
+       \textbf{ME} &
+       \textbf{EP/€} &
+       \textbf{GP/€} \\
+       \midrule
+  \endfirsthead
+% ---------- Tabellenkopf nach dem Umbruch ----------
+       \textbf{Pos} &
+       \textbf{Art.Nr.} &
+       \textbf{Bezeichnung} &
+       \textbf{Menge} &
+       \textbf{ME} &
+       \textbf{EP/€} &
+       \textbf{GP/€} \\
+        \midrule
+       & & \multicolumn{4}{r}{} & \MarkUebertrPos\\[1.5em]
+  \endhead
+% ---------- Fuss der Teiltabellen ----------
+       \midrule
+       & & \multicolumn{4}{r}{} & \MarkZwsumPos \\
+  \endfoot
+% ---------- Das Ende der Tabelle ----------
+       \midrule
+%      & & \multicolumn{4}{r}{ Nettobetrag:} & \MarkZwsumPos \\
+\endlastfoot
+% ---------- Positionen ----------
+$(foreach number)$
+       $(runningnumber)$ &
+       $(number)$ &
+       $(description)$
+%      \ifthenelse{\equal{$(longdescription)$}{}}{}{\newline
+%      \renewcommand{\baselinestretch}{1}\footnotesize
+%      {\footnotesize $(longdescription)$
+%      \renewcommand{\baselinestretch}{1}\normalsize
+%      }}
+       \ifthenelse{\equal{$(deliverydate_oe)$}{\leer}}{}{
+               \newline Lieferdatum:~$(deliverydate_oe)$}
+       &
+       $(qty)$ &
+       $(unit)$ &
+       \ifthenelse{\isempty{$(sellprice)$}}{&}{
+               \numprint{$(sellprice)$}
+               \ifthenelse{\equal{$(p_discount)$}{0}}{}{ -$(p_discount)$\%} &
+               \numprint{$(linetotal)$}\Wert{$(linetotal NOFORMAT)$}  
+       }\\ %
+  $(end number)$
+
+\end{longtable}
+% ----------  Ende der Hilfsdatei ----------
+\end{filecontents}
+% ---------- Puffertabelle öffnen ----------
+\LTXtable{\textwidth}{\employeetable}
+%---------- Bereich für die Summen ----------
+\parbox{\textwidth}{
+%---------- Summenbereich nach recht schieben  ----------
+\hfill
+\setlength{\tabcolsep}{0mm}
+\begin{tabular}[b]{@{}r@{ }r@{ }l}
+   {Nettobetrag:}& \numprint{$(subtotal)$}& \currency\\
+% ---------- Alle Steuern ausweisen ----------
+   $(foreach tax)$
+%       {$(taxdescription)$ auf }\numprint{$(taxbase)$}~\currency: & \numprint{$(tax)$}& \\
+               {$(taxdescription)$}:  & \numprint{$(tax)$}& \currency\\
+   $(end tax)$
+   \midrule  
+   {\textbf{Rechnungsbetrag:}} & \bfseries\numprint{\invtotal} & \textbf{\currency}\\
+% ---------- Wenn bereits etwas gezahlt wurde ----------
+$(if invtotal != total)$
+       $(foreach payment)$
+          Zahlung vom {$(paymentdate)$}: & {\numprint{-$(payment)$}} & \currency \\
+       $(end paymentdate)$
+       \midrule
+       \textbf{Offener Betrag: } & \textbf{\numprint{\total}} & \textbf{\currency}\\
+$(end)$
+\bottomrule
+\end{tabular}
+} %Ende des Summenkasten
+
+% ---------- Lieferadresse ----------
+\ifthenelse{%
+     \equal{\shiptoname}{\name} \AND
+     \equal{\shiptodepartmentone}{\leer} \AND
+     \equal{\shiptodepartmenttwo}{\leer} \AND
+     \equal{\shiptostreet}{\street} \AND
+     \equal{\shiptozipcode}{\zipcode} \AND
+     \equal{\shiptocity}{\city}
+     }{}
+{
+% ---------- Umbruch dazwischen verhindern ----------
+\vspace*{0.5em}
+\parbox{\textwidth}{
+% ---------- Bereich für Lieferadresse ----------
+\textbf{Leistungsempfänger:}\hfill\parbox[t]{0.7\textwidth}{
+                \shiptoname \\
+                \nonemptyline{}{\shiptodepartmentone}
+                \nonemptyline{}{\shiptodepartmenttwo}
+                \shiptostreet \\
+                \shiptocountry{ }\shiptozipcode{ }\shiptocity\\[1mm]
+                \nonemptyline{Tel: }{\shiptophone}
+                \nonemptyline{Fax: }{\shiptofax}
+        }%ende parbox
+}% ende parbox
+}% ende ifthenelse
+% ---------- Nachbemerkung mit max. Abstand nach unten ----------
+$(if payment_terms)$
+\vspace*{0.5em}
+\textbf{Zahlungsbedingungen:}\hfill\parbox[t]{0.7\textwidth}{$(payment_terms)$}\\ 
+$(end)$
+\vspace*{0.5em}
+%Bitte überweisen Sie den Rechnungsbetrag in Höhe von
+%{\numprint{\total}~\currency} innerhalb von
+%%{\numprint{\total}~\currency}
+%\ifthenelse{\equal{\duedate}{\leer}}{{14}}{{\terms}}~Tagen
+%auf das unten angegebene Konto.
+%\ifthenelse{\equal{\duedate}{\leer}}{}\\ \vfil
+%  {Nach dem {\duedate} behalten wir uns Verzugszinsen vor.}
+Soweit nicht anders angegeben, \ifthenelse{\equal{\deliverydate}{\leer}}
+   {entspricht das Leistungsdatum dem Rechnungsdatum.}
+   {wurde die Leistung am {\deliverydate} erbracht.}\\
+\vfill
+\footnotesize
+Bereits gelieferte Waren bleiben bis zur vollständigen Bezahlung der
+Rechnung unser Eigentum.
+%}
+
+\end{document}
diff --git a/templates/print/Standard/kivitendo-seite1.pdf b/templates/print/Standard/kivitendo-seite1.pdf
new file mode 100644 (file)
index 0000000..8343843
Binary files /dev/null and b/templates/print/Standard/kivitendo-seite1.pdf differ
diff --git a/templates/print/Standard/kivitendo-seiteff.pdf b/templates/print/Standard/kivitendo-seiteff.pdf
new file mode 100644 (file)
index 0000000..467d785
Binary files /dev/null and b/templates/print/Standard/kivitendo-seiteff.pdf differ
diff --git a/templates/print/Standard/kivitendobriefkopf.tex b/templates/print/Standard/kivitendobriefkopf.tex
new file mode 100644 (file)
index 0000000..dac3d95
--- /dev/null
@@ -0,0 +1,200 @@
+% kivitendobriefkopf.tex
+% Erstellt von Norbert Simon, n.simon@linet-services.de
+% Version 2.1 vom 21.Oktober 2011
+% Basiert auf der Arbeit von kmk@lilalaser.de / 2007
+% Diese Vorlage steht unter der GPL-Lizenz, Version 3
+% siehe http://www.gnu.de/licenses/gpl-3.0.html             
+% ----------
+% config: tag-style=$( )$
+% ----------
+\usepackage {color}
+% ---------- Farbe für die Falzmarkierung ----------
+\definecolor{linecolor}{gray}{.75}     
+\definecolor{rulerlineFirst}{RGB}{95,115,5} % Linienfarben Seite 1
+\definecolor{rulerlinePages}{rgb}{0,0,0} % Linienfarben Folgeseiten
+% ---------- Helvetica-Font für Fancyhdr -------------------------
+\newcommand{\helv}{%
+\fontfamily{phv}\fontsize{8}{11}\selectfont}
+% ---------- Helvetica Font einstellen ----------------------------
+\renewcommand{\familydefault}{\sfdefault}
+\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% Modern
+% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% ---------- Basiseinheiten für die Positionierung -----------------
+\newcommand{\vlogospacing}{63mm} % Erste Zeile unterhalb des Anschrift-Blocks
+\newcommand{\hlogospacing}{35mm} % Logo-Breite für Ausrichtung
+% ---------- Bankverbindung des Unternehmens ---------- 
+\newcommand{\companybank}{Bankname}
+\newcommand{\companybankcode}{xxx xxx xx}
+\newcommand{\companyaccountnumber}{xx xxx xxx xx}
+% ---------- Elemente nur dann ausgeben, wenn ein Wert gesetzt ist ---------- 
+\newcommand{\leer}{}
+\newcommand{\nonemptyline}[2]{\ifthenelse{\equal{#2}{\leer}}{}{#1#2\\}}
+\newcommand{\hasvalue}[2]{\ifthenelse{\equal{#1}{\leer}}{}{#2}}
+% ---------- Seitendefinition A4 ---------- 
+\setlength{\voffset}{-2.0cm}
+\setlength{\hoffset}{-2.0cm}
+\setlength{\topmargin}{0cm}
+\setlength{\headheight}{0.5cm}
+\setlength{\headsep}{1cm}
+\setlength{\topskip}{0cm}
+\setlength{\oddsidemargin}{1.5cm}
+\setlength{\evensidemargin}{1.5cm}
+\setlength{\textwidth}{174mm}
+\setlength{\textheight}{24cm}
+\setlength{\footskip}{1.8cm}
+\setlength{\parindent}{0cm}
+\renewcommand{\baselinestretch}{1}
+% ---------- Abstand Tabellenzeilen erhöhen ---------- 
+\renewcommand{\arraystretch}{1.3}
+%\fontfamily{cmss}\fontshape{n}\selectfont
+%\fontfamily{phv}\fontshape{n}\selectfont
+% ---------- Seitenköpfe und -Füße ----------
+
+\newsavebox{\fusszeile}
+\sbox{\fusszeile}{
+       \tiny
+       \begin{minipage}[t]{\textwidth}
+       \renewcommand{\arraystretch}{0.9}
+       \hspace*{5mm}
+       \begin{tabular}[t]{l}           
+               Firmenname 1 \\
+               Firmenname 2\\
+               Straße Nr\\
+               Plz Ort\\
+       \end{tabular}
+       \hfill
+       \begin{tabular}[t]{l}           
+               \textbf{Sitz der Gesellschaft}\\
+               Plz Ort\\
+                \textbf{Geschäftsführer}\\
+                Vorname Name\\
+       \end{tabular}
+       \hfill
+       \begin{tabular}[t]{l}           
+               \textbf{Handesregistereintrag}\\
+               Amtsgericht Woshaltis\\
+               HRB xxx\\
+       \end{tabular}
+       \hfill
+       \begin{tabular}[t]{l}           
+               USt-ID-Nr. DE xxxxxxxxx\\
+               Steuer Nr. xx xxx xxxxx\\
+       \end{tabular}
+       \hfill
+        \begin{tabular}[t]{l}          
+                       \textbf{Bankverbindung}\\
+                       \companybank\\
+                       BLZ \companybankcode\\
+                       Konto \companyaccountnumber\\
+        \end{tabular}
+        \renewcommand{\arraystretch}{1}
+       \end{minipage}
+}%Ende sbox
+% ---------- Seitenstil-Definitionen ----------
+% pagestyle "plain" umdefinieren:
+\fancypagestyle{plain}{%
+       
+       \fancyhf{}                                                                              % Erstmal alles löschen
+%      \fancyfoot[OL,EL]{\usebox{\fusszeile}}
+       \fancyhead[L]{\usebox{\plainpages}}
+%      \fancyhead[C]{\helv\footnotesize \docnumber}
+%      \fancyhead[R]{\helv\footnotesize Seite \thepage/\pageref{LastPage}\hspace*{12mm}}
+       \fancyfoot[L]{\helv\footnotesize Seite \thepage/\pageref{LastPage}\hspace*{12mm}}
+       \fancyfoot[C]{\helv\footnotesize \docnumber}
+       \renewcommand{\headrulewidth}{0pt}
+       \renewcommand{\footrulewidth}{0pt}
+       \fancyfootoffset{10mm}
+       \fancyheadoffset{10mm}
+       }
+
+%  pagestyle "briefkopf" definieren:
+\fancypagestyle{briefkopf}{%
+       \fancyhf{}                                                                              % Erstmal alles löschen
+       \fancyhead[L]{\usebox{\kopf}}
+%      \fancyfoot[OL,EL]{\usebox{\fusszeile}}
+       \renewcommand{\headrulewidth}{0pt}
+       \renewcommand{\footrulewidth}{0pt}
+    \fancyfootoffset{10mm}
+       \fancyheadoffset{10mm}
+       }
+       
+\pagestyle{plain}                                                                      % Alle Seiten bekommen plain als Default-Stil
+
+% ---------- Briefkopf ----------
+\newsavebox{\kopf}
+\sbox{\kopf}{
+       \setlength{\unitlength}{1mm}                                            % In der picture-Umgebung sollen alle Zahlen die Einheit 1mm haben.
+
+\begin{picture}(0,0) 
+% ---------- Logo ----------
+% Das Logo muss sich im lx-erp-Pfad im Ordner users/ befinden und kann das 
+% Format PDF, JPG, PNG oder EPS haben.  Mit einer EPS-Grafik kann lx nur einen
+% Ausdruck  nach Postscript machen. Die anderen Grafik-Formate erlauben nur
+% einen PDF-Ausdruck. 
+% Position (put) ist abhängig von der Größe
+%
+
+    \put(-12.5,-288){\includegraphics*{kivitendo-seite1.pdf}}
+  
+
+% ---------- mit Latex gesetzter Briefkopf, rechtsbündig ----------
+%      \put(146,-45){          
+%              \begin{minipage}[t]{35mm}
+%                      \tiny \raggedright
+%                      \small \raggedright
+%                      \footnotesize \raggedright
+%                      Firmenname 1\\
+%                      Firemnname 2\\
+%                      Straße Nr\\
+%                      PLZ Ort\\
+%                      \vspace{2mm}
+%                      Telefon +49 xxx xxx xxx\\
+%                      Telefax +49 xxx xxx xxx\\
+%                      \vspace{2mm}
+%                      E-Mail info@firma.de\\
+%                      Web www.firma.de
+%              \end{minipage}
+%      }%Ende put
+
+% ---------- Adressat ----------
+%      \put(10,-45){\parbox{8cm}{
+%              \begin{raggedright}
+%                      \tiny{\hspace*{2mm}Firma~\textbullet~Straße Nr~\textbullet~Plz Ort}
+%                      \small{\hspace*{2mm}Firma~\textbullet~Straße Nr~\textbullet~Plz Ort}
+%              \end{raggedright}               
+%              }%parbox
+%      }%put
+               
+%      \put(10,-47){\color{rulerlineFirst}\rule{80mm}{0.3pt}}
+       \put(10,-52){
+               \parbox[t]{8cm}{   
+                       \normalsize 
+                       \name \\
+                       \nonemptyline{\cpgreeting{ }\cptitle{ }\cpgivenname{ }}{\cpname}
+                       \nonemptyline{}{\departmentone}
+                       \nonemptyline{}{\departmenttwo}
+                       \street \\
+                       \country{ }\zipcode{ }\city\par
+                       \vspace{3mm}
+                       \nonemptyline{\small Fax:}{\fax}
+                       \nonemptyline{\small Tel:}{\phone} 
+               }%Ende parbox
+       }%Ende put
+       % Falzlinien - Werte ergeben sich aus topoffset etc. - im PDF ausgemessen und für gut befunden 
+%      \put(-5,-95){\color{rulerlineFirst}\rule{2mm}{0.15pt}} 
+%      \put(-8,-138){\color{rulerlineFirst}\rule{3mm}{0.2pt}}
+%      \put(-5,-200){\color{rulerlineFirst}\rule{2mm}{0.15pt}}
+%      \put(7,-265){\color{rulerlineFirst}\rule{\textwidth}{0.2pt}}%Trennline Fußzeile
+\end{picture}  
+}%Ende sbox
+    
+%%%%%%%%%%%%%  Ende des Briefkopfes  %%%%%%%%%%%
+% ---------- Gestaltungselemente Plainseiten ----------
+\newsavebox{\plainpages}
+\sbox{\plainpages}{
+       \setlength{\unitlength}{1mm}                                            % In der picture-Umgebung sollen alle Zahlen die Einheit 1mm haben.
+       \begin{picture}(0,0) 
+        \put(-12.5,-288){\includegraphics*{kivitendo-seiteff.pdf}}
+       \end{picture}   
+}%Ende Sbox
diff --git a/templates/print/Standard/mahnung.tex b/templates/print/Standard/mahnung.tex
new file mode 100644 (file)
index 0000000..d534769
--- /dev/null
@@ -0,0 +1,174 @@
+% overdue-notice-a.tex
+% Verkauf Mahnung
+% Überarbeitet von Norbert Simon, n.simon@linet-services.de
+% Version 2.5 vom 16. November 2011
+% Basiert auf der Arbeit von kmk@lilalaser.de / 2007
+% Diese Vorlage steht unter der GPL-Lizenz, Version 3
+% siehe http://www.gnu.de/licenses/gpl-3.0.html
+% ----------
+% config: tag-style=$( )$
+% ----------
+\documentclass[twoside]{scrartcl}
+\usepackage{fancyhdr}       % Für den Seitenkopf und -Fuß
+\usepackage{ifpdf}          % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe
+\usepackage{xifthen}        % Allgemeine Code-Weiche
+\usepackage{graphicx}       % Fuer die Einbindung der Logo-Graphik
+\usepackage{german}         % Deutsche Trenn-Tabelle
+\usepackage[utf8]{inputenc} % Umlaute direkt eingeben
+\usepackage{textcomp}       % Sonderzeichen
+\usepackage{lastpage}       % Fuer die Angabe "Seite 2 von 5"
+\usepackage{filecontents}   % Um von latex aus eine Datei schreiben zu koennen
+\usepackage{etex}           % Damit Marken verwendet werden koennen
+\usepackage{ltxtable}       % Mehrseiten-Tabellen mit variabler Spaltenbreite
+\usepackage{booktabs}      % Striche in Tabellen
+\usepackage{numprint}       % Zahlen formatiert ausgeben
+\usepackage[$(if myconfig_output_numberformat =~ "1.000,00")$german$(else)$$(if myconfig_output_numberformat =~ "1000,00")$germannosep$(else)$$(if myconfig_output_numberformat =~ "1,000.00")$english$(else)$englishnosep$(end)$$(end)$$(end)$]{zwischensumme}  % Lokales Makro zur Berechnung der Zwischensummen
+\usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text
+\newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften
+
+% ---------- Report-Variablen zur Verwendung in kivitendobriefkopf.tex ----------
+% ----------  Die eigenen Daten ----------
+\newcommand{\employeename}{$(employee_name)$}
+\newcommand{\employeecompany}{$(employee_company)$}
+\newcommand{\employeeaddress}{$(employee_address)$}
+\newcommand{\employeetel}{$(employee_tel)$}
+\newcommand{\employeefax}{$(employee_fax)$}
+\newcommand{\employeeemail}{$(employee_email)$}
+\newcommand{\employeecoustid}{$(employee_co_ustid)$}
+\newcommand{\employeetaxnumber}{$(employee_taxnumber)$}
+\newcommand{\employeetable}{tabelle$(employee_login)$.tex}
+
+% ---------- Eigene Bankverbindung falls nicht im Briefkopf gesetzt ----------
+% \newcommand{\companybank}{$(company_bank)$}
+% \newcommand{\companybankcode}{$(company_bank_code)$}
+% \newcommand{\companyaccountnumber}{$(company_account_number)$}
+
+% ---------- Adressat ----------
+\newcommand{\name}{$(name)$}
+\newcommand{\departmentone}{$(department_1)$}
+\newcommand{\departmenttwo}{$(department_2)$}
+\newcommand{\cpgreeting}{$(cp_greeting)$}
+\newcommand{\cptitle}{$(cp_title)$}
+\newcommand{\cpgivenname}{$(cp_givenname)$}
+\newcommand{\cpname}{$(cp_name)$}
+\newcommand{\street}{$(street)$}
+\newcommand{\country}{$(country)$}
+\newcommand{\zipcode}{$(zipcode)$}
+\newcommand{\city}{$(city)$}
+\newcommand{\phone}{$(customerphone)$}
+\newcommand{\fax}{$(customerfax)$}
+\newcommand{\lettergreeting}{
+       \ifthenelse{\equal{$(cp_gender)$}{f}}
+        {Sehr geehrte Frau $(cp_name)$,}
+       {\ifthenelse{\equal{$(cp_gender)$}{m}}
+         {Sehr geehrter Herr $(cp_name)$,}
+         {Sehr geehrte Damen und Herren,}
+       }\\[1\baselineskip]
+}
+
+
+% ---------- Rechnungsvariablen ----------
+\newcommand{\kundennummer}{$(customernumber)$}
+\newcommand{\quonumber}{$(quonumber)$}         % Angebotsnummer
+\newcommand{\ordnumber}{$(ordnumber)$}         % Auftragsnummer bei uns
+\newcommand{\cusordnumber}{$(cusordnumber)$}   % Auftragsnummer beim Kunden
+\newcommand{\invnumber}{$(invnumber)$}         % Rechnungsnummer
+\newcommand{\docnumber}{Rechnungsnummer: \invnumber}
+\newcommand{\quodate}{$(quodate)$}             % Angebotsdatum
+\newcommand{\orddate}{$(orddate)$}             % Auftragsdatum
+\newcommand{\reqdate}{$(reqdate)$}             % gewuenschtes Lieferdatum
+\newcommand{\deliverydate}{$(deliverydate)$}    % Lieferdatum
+\newcommand{\invdate}{$(invdate)$}             % Rechnungsdatum
+\newcommand{\terms}{$(terms)$}                 % Zahlungsfrist
+\newcommand{\duedate}{$(duedate)$}             % Fälligkeitsdatum
+\newcommand{\invtotal}{$(invtotal)$}           % Gesamtbetrag
+\newcommand{\paid}{$(paid)$}                   % Schon bezahlt
+\newcommand{\total}{$(total)$}                 % Restbetrag
+\newcommand{\dunningid}{$(dunning_id)$}        % ID Zahlungserinnerung
+\newcommand{\dunningdate}{$(dunning_date)$}    % Datum der Zahlungserinnerung
+
+
+% ---------- Lieferadresse ----------
+\newcommand{\shiptoname}{$(shiptoname)$}
+\newcommand{\shiptocontact}{$(shiptocontact)$}
+\newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$}
+\newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$}
+\newcommand{\shiptostreet}{$(shiptostreet)$}
+\newcommand{\shiptocity}{$(shiptocity)$}
+\newcommand{\shiptocountry}{$(shiptocountry)$}
+\newcommand{\shiptophone}{$(shiptophone)$}
+\newcommand{\shiptozipcode}{$(shiptozipcode)$}
+\newcommand{\shiptofax}{$(shiptofax)$}
+
+% ---------- Währungszeichen ----------
+\newcommand{\currency}{$(currency)$}
+\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{}
+\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{}
+\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{}
+\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{}
+
+% ---------- Ende Reportvariablen-Umsetzung ----------
+
+% ---------- Briefkopf dazuladen ----------
+\input{kivitendobriefkopf}
+
+\begin{document}
+% ---------- Schrift Hauptdokuments (Computermodern-sanserif)  ----------
+% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% ---------- Schrift Helvetica ------------------------
+\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+
+% ---------- Firmenlogo nur erste Seite ----------
+\thispagestyle{briefkopf}
+
+% ---------- Datum und Nummern ----------
+% Position unterhalb des Briefkopfs
+\vspace*{\vlogospacing}
+\renewcommand{\arraystretch}{0.9}
+\begin{minipage}[b]{177mm}
+\sperren{\textbf{Mahnung}}
+\hfill
+       \small
+       \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}}
+               \textbf{Seite} & {\thepage} von \pageref{LastPage}\\
+               \textbf{Datum} & \dunningdate \\
+               \textbf{Kunden Nr.} & \kundennummer\\
+               \textbf{Rechnung Nr.} & \invnumber\\
+               \textbf{Ansprechpartner} & \employeename\\
+               \nonemptyline{\textbf{Durchwahl} &}{\employeetel}
+               \nonemptyline{\textbf{E-Mail} &}{\employeeemail}
+       \end{tabular}\\[10mm plus 20mm minus 10mm]
+\end{minipage}
+\renewcommand{\arraystretch}{1}
+\normalsize
+% ---------- Begrüßung und Bemerkungen ----------
+\vspace{ 5mm}
+\lettergreeting
+Leider haben Sie unsere vorangegangene Zahlungserinnerung ignoriert. Das ist
+bedauerlich, denn dadurch sind uns Kosten entstanden, die wir nun an Sie
+weitergeben müssen. Damit keine weiteren Kosten für Sie entstehen, begleichen
+Sie bitte die nachfolgend ausgewiesenen offenen Posten schnellstmöglich,
+spätestens bis zum $(duedate)$.\\ %[1em plus 3em minus 1em]
+\vspace*{1em} \\
+Mit freundlichen Grüßen\\[1em]
+$(employee_name)$\\[2em]
+\textbf{Offenen Forderungen}\\[0.5em]
+
+\setlength{\tabcolsep}{0mm}
+\begin{tabular*}{\textwidth}{c@{\extracolsep\fill}c@{\extracolsep\fill}c@{\extracolsep\fill}r@{\extracolsep\fill}r@{\extracolsep\fill}r@{\extracolsep\fill}r}
+  \textbf{Rechnungs-Nr.} & \textbf{Datum} & \textbf{fällig am} &
+  \textbf{Betrag} & \textbf{Gebühr} & \textbf{Zinsen} & \textbf{zu zahlen} \\[1pt]
+\hline\\
+$(foreach dn_invnumber)$
+  $(dn_invnumber)$ & $(dn_transdate)$ & $(dn_duedate)$ &
+  $(dn_amount)$ \euro & $(dn_fee)$  \euro & $(dn_interest)$  \euro & $(dn_linetotal)$   \euro \\[1pt]
+$(end dn_invnumber)$
+\cline{1-7}\\
+ Insgesamt: & & & $(total_open_amount)$ \euro & $(fee)$ \euro & $(total_interest)$ \euro & \textbf{$(total_amount)$  \euro} 
+\end{tabular*}
+\rule{\textwidth}{0.5pt}
+
+\vspace{0.5cm}
+
+\hfill \textbf{Bitte zahlen Sie umgehend $(total_amount)$  \euro}
+\end{document}
diff --git a/templates/print/Standard/mahnung_invoice.tex b/templates/print/Standard/mahnung_invoice.tex
new file mode 100644 (file)
index 0000000..a60b698
--- /dev/null
@@ -0,0 +1,169 @@
+% overdue-notice-a.tex
+% Verkauf Mahnung
+% Überarbeitet von Norbert Simon, n.simon@linet-services.de
+% Version 2.5 vom 16. November 2011
+% Basiert auf der Arbeit von kmk@lilalaser.de / 2007
+% Diese Vorlage steht unter der GPL-Lizenz, Version 3
+% siehe http://www.gnu.de/licenses/gpl-3.0.html
+% ----------
+% config: tag-style=$( )$
+% ----------
+\documentclass[twoside]{scrartcl}
+\usepackage{fancyhdr}       % Für den Seitenkopf und -Fuß
+\usepackage{ifpdf}          % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe
+\usepackage{xifthen}        % Allgemeine Code-Weiche
+\usepackage{graphicx}       % Fuer die Einbindung der Logo-Graphik
+\usepackage{german}         % Deutsche Trenn-Tabelle
+\usepackage[utf8]{inputenc} % Umlaute direkt eingeben
+\usepackage{textcomp}       % Sonderzeichen
+\usepackage{lastpage}       % Fuer die Angabe "Seite 2 von 5"
+\usepackage{filecontents}   % Um von latex aus eine Datei schreiben zu koennen
+\usepackage{etex}           % Damit Marken verwendet werden koennen
+\usepackage{ltxtable}       % Mehrseiten-Tabellen mit variabler Spaltenbreite
+\usepackage{booktabs}      % Striche in Tabellen
+\usepackage{numprint}       % Zahlen formatiert ausgeben
+\usepackage[$(if myconfig_output_numberformat =~ "1.000,00")$german$(else)$$(if myconfig_output_numberformat =~ "1000,00")$germannosep$(else)$$(if myconfig_output_numberformat =~ "1,000.00")$english$(else)$englishnosep$(end)$$(end)$$(end)$]{zwischensumme}  % Lokales Makro zur Berechnung der Zwischensummen
+\usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text
+\newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften
+
+% ---------- Report-Variablen zur Verwendung in kivitendobriefkopf.tex ----------
+% ----------  Die eigenen Daten ----------
+\newcommand{\employeename}{$(employee_name)$}
+\newcommand{\employeecompany}{$(employee_company)$}
+\newcommand{\employeeaddress}{$(employee_address)$}
+\newcommand{\employeetel}{$(employee_tel)$}
+\newcommand{\employeefax}{$(employee_fax)$}
+\newcommand{\employeeemail}{$(employee_email)$}
+\newcommand{\employeecoustid}{$(employee_co_ustid)$}
+\newcommand{\employeetaxnumber}{$(employee_taxnumber)$}
+\newcommand{\employeetable}{tabelle$(employee_login)$.tex}
+
+% ---------- Eigene Bankverbindung falls nicht im Briefkopf gesetzt ----------
+% \newcommand{\companybank}{$(company_bank)$}
+% \newcommand{\companybankcode}{$(company_bank_code)$}
+% \newcommand{\companyaccountnumber}{$(company_account_number)$}
+
+% ---------- Adressat ----------
+\newcommand{\name}{$(name)$}
+\newcommand{\departmentone}{$(department_1)$}
+\newcommand{\departmenttwo}{$(department_2)$}
+\newcommand{\cpgreeting}{$(cp_greeting)$}
+\newcommand{\cptitle}{$(cp_title)$}
+\newcommand{\cpgivenname}{$(cp_givenname)$}
+\newcommand{\cpname}{$(cp_name)$}
+\newcommand{\street}{$(street)$}
+\newcommand{\country}{$(country)$}
+\newcommand{\zipcode}{$(zipcode)$}
+\newcommand{\city}{$(city)$}
+\newcommand{\phone}{$(customerphone)$}
+\newcommand{\fax}{$(customerfax)$}
+\newcommand{\lettergreeting}{
+       \ifthenelse{\equal{$(cp_gender)$}{f}}
+        {Sehr geehrte Frau $(cp_name)$,}
+       {\ifthenelse{\equal{$(cp_gender)$}{m}}
+         {Sehr geehrter Herr $(cp_name)$,}
+         {Sehr geehrte Damen und Herren,}
+       }\\[1\baselineskip]
+}
+
+
+% ---------- Rechnungsvariablen ----------
+\newcommand{\kundennummer}{$(customernumber)$}
+\newcommand{\quonumber}{$(quonumber)$}         % Angebotsnummer
+\newcommand{\ordnumber}{$(ordnumber)$}         % Auftragsnummer bei uns
+\newcommand{\cusordnumber}{$(cusordnumber)$}   % Auftragsnummer beim Kunden
+\newcommand{\invnumber}{$(invnumber)$}         % Rechnungsnummer
+\newcommand{\docnumber}{Rechnungsnummer: \invnumber}
+\newcommand{\quodate}{$(quodate)$}             % Angebotsdatum
+\newcommand{\orddate}{$(orddate)$}             % Auftragsdatum
+\newcommand{\reqdate}{$(reqdate)$}             % gewuenschtes Lieferdatum
+\newcommand{\deliverydate}{$(deliverydate)$}    % Lieferdatum
+\newcommand{\invdate}{$(invdate)$}             % Rechnungsdatum
+\newcommand{\terms}{$(terms)$}                 % Zahlungsfrist
+\newcommand{\duedate}{$(duedate)$}             % Fälligkeitsdatum
+\newcommand{\invtotal}{$(invtotal)$}           % Gesamtbetrag
+\newcommand{\paid}{$(paid)$}                   % Schon bezahlt
+\newcommand{\total}{$(total)$}                 % Restbetrag
+\newcommand{\dunningid}{$(dunning_id)$}        % ID Zahlungserinnerung
+\newcommand{\dunningdate}{$(dunning_date)$}    % Datum der Zahlungserinnerung
+
+
+% ---------- Lieferadresse ----------
+\newcommand{\shiptoname}{$(shiptoname)$}
+\newcommand{\shiptocontact}{$(shiptocontact)$}
+\newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$}
+\newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$}
+\newcommand{\shiptostreet}{$(shiptostreet)$}
+\newcommand{\shiptocity}{$(shiptocity)$}
+\newcommand{\shiptocountry}{$(shiptocountry)$}
+\newcommand{\shiptophone}{$(shiptophone)$}
+\newcommand{\shiptozipcode}{$(shiptozipcode)$}
+\newcommand{\shiptofax}{$(shiptofax)$}
+
+% ---------- Währungszeichen ----------
+\newcommand{\currency}{$(currency)$}
+\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{}
+\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{}
+\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{}
+\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{}
+
+% ---------- Ende Reportvariablen-Umsetzung ----------
+
+% ---------- Briefkopf dazuladen ----------
+\input{kivitendobriefkopf}
+
+\begin{document}
+% ---------- Schrift Hauptdokuments (Computermodern-sanserif)  ----------
+% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% ---------- Schrift Helvetica ------------------------
+\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+
+% ---------- Firmenlogo nur erste Seite ----------
+\thispagestyle{briefkopf}
+
+% ---------- Datum und Nummern ----------
+% Position unterhalb des Briefkopfs
+\vspace*{\vlogospacing}
+\renewcommand{\arraystretch}{0.9}
+\begin{minipage}[b]{177mm}
+\sperren{\textbf{Mahnrechnung Nr. \invnumber}}
+\hfill
+       \small
+       \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}}
+               \textbf{Seite} & {\thepage} von \pageref{LastPage}\\
+               \textbf{Datum} & \invdate \\
+               \textbf{Kunden Nr.} & \kundennummer\\
+               \textbf{Rechnung Nr.} & \invnumber\\
+               \textbf{Ansprechpartner} & \employeename\\
+               \nonemptyline{\textbf{Durchwahl} &}{\employeetel}
+               \nonemptyline{\textbf{E-Mail} &}{\employeeemail}
+       \end{tabular}\\[10mm plus 20mm minus 10mm]
+\end{minipage}
+\renewcommand{\arraystretch}{1}
+\normalsize
+% ---------- Begrüßung und Bemerkungen ----------
+\vspace{ 5mm}
+\lettergreeting
+
+Hiermit erlauben wir uns, Ihnen zu Mahnung $(dunning_id)$
+die nachfolgenden Positionen in Rechnung zu stellen.\\
+
+Für Nachfragen steht Ihnen \employeename \ per Telefon (\employeetel)
+oder per E-Mail (\employeeemail) gerne zur Verfügung.\\[1\baselineskip]
+
+\vspace*{0.5cm}
+
+Bitte begleichen Sie diese Forderung bis zum $(duedate)$.
+
+\vspace*{0.5cm}
+
+\begin{tabularx}{\textwidth}{Xr}
+  \textbf{Posten} & \multicolumn{1}{l}{\textbf{Betrag}}\\
+  \hline
+  Mahngebühren & $(fee)$ EUR \\
+  Zinsen & $(interest)$ EUR \\
+  \cline{2-2}
+  Gesamtsumme & $(invamount)$ EUR\\
+\end{tabularx}
+
+\end{document}
diff --git a/templates/print/Standard/mitBriefpapier.sty b/templates/print/Standard/mitBriefpapier.sty
new file mode 100644 (file)
index 0000000..d697ba5
--- /dev/null
@@ -0,0 +1,68 @@
+\ProvidesFile{versionEins.sty}
+\usepackage[utf8]{inputenc}
+\usepackage{german}
+\usepackage{graphicx}
+% \usepackage{colortbl}
+% \usepackage{lastpage}
+% \usepackage{tabularx}
+
+% \pageref
+
+\setlength{\voffset}{-0.3cm}
+\setlength{\hoffset}{-2.5cm}
+\setlength{\topmargin}{0cm}
+\setlength{\headheight}{0.5cm}
+\setlength{\headsep}{1cm}
+\setlength{\topskip}{0pt}
+\setlength{\oddsidemargin}{2cm}
+\setlength{\textwidth}{16.4cm}
+\setlength{\textheight}{20.5cm}
+\setlength{\footskip}{1cm}
+\setlength{\parindent}{0pt}
+
+\setlength{\tabcolsep}{0.2cm}
+\setlength{\unitlength}{1cm}
+
+\newcommand{\myhead}{%
+  \fontfamily{cmss}\fontsize{10pt}{10pt}\fontseries{m}\selectfont
+  \begin{picture}(0,0)
+    \put(-2.025,-26.95){\includegraphics*{kivitendo-seite1.pdf}}
+  \end{picture}
+}
+
+\newcommand{\myfoot}{%
+}
+
+\newcommand{\plainfoot}{%
+  \fontfamily{cmss}\fontsize{10pt}{10pt}\fontseries{m}\selectfont
+  \begin{minipage}[t][1cm][t]{\textwidth}
+    \begin{minipage}[t][1cm][t]{5cm}
+      \refnr
+    \end{minipage} \hspace*{10.25cm}
+    \begin{minipage}[t][1cm][t]{2cm}
+      Seite \thepage \\
+    \end{minipage}
+  \end{minipage}
+}
+
+\newcommand{\plainhead}{%
+  \fontfamily{cmss}\fontsize{10pt}{10pt}\fontseries{m}\selectfont
+  \begin{picture}(0,0)
+    \put(-2.025,-26.95){\includegraphics*{kivitendo-seiteff.pdf}}
+  \end{picture}
+}
+
+
+\renewcommand{\ps@headings}{%
+  \renewcommand{\@oddhead}{\myhead}
+  \renewcommand{\@evenhead}{\@oddhead}%
+  \renewcommand{\@oddfoot}{\myfoot}
+  \renewcommand{\@evenfoot}{\@oddfoot}%
+}
+
+\renewcommand{\ps@plain}{%
+  \renewcommand{\@oddhead}{\plainhead}
+  \renewcommand{\@evenhead}{\@oddhead}%
+  \renewcommand{\@oddfoot}{\plainfoot}
+  \renewcommand{\@evenfoot}{\@oddfoot}%
+}
diff --git a/templates/print/Standard/ohneBriefpapier.sty b/templates/print/Standard/ohneBriefpapier.sty
new file mode 100644 (file)
index 0000000..18639f3
--- /dev/null
@@ -0,0 +1,66 @@
+\ProvidesFile{ohneBriefpapier.sty}
+\usepackage[utf8]{inputenc}
+\usepackage{german}
+\usepackage{graphicx}
+% \usepackage{colortbl}
+% \usepackage{lastpage}
+% \usepackage{tabularx}
+
+% \pageref
+
+\setlength{\voffset}{-0.3cm}
+\setlength{\hoffset}{-2.5cm}
+\setlength{\topmargin}{0cm}
+\setlength{\headheight}{0.5cm}
+\setlength{\headsep}{1cm}
+\setlength{\topskip}{0pt}
+\setlength{\oddsidemargin}{2cm}
+\setlength{\textwidth}{16.4cm}
+\setlength{\textheight}{20.5cm}
+\setlength{\footskip}{1cm}
+\setlength{\parindent}{0pt}
+
+\setlength{\tabcolsep}{0.2cm}
+\setlength{\unitlength}{1cm}
+
+\newcommand{\myhead}{%
+  \fontfamily{cmss}\fontsize{10pt}{10pt}\fontseries{m}\selectfont
+  \begin{picture}(0,0)
+    \put(13.3,-23.8){\includegraphics*[width=3.6cm,keepaspectratio=true]{PNG/hinweis-rechts-unten.png}}
+  \end{picture}
+}
+
+\newcommand{\myfoot}{%
+}
+
+\newcommand{\plainfoot}{%
+  \fontfamily{cmss}\fontsize{10pt}{10pt}\fontseries{m}\selectfont
+  \begin{minipage}[t][1cm][t]{\textwidth}
+    \begin{minipage}[t][1cm][t]{5cm}
+      \refnr
+    \end{minipage} \hspace*{10.25cm}
+    \begin{minipage}[t][1cm][t]{2cm}
+      Seite \thepage \\
+    \end{minipage}
+  \end{minipage}
+}
+
+\newcommand{\plainhead}{%
+  \fontfamily{cmss}\fontsize{10pt}{10pt}\fontseries{m}\selectfont
+
+}
+
+
+\renewcommand{\ps@headings}{%
+  \renewcommand{\@oddhead}{\myhead}
+  \renewcommand{\@evenhead}{\@oddhead}%
+  \renewcommand{\@oddfoot}{\myfoot}
+  \renewcommand{\@evenfoot}{\@oddfoot}%
+}
+
+\renewcommand{\ps@plain}{%
+  \renewcommand{\@oddhead}{\plainhead}
+  \renewcommand{\@evenhead}{\@oddhead}%
+  \renewcommand{\@oddfoot}{\plainfoot}
+  \renewcommand{\@evenfoot}{\@oddfoot}%
+}
diff --git a/templates/print/Standard/pick_list.tex b/templates/print/Standard/pick_list.tex
new file mode 100644 (file)
index 0000000..f505182
--- /dev/null
@@ -0,0 +1,164 @@
+% pick_list.tex
+% Sammelliste Verkauf
+% Überarbeitet von Norbert Simon, n.simon@linet-services.de
+% Version 2.5 vom 16.Oktober 2011
+% Basiert auf der Arbeit von kmk@lilalaser.de / 2007
+% Diese Vorlage steht unter der GPL-Lizenz, Version 3
+% siehe http://www.gnu.de/licenses/gpl-3.0.html
+% ----------
+% config: tag-style=$( )$
+% ----------
+
+\documentclass[twoside]{scrartcl}
+\usepackage[frame]{xy}
+\usepackage{tabularx}
+\usepackage[utf8]{inputenc}
+\usepackage{graphicx}
+\setlength{\voffset}{0.5cm}
+\setlength{\hoffset}{-2.0cm}
+\setlength{\topmargin}{0cm}
+\setlength{\headheight}{0.5cm}
+\setlength{\headsep}{1cm}
+\setlength{\topskip}{0pt}
+\setlength{\oddsidemargin}{1.0cm}
+\setlength{\evensidemargin}{1.0cm}
+\setlength{\textwidth}{17cm}
+\setlength{\textheight}{24.7cm}
+\setlength{\footskip}{1cm}
+\setlength{\parindent}{0pt}
+\renewcommand{\baselinestretch}{1}
+
+\begin{document}
+
+\newlength{\descrwidth}\setlength{\descrwidth}{9cm}
+\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
+
+\pagestyle{myheadings}
+\thispagestyle{empty}
+
+\vspace*{-1.3cm}
+
+\parbox{\textwidth}{
+  \parbox[b]{.42\textwidth}{
+    $(company)$
+
+    $(address)$
+  }\hfill
+  \begin{tabular}[b]{rr@{}}
+  Tel & $(tel)$\\
+  Fax & $(fax)$
+  \end{tabular}
+
+  \rule[1.5ex]{\textwidth}{0.5pt}
+}
+
+
+%$(pagebreak 90 27 37)$
+%\end{tabular*}
+
+%\newpage
+
+\markboth{$(company)$\hfill $(ordnumber)$}{$(company)$\hfill $(ordnumber)$}
+
+\vspace*{-12pt}
+
+%\begin{tabular*}{\textwidth}{@{}lp{\descrwidth}@{\extracolsep\fill}rcll@{}}
+%  \textbf{Pos} & \textbf{Nummer} & \textbf{Beschreibung} &
+%  \textbf{Menge} & \textbf{Lagerausgang} & & \textbf{Lagerplatz} \\
+%$(end pagebreak)$
+
+
+\vspace*{0.5cm}
+
+\parbox[t]{1cm}{\hfill}
+\parbox[t]{.5\textwidth}{
+  \textbf{Lieferanschrift}
+} \hfill
+
+\vspace{0.7cm}
+
+\parbox[t]{1cm}{\hfill}
+\parbox[t]{.5\textwidth}{
+
+$(shiptoname)$ \\
+$(shiptostreet)$ \\
+$(shiptozipcode)$ \\
+$(shiptocity)$ \\
+$(shiptocountry)$
+}
+\parbox[t]{.4\textwidth}{
+  $(shiptocontact)$
+
+  $(if shiptophone)$
+  Tel: $(shiptophone)$
+  $(end shiptophone)$
+
+  $(if shiptofax)$
+  Fax: $(shiptofax)$
+  $(end shiptofax)$
+
+  $(shiptoemail)$
+}
+\hfill
+
+\vspace{1cm}
+
+\textbf{S A M M E L L I S T E}
+\hfill
+
+\vspace{1cm}
+\typeout{hier?}
+\begin{tabularx}{\textwidth}{*{6}{|X}|} \hline
+  \textbf{BestellNr. \#} &
+  \textbf{Datum} &
+  \textbf{Kontakt} &
+  $(if warehouse)$ \textbf{Lager} & $(end warehouse)$
+  \textbf{Lagerplatz} &
+  \textbf{Lieferung mit} \\ [0.5em]
+  \hline
+       $(ordnumber)$ &
+       $(if shippingdate)$ $(shippingdate)$ &$(end shippingdate)$
+       $(if not shippingdate)$ $(orddate)$ &$(end shippingdate)$
+       $(employee)$ &
+       $(if warehouse)$ $(warehouse)$ &$(end warehouse)$
+       $(shippingpoint)$ &
+       $(shipvia)$ \\
+  \hline
+\end{tabularx}
+
+\vspace{1cm}
+
+%\begin{tabular*}{\textwidth}{@{}rlp{\descrwidth}@{\extracolsep\fill}rcll@{}}
+\setlength{\tabcolsep}{0mm}
+\begin{tabularx}{\textwidth}{p{1.5cm}p{6cm}p{2cm}p{2cm}p{4cm}p{1.5cm}}
+  \textbf{Art-Nr} &
+  \textbf{Beschreibung} &
+  \textbf{Serien-Nr} &
+  \textbf{Menge} &
+  \textbf{Lager} &
+  \textbf{Lagerplatz} \\
+$(foreach number)$
+ $(if si_qty)$
+  $(foreach si_number)$
+   $(si_number)$ &
+   $(si_description)$ &
+   $(si_chargenumber)$ &
+   \hfill $(si_qty)$ $(si_unit)$ &
+   $(si_warehouse)$ &
+   $(si_bin)$\\[1em]
+  $(end si_number)$
+ $(else)$
+  $(number)$ &
+  $(description)$ &
+  &
+  \hfill $(qty)$ $(unit)$ &
+  & \\[1em]
+ $(end si_qty)$
+$(end number)$
+\end{tabularx}
+
+\parbox{\textwidth}{
+\rule{\textwidth}{2pt}
+}
+
+\end{document}
diff --git a/templates/print/Standard/proforma.tex b/templates/print/Standard/proforma.tex
new file mode 100644 (file)
index 0000000..adefdde
--- /dev/null
@@ -0,0 +1,284 @@
+% proforma.tex  für LX-Office ab V2.6.3
+% Proforma Rechnung Verkauf
+% Überarbeitet von Norbert Simon, n.simon@linet-services.de
+% Version 2.5 vom 15. November 2011
+% Basiert auf der Arbeit von kmk@lilalaser.de / 2007
+% Diese Vorlage steht unter der GPL-Lizenz, Version 3
+% siehe http://www.gnu.de/licenses/gpl-3.0.html
+% ----------
+% config: tag-style=$( )$
+% ----------
+
+\documentclass[twoside]{scrartcl}
+\usepackage{fancyhdr}       % Für den Seitenkopf und -Fuß
+\usepackage{ifpdf}          % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe
+\usepackage{xifthen}        % Allgemeine Code-Weiche
+\usepackage{graphicx}       % Fuer die Einbindung der Logo-Graphik
+\usepackage{german}         % Deutsche Trenn-Tabelle
+\usepackage[utf8]{inputenc} % Umlaute direkt eingeben
+\usepackage{textcomp}       % Sonderzeichen
+\usepackage{lastpage}       % Fuer die Angabe "Seite 2 von 5"
+\usepackage{filecontents}   % Um von latex aus eine Datei schreiben zu koennen
+\usepackage{etex}           % Damit Marken verwendet werden koennen
+\usepackage{ltxtable}       % Mehrseiten-Tabellen mit variabler Spaltenbreite
+\usepackage{booktabs}      % Striche in Tabellen
+\usepackage{numprint}       % Zahlen formatiert ausgeben
+\usepackage[$(if myconfig_output_numberformat =~ "1.000,00")$german$(else)$$(if myconfig_output_numberformat =~ "1000,00")$germannosep$(else)$$(if myconfig_output_numberformat =~ "1,000.00")$english$(else)$englishnosep$(end)$$(end)$$(end)$]{zwischensumme}  % Lokales Makro zur Berechnung der Zwischensummen
+\usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text
+\newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften
+
+% ---------- Report-Variablen für kivitendobriefkopf.tex ----------
+% ---------- Die eigenen Daten ----------
+\newcommand{\employeename}{$(employee_name)$}
+\newcommand{\employeecompany}{$(employee_company)$}
+\newcommand{\employeeaddress}{$(employee_address)$}
+\newcommand{\employeetel}{$(employee_tel)$}
+\newcommand{\employeefax}{$(employee_fax)$}
+\newcommand{\employeeemail}{$(employee_email)$}
+\newcommand{\employeecoustid}{$(employee_co_ustid)$}
+\newcommand{\employeetaxnumber}{$(employee_taxnumber)$}
+\newcommand{\employeetable}{tabelle$(employee_login)$.tex}
+
+% ---------- eigene Bankverbindung falls nicht im Briefkopf ----------
+% \newcommand{\companybank}{$(company_bank)$}
+% \newcommand{\companybankcode}{$(company_bank_code)$}
+% \newcommand{\companyaccountnumber}{$(company_account_number)$}
+
+% ---------- Adressat ----------
+\newcommand{\name}{$(name)$}
+\newcommand{\departmentone}{$(department_1)$}
+\newcommand{\departmenttwo}{$(department_2)$}
+\newcommand{\cpgreeting}{$(cp_greeting)$}
+\newcommand{\cptitle}{$(cp_title)$}
+\newcommand{\cpgivenname}{$(cp_givenname)$}
+\newcommand{\cpname}{$(cp_name)$}
+\newcommand{\street}{$(street)$}
+\newcommand{\country}{$(country)$}
+\newcommand{\zipcode}{$(zipcode)$}
+\newcommand{\city}{$(city)$}
+\newcommand{\phone}{$(customerphone)$}
+\newcommand{\fax}{$(customerfax)$}
+\newcommand{\lettergreeting}{
+       \ifthenelse{\equal{$(cp_gender)$}{f}}
+        {Sehr geehrte Frau $(cp_name)$,}
+       {\ifthenelse{\equal{$(cp_gender)$}{m}}
+         {Sehr geehrter Herr $(cp_name)$,}
+         {Sehr geehrte Damen und Herren,}
+       }\\[1\baselineskip]
+}
+
+% ---------- Bestellvariablen ----------
+\newcommand{\quonumber}{$(quonumber)$}         % Angebotsnummer
+\newcommand{\ordnumber}{$(ordnumber)$}         % Auftragsnummer bei uns
+\newcommand{\cusordnumber}{$(cusordnumber)$}   % Auftragsnummer beim Kunden
+\newcommand{\invnumber}{$(invnumber)$}         % Rechnungsnummer
+\newcommand{\docnumber}{Proforma ReNr. {\ordnumber}} % \quonumber
+\newcommand{\quodate}{$(quodate)$}
+\newcommand{\kundennummer}{$(customernumber)$}
+\newcommand{\reqdate}{$(reqdate)$}
+\newcommand{\transdate}{$(transdate)$}
+
+% ---------- Lieferadresse ----------
+\newcommand{\shiptoname}{$(shiptoname)$}
+\newcommand{\shiptocontact}{$(shiptocontact)$}
+\newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$}
+\newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$}
+\newcommand{\shiptostreet}{$(shiptostreet)$}
+\newcommand{\shiptocity}{$(shiptocity)$}
+\newcommand{\shiptocountry}{$(shiptocountry)$}
+\newcommand{\shiptophone}{$(shiptophone)$}
+\newcommand{\shiptozipcode}{$(shiptozipcode)$}
+\newcommand{\shiptofax}{$(shiptofax)$}
+
+% ---------- Währung setzen  ----------
+\newcommand{\currency}{$(currency)$}
+\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{}
+\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{}
+\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{}
+\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{}
+
+% ---------- Ende Reportvariablen-Umsetzung ----------
+
+% ---------- Briefkopf dazuladen ----------
+\input{kivitendobriefkopf}
+
+\begin{document}
+% ---------- Schrift Hauptdokuments (Computermodern-sanserif)  ----------
+% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% ---------- Schrift Helvetica ------------------------
+\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% ---------- Firmenlogo nur auf Seite 1 ----------
+       \thispagestyle{briefkopf}
+
+% ---------- Datum und Nummern unterhalb des Briefkopfs ----------
+% Position unterhalb des Briefkopfs
+\vspace*{\vlogospacing}
+\renewcommand{\arraystretch}{0.9}
+\begin{minipage}[b]{177mm}
+\ifthenelse{\isempty{\invnumber}}
+{\sperren{\textbf{Proforma-Rechnung Nr. \quonumber}}}
+{\sperren{\textbf{Proforma-Rechnung Nr. \invnumber}}}
+{\tiny Bitte stets angeben}
+\hfill
+       \small
+       \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}}
+               \textbf{Seite} & {\thepage} von \pageref{LastPage}\\
+               \textbf{Datum} & \transdate \\
+               \textbf{Kunden Nr.} & \kundennummer\\
+               \ifthenelse{\isempty{\invnumber}}
+               {\textbf{Proforma-Rechnung Nr.} & \quonumber\\}
+               {\textbf{Proforma-Rechnung Nr.} & \invnumber\\}
+               \nonemptyline{\textbf{Vorraussichliches Lieferdatum:} &}{\reqdate}
+               \textbf{Ansprechpartner} & \employeename\\
+               \nonemptyline{\textbf{Durchwahl} &}{\employeetel}
+               \nonemptyline{\textbf{E-Mail} &}{\employeeemail}
+       \end{tabular}\\[10mm plus 20mm minus 10mm]
+\end{minipage}
+\renewcommand{\arraystretch}{1}
+\normalsize
+% ---------- Begrüßung und Bemerkungen ----------
+\vspace{ 5mm}
+\lettergreeting
+bitte überweisen Sie den ausgewiesenen Rechnungsbetrag für Ihre
+nachfolgend aufgeführte Bestellung auf das unten angegebene Konto.
+\ifthenelse{\isempty{$(notes)$}}{}{
+      \newline
+      $(notes)$
+      }
+\vspace{5mm}
+
+% ---------- Die eigentliche-Tabelle ----------
+% ---------- Tabelle puffern ----------
+\begin{filecontents}{\employeetable}
+% ---------- globale Variable laufsumme deklarieren ----------
+\resetlaufsumme
+% ---------- Spaltendefinition ----------
+%\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{~\currency}}]}}
+\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{}}]}}
+% ---------- Kopfzeile der Tabelle ----------
+       \textbf{Pos} &
+       \textbf{Art.Nr.} &
+       \textbf{Bezeichnung} &
+       \textbf{Menge} &
+       \textbf{ME} &
+       \textbf{EP/€} &
+       \textbf{GP/€} \\
+       \midrule
+  \endfirsthead
+% ---------- Tabellenkopf nach dem Umbruch ----------
+       \textbf{Pos} &
+       \textbf{Art.Nr.} &
+       \textbf{Bezeichnung} &
+       \textbf{Menge} &
+       \textbf{ME} &
+       \textbf{EP/€} &
+       \textbf{GP/€} \\
+        \midrule
+       & & \multicolumn{4}{r}{} & \MarkUebertrPos\\[1.5em]
+  \endhead
+% ---------- Fuss der Teiltabellen ----------
+        \midrule
+       & & \multicolumn{4}{r}{} & \MarkZwsumPos \\
+  \endfoot
+% ---------- Das Ende der Tabelle ----------
+       \midrule
+%      & & \multicolumn{4}{r}{ Nettobetrag:} & \MarkZwsumPos \\
+  \endlastfoot
+% ---------- Positionen ----------
+  $(foreach number)$
+       $(runningnumber)$ &
+       $(number)$ &
+       $(description)$
+       \ifthenelse{\equal{$(longdescription)$}{}}{}{\newline
+       \renewcommand{\baselinestretch}{1}\footnotesize
+       {\footnotesize $(longdescription)$
+       \renewcommand{\baselinestretch}{1}\normalsize
+       }} &
+       $(qty)$ &
+       $(unit)$ &
+       \ifthenelse{\isempty{$(sellprice)$}}{&}{
+               \numprint{$(sellprice)$}
+               \ifthenelse{\equal{$(p_discount)$}{0}}{}{ -$(p_discount)$\%} &
+               \numprint{$(linetotal)$}\Wert{$(linetotal NOFORMAT)$}  
+       }\\ %
+  $(end number)$
+
+\end{longtable}
+% ----------  Ende der Hilfsdatei ----------
+\end{filecontents}
+% ---------- Puffertabelle öffnen ----------
+\LTXtable{\textwidth}{\employeetable}
+%---------- Bereich für die Summen ----------
+\parbox{\textwidth}{
+%---------- Summenbereich nach recht schieben  ----------
+\hfill
+\setlength{\tabcolsep}{0mm}
+\begin{tabular}{@{}r@{ }r@{ }l}
+%   \toprule
+   {Nettobetrag:}& \numprint{$(subtotal)$}& \currency\\
+% ---------- Alle Steuern ausweisen ----------
+   $(foreach tax)$
+%       {$(taxdescription)$ auf }\numprint{$(taxbase)$}~\currency: & \numprint{$(tax)$}& \\
+               {$(taxdescription)$}:  & \numprint{$(tax)$}& \currency\\
+   $(end tax)$
+   \midrule
+       \ifthenelse{\isempty{$(ordtotal)$}}
+       {{\textbf{Gesamtbetrag:}} & \bfseries\numprint{$(invtotal)$} & \textbf{\currency}\\}
+       {{\textbf{Gesamtbetrag:}} & \bfseries\numprint{$(ordtotal)$} & \textbf{\currency}\\}
+   \bottomrule
+\end{tabular}
+}
+% ---------- Transportmittel ----------
+$(if shipvia)$
+Lieferung per $(shipvia)$.\\[1em]
+$(end)$
+% ---------- Lieferadresse ----------
+\ifthenelse{%
+     \equal{\shiptoname}{\name} \AND
+     \equal{\shiptodepartmentone}{\leer} \AND
+     \equal{\shiptodepartmenttwo}{\leer} \AND
+     \equal{\shiptostreet}{\street} \AND
+     \equal{\shiptozipcode}{\zipcode} \AND
+     \equal{\shiptocity}{\city}
+     }{}{
+% ---------- Umbruch dazwischen verhindern ----------
+\parbox{\textwidth}{
+% ---------- Bereich für Lieferadresse ----------
+\textbf{Lieferanschrift:}\hfill\parbox[t]{0.7\textwidth}{
+                \shiptoname \\
+                \nonemptyline{}{\shiptodepartmentone}
+                \nonemptyline{}{\shiptodepartmenttwo}
+                \shiptostreet \\
+                \shiptocountry{ }\shiptozipcode{ }\shiptocity\\[1mm]
+                \nonemptyline{Tel: }{\shiptophone}
+                \nonemptyline{Fax: }{\shiptofax}
+        }%ende parbox
+}% ende parbox
+}% ende ifthenelse
+% ---------- Nachbemerkung mit variablem Abstand ----------
+$(if reqdate)$
+\vspace*{0.5em}
+\textbf{Das Angebot ist gültig bis zum \reqdate.}\\
+$(end)$
+$(if payment_terms)$
+\vspace*{0.5em}
+\textbf{Zahlungsbedingungen:}\hfill\parbox[t]{0.7\textwidth}{$(payment_terms)$}\\
+$(end)$
+\vspace*{0.5em}
+Die Ware bleibt bis zur vollständigen Bezahlung unser Eigentum.
+$(if reqdate)$
+\vspace*{0.5em}
+Sollte bis zum \reqdate{ }kein Zahlungseingang erfolgen, ist der Vertrag hinfällig.
+$(end)$
+\vspace*{0.5em}
+Nutzen Sie bitte für Fragen oder Änderungswünsche die oben angegebenen Kontaktmöglichkeiten.\\ \vfil
+\parbox{\textwidth}{
+\vspace*{1em}
+Mit freundlichen Grüßen\\ \vfil
+\employeename
+} % parbox
+\vfill
+\footnotesize
+Es gelten unsere AGB, die wir Ihnen -- falls nicht zur Hand oder unbekannt -- gern zusenden.
+
+\end{document}
diff --git a/templates/print/Standard/purchase_delivery_order.tex b/templates/print/Standard/purchase_delivery_order.tex
new file mode 100644 (file)
index 0000000..cec5b79
--- /dev/null
@@ -0,0 +1,100 @@
+% purchase_delivery_order.tex für LX-Office ab V2.6.3
+% Bestell-Eingangslieferschein
+% ----------
+% Überarbeitet von Norbert Simon, n.simon@linet-services.de
+% Version 2.1 vom 21.Oktober 2011
+% Basiert auf der Arbeit von kmk@lilalaser.de / 2007
+% Diese Vorlage steht unter der GPL-Lizenz, Version 3
+% siehe http://www.gnu.de/licenses/gpl-3.0.html             
+% ----------
+% config: tag-style=$( )$
+% ----------
+
+\documentclass[twoside]{scrartcl}
+\usepackage[frame]{xy}
+\usepackage{tabularx}
+\usepackage[utf8]{inputenc}
+\usepackage{graphicx}
+\setlength{\voffset}{0.5cm}
+\setlength{\hoffset}{-2.0cm}
+\setlength{\topmargin}{0cm}
+\setlength{\headheight}{0.5cm}
+\setlength{\headsep}{1cm}
+\setlength{\topskip}{0pt}
+\setlength{\oddsidemargin}{1.0cm}
+\setlength{\evensidemargin}{1.0cm}
+\setlength{\textwidth}{17cm}
+\setlength{\textheight}{24.7cm}
+\setlength{\footskip}{1cm}
+\setlength{\parindent}{0pt}
+\renewcommand{\baselinestretch}{1}
+
+\begin{document}
+
+\pagestyle{myheadings}
+\thispagestyle{empty}
+
+\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
+
+\markboth{$(company)$\hfill $(ordnumber)$}{$(company)$\hfill $(ordnumber)$}
+
+\vspace*{0.5cm}
+
+\parbox[t]{1cm}{\hfill}
+\parbox[t]{.5\textwidth}{
+\textbf{Von}
+\vspace{0.7cm}
+
+$(name)$ \\
+$(street)$ \\
+$(zipcode)$ \\
+$(city)$ \\
+$(country)$
+}
+\hfill
+
+\vspace{1cm}
+
+\textbf{Eingangslieferschein}
+\hfill
+
+\vspace{1cm}
+
+\begin{tabularx}{\textwidth}{*{6}{|X}|} \hline
+  \textbf{BestellNr. \#} & \textbf{Datum} & \textbf{Kontakt}
+  $(if warehouse)$
+  & \textbf{Lager}
+  $(end warehouse)$
+  & \textbf{Lagerplatz} & \textbf{Lieferung mit} \\ [0.5em]
+  \hline
+
+  $(ordnumber)$
+  $(if shippingdate)$
+  & $(shippingdate)$
+  $(end shippingdate)$
+  $(if not shippingdate)$
+  & $(orddate)$
+  $(end shippingdate)$
+  & $(employee)$
+  $(if warehouse)$
+  & $(warehouse)$
+  $(end warehouse)$
+  & $(shippingpoint)$ & $(shipvia)$ \\
+  \hline
+\end{tabularx}
+
+\vspace{1cm}
+
+\begin{tabularx}{\textwidth}{@{}rlXllrrll@{}}
+  \textbf{Pos} & \textbf{Nummer} & \textbf{Beschreibung} & \textbf{Seriennumner} & & \textbf{Menge} & \textbf{Erh} & & \textbf{Lagerplatz} \\
+
+$(foreach number)$
+  $(runningnumber)$ & $(number)$ & $(description)$ & $(serialnumber)$ &
+  $(deliverydate)$ & $(qty)$ & $(ship)$ & $(unit)$ & $(bin)$ \\
+$(end number)$
+\end{tabularx}
+
+
+\rule{\textwidth}{2pt}
+
+\end{document}
diff --git a/templates/print/Standard/purchase_order.tex b/templates/print/Standard/purchase_order.tex
new file mode 100644 (file)
index 0000000..3abc871
--- /dev/null
@@ -0,0 +1,252 @@
+% purchase_order.tex für LX-Office ab V2.6.3
+% Einkauf - Bestellung
+% ----------
+% Überarbeitet von Norbert Simon, n.simon@linet-services.de
+% Version 2.5 vom 15.November 2011
+% Basiert auf der Arbeit von kmk@lilalaser.de / 2007
+% Diese Vorlage steht unter der GPL-Lizenz, Version 3
+% siehe http://www.gnu.de/licenses/gpl-3.0.html
+% ----------
+% config: tag-style=$( )$
+% ----------
+\documentclass[twoside]{scrartcl}
+\usepackage{fancyhdr}       % Für den Seitenkopf und -Fuß
+\usepackage{ifpdf}          % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe
+\usepackage{xifthen}        % Allgemeine Code-Weiche
+\usepackage{graphicx}       % Fuer die Einbindung der Logo-Graphik
+\usepackage{german}         % Deutsche Trenn-Tabelle
+\usepackage[utf8]{inputenc} % Umlaute direkt eingeben
+\usepackage{lastpage}       % Fuer die Angabe "Seite 2 von 5"
+\usepackage{filecontents}   % Um von latex aus eine Datei schreiben zu koennen
+\usepackage{etex}           % Damit Marken verwendet werden koennen
+\usepackage{ltxtable}       % Mehrseiten-Tabellen mit variabler Spaltenbreite
+\usepackage{booktabs}      % Striche in Tabellen
+\usepackage{numprint}       % Zahlen formatiert ausgeben
+\usepackage[$(if myconfig_output_numberformat =~ "1.000,00")$german$(else)$$(if myconfig_output_numberformat =~ "1000,00")$germannosep$(else)$$(if myconfig_output_numberformat =~ "1,000.00")$english$(else)$englishnosep$(end)$$(end)$$(end)$]{zwischensumme}  % Lokales Makro zur Berechnung der Zwischensummen
+\usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text
+\newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften
+% ---------- Report-Variablen zur Verwendung in kivitendobriefkopf.tex ----------
+% ----------  Die eigenen Daten ----------
+\newcommand{\employeename}{$(employee_name)$}
+\newcommand{\employeecompany}{$(employee_company)$}
+\newcommand{\employeeaddress}{$(employee_address)$}
+\newcommand{\employeetel}{$(employee_tel)$}
+\newcommand{\employeefax}{$(employee_fax)$}
+\newcommand{\employeeemail}{$(employee_email)$}
+\newcommand{\employeecoustid}{$(employee_co_ustid)$}
+\newcommand{\employeetaxnumber}{$(employee_taxnumber)$}
+\newcommand{\employeetable}{tabelle$(employee_login)$.tex}
+
+% ---------- Eigene Bankverbindung falls nicht im Briefkopf gesetzt ----------
+% \newcommand{\companybank}{$(company_bank)$}
+% \newcommand{\companybankcode}{$(company_bank_code)$}
+% \newcommand{\companyaccountnumber}{$(company_account_number)$}
+
+% ---------- Adressat ----------
+\newcommand{\name}{$(name)$}
+\newcommand{\departmentone}{$(department_1)$}
+\newcommand{\departmenttwo}{$(department_2)$}
+\newcommand{\cpgreeting}{$(cp_greeting)$}
+\newcommand{\cptitle}{$(cp_title)$}
+\newcommand{\cpgivenname}{$(cp_givenname)$}
+\newcommand{\cpname}{$(cp_name)$}
+\newcommand{\street}{$(street)$}
+\newcommand{\country}{$(country)$}
+\newcommand{\zipcode}{$(zipcode)$}
+\newcommand{\city}{$(city)$}
+\newcommand{\phone}{$(customerphone)$}
+\newcommand{\fax}{$(customerfax)$}
+\newcommand{\lettergreeting}{
+       \ifthenelse{\equal{$(cp_gender)$}{f}}
+        {Sehr geehrte Frau $(cp_name)$,}
+       {\ifthenelse{\equal{$(cp_gender)$}{m}}
+         {Sehr geehrter Herr $(cp_name)$,}
+         {Sehr geehrte Damen und Herren,}
+       }\\[1\baselineskip]
+}
+
+% ---------- Bestellvariablen ----------
+\newcommand{\quonumber}{$(quonumber)$}
+\newcommand{\docnumber}{Bestellung Nr. \ordnumber}
+\newcommand{\vendornumber}{$(vendornumber)$}
+\newcommand{\reqdate}{$(reqdate)$}
+\newcommand{\orddate}{$(orddate)$}
+\newcommand{\ordnumber}{$(ordnumber)$}
+\newcommand{\transdate}{$(transdate)$}
+
+% ---------- Lieferadresse ----------
+\newcommand{\shiptoname}{$(shiptoname)$}
+\newcommand{\shiptocontact}{$(shiptocontact)$}
+\newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$}
+\newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$}
+\newcommand{\shiptostreet}{$(shiptostreet)$}
+\newcommand{\shiptocity}{$(shiptocity)$}
+\newcommand{\shiptocountry}{$(shiptocountry)$}
+\newcommand{\shiptophone}{$(shiptophone)$}
+\newcommand{\shiptozipcode}{$(shiptozipcode)$}
+\newcommand{\shiptofax}{$(shiptofax)$}
+
+% ---------- Währungszeichen ----------
+\newcommand{\currency}{$(currency)$}
+\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{}
+\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{}
+\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{}
+\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{}
+
+% ---------- Ende Reportvariablen-Umsetzung ----------
+
+% ---------- Briefkopf dazuladen ----------
+\input{kivitendobriefkopf}
+
+\begin{document}
+% ---------- Schrift Hauptdokuments (Computermodern-sanserif)  ----------
+% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% ---------- Schrift Helvetica ------------------------
+\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% ---------- Firmenlogo nur erste Seite ----------
+\thispagestyle{briefkopf}
+
+% ---------- Datum und Nummern ----------
+% Position unterhalb des Briefkopfs
+\vspace*{\vlogospacing}
+\renewcommand{\arraystretch}{0.9}
+\begin{minipage}[b]{177mm}
+\sperren{\textbf{Bestellung Nr. \ordnumber}}
+\hfill
+       \small
+       \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}}
+               \textbf{Seite} & {\thepage} von \pageref{LastPage}\\
+               \textbf{Datum} & \orddate \\
+               \nonemptyline{\textbf{Lieferung bis} &}{\reqdate}
+               \nonemptyline{\textbf{Unsere Kunden Nr.} &}{\vendornumber}
+               \textbf{Bestellung Nr.} & \ordnumber\\
+               \nonemptyline{\textbf{Terminwunsch} &}{\reqdate}
+               \textbf{Ansprechpartner} & \employeename\\
+               \nonemptyline{\textbf{Durchwahl} &}{\employeetel}
+               \nonemptyline{\textbf{E-Mail} &}{\employeeemail}
+       \end{tabular}\\[10mm plus 20mm minus 10mm]
+\end{minipage}
+\renewcommand{\arraystretch}{1}
+\normalsize
+
+
+% ---------- Begrüßung und Bemerkungen ----------
+\vspace{5mm}
+\lettergreeting
+gemäß Ihrem Angebot
+\ifthenelse{\equal{\orddate}{\leer}}{}{vom \orddate{}}%
+, beauftragen wir Sie mit der nachstehenden Lieferung.
+Bei Fragen zur Bestellung, steht Ihnen \employeename \ per Telefon (\employeetel) oder per E-Mail (\employeeemail) gerne zur Verfügung.\\
+
+%\\[1\baselineskip]
+
+% ---------- Bemerkung übernehmen ----------
+\ifthenelse{\isempty{$(notes)$}}{}{
+      \vspace{ 5mm}
+      $(notes)$
+      \vspace*{5mm}
+      }
+
+
+% ---------- Die eigentliche-Tabelle ----------
+
+% ---------- Tabelle puffern ----------
+\begin{filecontents}{\employeetable}
+% ---------- globale Variable laufsumme deklarieren
+\resetlaufsumme
+% ---------- Spaltendefinition ----------
+\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{}}]}}
+% ---------- Kopfzeile der Tabelle ----------
+       \textbf{Pos} &
+       \textbf{Art.Nr.} &
+       \textbf{Bezeichnung} &
+       \textbf{Menge} &
+       \textbf{ME} &
+       \textbf{EP/€} &
+       \textbf{GP/€} \\
+       \midrule
+  \endfirsthead
+% ---------- Tabellenkopf nach dem Umbruch ----------
+       \textbf{Pos} &
+       \textbf{Art.Nr.} &
+       \textbf{Bezeichnung} &
+       \textbf{Menge} &
+       \textbf{ME} &
+       \textbf{EP/€} &
+       \textbf{GP/€} \\
+        \midrule
+       & & \multicolumn{4}{r}{} & \MarkUebertrPos\\[1.5em]
+  \endhead
+% ---------- Fuss der Teiltabellen ----------
+        \midrule
+       & & \multicolumn{4}{r}{} & \MarkZwsumPos \\
+  \endfoot
+% ---------- Das Ende der Tabelle ----------
+       \midrule
+%      & & \multicolumn{4}{r}{ Nettobetrag} & \MarkZwsumPos \\
+  \endlastfoot
+% ---------- Positionen ----------
+  $(foreach number)$
+       $(runningnumber)$ &
+       $(number)$ &
+       $(description)$
+       \ifthenelse{\equal{$(longdescription)$}{}}{}{$(longdescription)$} &
+       $(qty)$ &
+       $(unit)$ &
+       \numprint{$(sellprice)$} &
+       \numprint{$(linetotal)$}\Wert{$(linetotal NOFORMAT)$}
+       \\ %
+  $(end number)$
+\end{longtable}
+% ----------  Ende der Hilfsdatei ----------
+\end{filecontents}
+% ---------- Puffertabelle öffnen ----------
+\LTXtable{\textwidth}{\employeetable}
+%---------- Bereich für die Summen ----------
+\parbox{\textwidth}{
+%---------- Summenbereich nach recht schieben  ----------
+\hfill
+\setlength{\tabcolsep}{0mm}
+\begin{tabular}{@{}r@{ }r@{ }l}
+%   \toprule
+   {Nettobetrag:}& \numprint{$(subtotal)$}& \currency\\
+% ---------- Alle Steuern ausweisen ----------
+   $(foreach tax)$
+%       {$(taxdescription)$ auf }\numprint{$(taxbase)$}~\currency: & \numprint{$(tax)$}& \\
+               {$(taxdescription)$}:  & \numprint{$(tax)$}& \currency\\
+   $(end tax)$
+   \midrule
+   {\textbf{Gesamtbetrag:}} & \bfseries\numprint{$(ordtotal)$} & \textbf{\currency}\\
+   \bottomrule
+\end{tabular}
+}
+\vfill
+Grundlage dieses Auftrages sind unsere Einkaufsbedingungen. 
+Wir bitten um gleichlautende Auftragsbestätigung.\\
+\vspace{1.5\baselineskip}
+
+\nonemptyline{\textbf{Liefertermin: }}{\reqdate}
+
+% ---------- Lieferadresse ----------
+\ifthenelse{\equal{\shiptocity}{\leer}}{}{
+% ---------- Umbruch dazwischen verhindern ----------
+\parbox{\textwidth}{
+\textbf{Lieferanschrift:}
+%[7mm]
+%    \rule{10em}{0mm}
+% ---------- Bereich für Lieferadresse ----------
+       \parbox[t]{7cm}{
+               \shiptoname \\
+               \nonemptyline{}{\shiptodepartmentone}
+               \nonemptyline{}{\shiptodepartmenttwo}
+               \shiptostreet \\
+               \shiptocountry{ }\shiptozipcode{ }\shiptocity\\[1mm]
+               \nonemptyline{Tel: }{\shiptophone}
+               \nonemptyline{Fax: }{\shiptofax}
+       }%ende parbox
+}% ende parbox
+}% ende ifthenelse
+
+
+\end{document}
+
diff --git a/templates/print/Standard/receipt.tex b/templates/print/Standard/receipt.tex
new file mode 100644 (file)
index 0000000..6086d45
--- /dev/null
@@ -0,0 +1,71 @@
+\documentclass[twoside]{scrartcl}
+\usepackage[frame]{xy}
+\usepackage{tabularx}
+\usepackage[utf8]{inputenc}
+\setlength{\voffset}{0.4cm}
+\setlength{\hoffset}{-2.0cm}
+\setlength{\topmargin}{0cm}
+\setlength{\headheight}{0.0cm}
+\setlength{\headsep}{1cm}
+\setlength{\topskip}{0pt}
+\setlength{\oddsidemargin}{1.0cm}
+\setlength{\evensidemargin}{1.0cm}
+\setlength{\textwidth}{17cm}
+\setlength{\textheight}{24.5cm}
+\setlength{\footskip}{1cm}
+\setlength{\parindent}{0pt}
+\renewcommand{\baselinestretch}{1}
+\begin{document}
+
+
+\fontfamily{cmss}\fontsize{9pt}{9pt}\selectfont
+
+\parbox[t]{12cm}{
+  <%company%>
+
+  <%address%>}
+\hfill
+\parbox[t]{6cm}{\hfill <%source%>}
+
+\vspace*{0.6cm}
+
+<%text_amount%> \dotfill <%decimal%>/100 \makebox[0.5cm]{\hfill}
+
+\vspace{0.5cm}
+
+\hfill <%datepaid%> \makebox[2cm]{\hfill} <%amount%>
+
+\vspace{0.5cm}
+
+<%name%>
+
+<%street%>
+
+<%zipcode%>
+
+<%city%>
+
+<%country%>
+
+\vspace{2.8cm}
+
+<%company%>
+
+\vspace{0.5cm}
+
+<%name%> \hfill <%datepaid%> \hfill <%source%>
+
+\vspace{0.5cm}
+\begin{tabularx}{\textwidth}{lXrr@{}}
+\textbf{Rechnung} & \textbf{Ausgestellt}
+  & \textbf{Fällig} & \textbf{Verrechnet} \\
+<%foreach invnumber%>
+<%invnumber%> & <%invdate%> \dotfill
+  & <%due%> & <%paid%> \\
+<%end invnumber%>
+\end{tabularx}
+
+\vfill
+
+\end{document}
+
diff --git a/templates/print/Standard/request_quotation.tex b/templates/print/Standard/request_quotation.tex
new file mode 100644 (file)
index 0000000..913df1e
--- /dev/null
@@ -0,0 +1,245 @@
+% request_quotation.tex für LX-Office ab V2.6.3
+% Anfrage - Einkauf
+% ----------
+% Überarbeitet von Norbert Simon, n.simon@linet-services.de
+% Version 2.5 vom 15. November 2011
+% Basiert auf der Arbeit von kmk@lilalaser.de / 2007
+% Diese Vorlage steht unter der GPL-Lizenz, Version 3
+% siehe http://www.gnu.de/licenses/gpl-3.0.html
+% ----------
+% config: tag-style=$( )$
+% ----------
+\documentclass[twoside]{scrartcl}
+\usepackage{fancyhdr}       % Für den Seitenkopf und -Fuß
+\usepackage{ifpdf}          % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe
+\usepackage{xifthen}        % Allgemeine Code-Weiche
+\usepackage{graphicx}       % Fuer die Einbindung der Logo-Graphik
+\usepackage{german}         % Deutsche Trenn-Tabelle
+\usepackage[utf8]{inputenc} % Umlaute direkt eingeben
+\usepackage{lastpage}       % Fuer die Angabe "Seite 2 von 5"
+\usepackage{filecontents}   % Um von latex aus eine Datei schreiben zu koennen
+\usepackage{etex}           % Damit Marken verwendet werden koennen
+\usepackage{ltxtable}       % Mehrseiten-Tabellen mit variabler Spaltenbreite
+\usepackage{booktabs}      % Striche in Tabellen
+\usepackage{numprint}       % Zahlen formatiert ausgeben
+\usepackage[$(if myconfig_output_numberformat =~ "1.000,00")$german$(else)$$(if myconfig_output_numberformat =~ "1000,00")$germannosep$(else)$$(if myconfig_output_numberformat =~ "1,000.00")$english$(else)$englishnosep$(end)$$(end)$$(end)$]{zwischensumme}  % Lokales Makro zur Berechnung der Zwischensummen
+\usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text
+\newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften
+
+% ---------- Report-Variablen zur Verwendung in kivitendobriefkopf.tex ----------
+% ----------  Die eigenen Daten ----------
+\newcommand{\employeename}{$(employee_name)$}
+\newcommand{\employeecompany}{$(employee_company)$}
+\newcommand{\employeeaddress}{$(employee_address)$}
+\newcommand{\employeetel}{$(employee_tel)$}
+\newcommand{\employeefax}{$(employee_fax)$}
+\newcommand{\employeeemail}{$(employee_email)$}
+\newcommand{\employeecoustid}{$(employee_co_ustid)$}
+\newcommand{\employeetaxnumber}{$(employee_taxnumber)$}
+\newcommand{\employeetable}{tabelle$(employee_login)$.tex}
+
+% ---------- Adressat ----------
+\newcommand{\name}{$(name)$}
+\newcommand{\departmentone}{$(department_1)$}
+\newcommand{\departmenttwo}{$(department_2)$}
+\newcommand{\cpgreeting}{$(cp_greeting)$}
+\newcommand{\cptitle}{$(cp_title)$}
+\newcommand{\cpgivenname}{$(cp_givenname)$}
+\newcommand{\cpname}{$(cp_name)$}
+\newcommand{\street}{$(street)$}
+\newcommand{\country}{$(country)$}
+\newcommand{\zipcode}{$(zipcode)$}
+\newcommand{\city}{$(city)$}
+\newcommand{\phone}{$(customerphone)$}
+\newcommand{\fax}{$(customerfax)$}
+\newcommand{\lettergreeting}{
+       \ifthenelse{\equal{$(cp_gender)$}{f}}
+        {Sehr geehrte Frau $(cp_name)$,}
+       {\ifthenelse{\equal{$(cp_gender)$}{m}}
+         {Sehr geehrter Herr $(cp_name)$,}
+         {Sehr geehrte Damen und Herren,}
+       }\\[1\baselineskip]
+}
+
+% ---------- Bestellvariablen ----------
+\newcommand{\quonumber}{$(quonumber)$}
+\newcommand{\docnumber}{Anfrage Nr. {\quonumber}}
+\newcommand{\vendornumber}{$(vendornumber)$}
+\newcommand{\reqdate}{$(reqdate)$}
+\newcommand{\orddate}{$(orddate)$}
+\newcommand{\ordnumber}{$(ordnumber)$}
+\newcommand{\transdate}{$(transdate)$}
+
+% ---------- Lieferadresse ----------
+\newcommand{\shiptoname}{$(shiptoname)$}
+\newcommand{\shiptocontact}{$(shiptocontact)$}
+\newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$}
+\newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$}
+\newcommand{\shiptostreet}{$(shiptostreet)$}
+\newcommand{\shiptocity}{$(shiptocity)$}
+\newcommand{\shiptocountry}{$(shiptocountry)$}
+\newcommand{\shiptophone}{$(shiptophone)$}
+\newcommand{\shiptozipcode}{$(shiptozipcode)$}
+\newcommand{\shiptofax}{$(shiptofax)$}
+
+% ---------- Währungszeichen ----------
+\newcommand{\currency}{$(currency)$}
+\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{}
+\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{}
+\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{}
+\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{}
+
+% ---------- Ende Reportvariablen-Umsetzung ----------
+
+% ---------- Briefkopf dazuladen ----------
+\input{kivitendobriefkopf}
+
+\begin{document}
+% ---------- Schrift Hauptdokuments (Computermodern-sanserif)  ----------
+% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% ---------- Schrift Helvetica ------------------------
+\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% ---------- Firmenlogo nur erste Seite ----------
+\thispagestyle{briefkopf}
+
+% ---------- Datum und Nummern ----------
+% Position unterhalb des Briefkopfs
+\vspace*{\vlogospacing}
+\renewcommand{\arraystretch}{0.9}
+\begin{minipage}[b]{177mm}
+\sperren{\textbf{Anfrage Nr. \quonumber}}
+\hfill
+       \small
+       \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}}
+               \textbf{Seite} & {\thepage} von \pageref{LastPage}\\
+               \textbf{Datum} & \transdate \\
+               \nonemptyline{\textbf{Unsere Kunden Nr.} &}{\vendornumber}
+               \textbf{Anfrage Nr.} & \quonumber\\
+               \nonemptyline{\textbf{Terminwunsch} &}{\reqdate}
+               \textbf{Ansprechpartner} & \employeename\\
+               \nonemptyline{\textbf{Durchwahl} &}{\employeetel}
+               \nonemptyline{\textbf{E-Mail} &}{\employeeemail}
+       \end{tabular}\\[10mm plus 20mm minus 10mm]
+\end{minipage}
+\normalsize
+\renewcommand{\arraystretch}{1}
+
+% ---------- Begrüßung und Bemerkungen ----------
+\vspace*{5mm}
+\lettergreeting
+hiermit bitten wir um ein für uns freibleibendes und kostenloses Angebot für die nachfolgenden Positionen.
+Eventuell preisgünstigere Alternativen bitten wir gesondert anzubieten.
+Für Nachfragen steht Ihnen \employeename \ per Telefon (\employeetel) oder per E-Mail (\employeeemail) gerne zur Verfügung.\\[1\baselineskip]
+\ifthenelse{\isempty{$(notes)$}}{}{
+      $(notes)$\\[1\baselineskip]
+      }%
+%Mit freundlichen Grüßen\\[1\baselineskip]
+%\employeename\\[1\baselineskip]
+% ---------- Die eigentliche-Tabelle ----------
+% ---------- Tabelle puffern ----------
+\begin{filecontents}{\employeetable}
+% ---------- globale Variable laufsumme deklarieren ----------
+\resetlaufsumme
+% ---------- Spaltendefinition ----------
+\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{}}]}}
+% ---------- Kopfzeile der Tabelle ----------
+       \textbf{Pos} &
+       \textbf{Art.Nr.} &
+       \textbf{Bezeichnung} &
+       \textbf{Menge} &
+       \textbf{ME} &
+       \textbf{EP/€} &
+       \textbf{GP/€} \\
+       \midrule
+  \endfirsthead
+% ---------- Tabellenkopf nach dem Umbruch ----------
+       \textbf{Pos} &
+       \textbf{Art.Nr.} &
+       \textbf{Bezeichnung} &
+       \textbf{Menge} &
+       \textbf{ME} &
+       \textbf{EP/€} &
+       \textbf{GP/€} \\
+        \midrule
+       & & \multicolumn{4}{r}{} & \MarkUebertrPos\\[1.5em]
+  \endhead
+% ---------- Fuss der Teiltabellen ----------
+        \midrule
+       & & \multicolumn{4}{r}{} & \MarkZwsumPos \\
+  \endfoot
+% ---------- Das Ende der Tabelle ----------
+       \midrule
+%      & & \multicolumn{4}{r}{ Nettobetrag:} & \MarkZwsumPos \\
+  \endlastfoot
+% ---------- Positionen ----------
+  $(foreach number)$
+       $(runningnumber)$ &
+       $(number)$ &
+       $(description)$
+       \ifthenelse{\equal{$(longdescription)$}{}}{}{\newline
+       \renewcommand{\baselinestretch}{1}\footnotesize
+       {\footnotesize $(longdescription)$
+       \renewcommand{\baselinestretch}{1}\normalsize
+       }} &
+       $(qty)$ &
+       $(unit)$ &
+       \numprint{$(sellprice)$}
+       \ifthenelse{\equal{$(p_discount)$}{0}}{}{ -$(p_discount)$\%} &
+       \numprint{$(linetotal)$}\Wert{$(linetotal NOFORMAT)$} \\ %
+  $(end number)$
+\end{longtable}
+% ----------  Ende der Hilfsdatei ----------
+\end{filecontents}
+% ---------- Puffertabelle öffnen ----------
+\LTXtable{\textwidth}{\employeetable}
+ %---------- Bereich für die Summen ----------
+\parbox{\textwidth}{
+ %---------- Summenbereich nach recht schieben  ----------
+\hfill
+\setlength{\tabcolsep}{0mm}
+\begin{tabular}{@{}r@{ }r@{ }l}
+%   \toprule
+   {Nettobetrag:}& \numprint{$(subtotal)$}& \currency\\
+% ---------- Alle Steuern ausweisen ----------
+   $(foreach tax)$
+%       {$(taxdescription)$ auf }\numprint{$(taxbase)$}~\currency: & \numprint{$(tax)$}& \\
+               {$(taxdescription)$}:  & \numprint{$(tax)$}& \currency\\
+   $(end tax)$
+   \midrule
+   {\textbf{Gesamtbetrag:}} & \bfseries\numprint{$(ordtotal)$} & \textbf{\currency}\\
+   \bottomrule
+\end{tabular}
+}
+% ---------- Lieferadresse ----------
+\ifthenelse{%
+     \equal{\shiptoname}{\name} \AND
+     \equal{\shiptodepartmentone}{\leer} \AND
+     \equal{\shiptodepartmenttwo}{\leer} \AND
+     \equal{\shiptostreet}{\street} \AND
+     \equal{\shiptozipcode}{\zipcode} \AND
+     \equal{\shiptocity}{\city}
+     }{}{
+% ---------- Umbruch dazwischen verhindern ----------
+\parbox{\textwidth}{
+\ifthenelse{\equal{$(shipvia)$}{\leer}}{}{Lieferung vorzugsweise mit $(shipvia)$.\\[1em]}
+
+\textbf{Lieferanschrift:} \hspace{2mm}
+%    \rule{10em}{0mm}
+% ---------- Bereich für Lieferadresse ----------
+       \parbox[t]{7cm}{
+               \shiptoname \\
+               \nonemptyline{}{\shiptodepartmentone}
+               \nonemptyline{}{\shiptodepartmenttwo}
+               \shiptostreet \\
+               \shiptocountry{ }\shiptozipcode{ }\shiptocity\\[1mm]
+               \nonemptyline{Tel: }{\shiptophone}
+               \nonemptyline{Fax: }{\shiptofax}
+       }%ende parbox
+}% ende parbox
+}% ende ifthenelse
+
+%Mit freundlichen Grüßen\\[1\baselineskip]
+%\employeename\\[1\baselineskip]
+
+\end{document}
+
diff --git a/templates/print/Standard/sales_delivery_order.odt b/templates/print/Standard/sales_delivery_order.odt
new file mode 100644 (file)
index 0000000..9c485f3
Binary files /dev/null and b/templates/print/Standard/sales_delivery_order.odt differ
diff --git a/templates/print/Standard/sales_delivery_order.tex b/templates/print/Standard/sales_delivery_order.tex
new file mode 100644 (file)
index 0000000..bcad78b
--- /dev/null
@@ -0,0 +1,192 @@
+% sales_delivery_order.tex
+% Verkauf - Lieferschein
+% Überarbeitet von Norbert Simon, n.simon@linet-services.de
+% Version 2.5 vom 15.Oktober 2011
+% Basiert auf der Arbeit von kmk@lilalaser.de / 2007
+% Diese Vorlage steht unter der GPL-Lizenz, Version 3
+% siehe http://www.gnu.de/licenses/gpl-3.0.html             
+% ----------
+% config: tag-style=$( )$
+% ----------
+\documentclass[twoside]{scrartcl}
+\usepackage{fancyhdr}       % Für den Seitenkopf und -Fuß
+\usepackage{ifpdf}          % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe
+\usepackage{xifthen}        % Allgemeine Code-Weiche
+\usepackage{graphicx}       % Fuer die Einbindung der Logo-Graphik 
+\usepackage{german}         % Deutsche Trenn-Tabelle
+\usepackage[utf8]{inputenc} % Umlaute direkt eingeben 
+\usepackage{textcomp}       % Sonderzeichen
+\usepackage{lastpage}       % Fuer die Angabe "Seite 2 von 5"
+\usepackage{filecontents}   % Um von latex aus eine Datei schreiben zu koennen
+\usepackage{ltxtable}       % Mehrseiten-Tabellen mit variabler Spaltenbreite
+\usepackage{booktabs}      % Striche in Tabellen
+\usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text
+\newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften
+
+
+% ---------- Report-Variablen zur Verwendung in kivitendobriefkopf.tex ---------- 
+% ----------  Die eigenen Daten ---------- 
+\newcommand{\employeename}{$(employee_name)$}
+\newcommand{\employeecompany}{$(employee_company)$}
+\newcommand{\employeeaddress}{$(employee_address)$}
+\newcommand{\employeetel}{$(employee_tel)$}
+\newcommand{\employeefax}{$(employee_fax)$}
+\newcommand{\employeeemail}{$(employee_email)$}
+\newcommand{\employeecoustid}{$(employee_co_ustid)$}
+\newcommand{\employeetaxnumber}{$(employee_taxnumber)$}
+\newcommand{\employeetable}{tabelle$(employee_login)$.tex}
+
+% ---------- Eigene Bankverbindung falls nicht im Briefkopf gesetzt ---------- 
+% \newcommand{\companybank}{$(company_bank)$}
+% \newcommand{\companybankcode}{$(company_bank_code)$}
+% \newcommand{\companyaccountnumber}{$(company_account_number)$}
+
+% ---------- Adressat ---------- 
+\newcommand{\name}{$(name)$}
+\newcommand{\departmentone}{$(department_1)$}
+\newcommand{\departmenttwo}{$(department_2)$}
+\newcommand{\cpgreeting}{$(cp_greeting)$}
+\newcommand{\cptitle}{$(cp_title)$}
+\newcommand{\cpgivenname}{$(cp_givenname)$}
+\newcommand{\cpname}{$(cp_name)$}
+\newcommand{\street}{$(street)$}
+\newcommand{\country}{$(country)$}
+\newcommand{\zipcode}{$(zipcode)$}
+\newcommand{\city}{$(city)$}
+\newcommand{\phone}{$(customerphone)$}
+\newcommand{\fax}{$(customerfax)$}
+\newcommand{\lettergreeting}{
+       \ifthenelse{\equal{$(cp_gender)$}{f}} 
+        {Sehr geehrte Frau $(cp_name)$,}
+       {\ifthenelse{\equal{$(cp_gender)$}{m}}
+         {Sehr geehrter Herr $(cp_name)$,}
+         {Sehr geehrte Damen und Herren,}
+       }\\[0.3em]
+}
+
+% ---------- Bestellvariablen ---------- 
+\newcommand{\ordnumber}{$(ordnumber)$}
+\newcommand{\donumber}{$(donumber)$}
+%\newcommand{\donumber}{Lieferschein zu Auftrag Nr. \ordnumber}
+\newcommand{\deldate}{\the\day.\the\month.\the\year}
+\newcommand{\orddate}{$(orddate)$}
+\newcommand{\quodate}{$(quodate)$}
+\newcommand{\reqdate}{$(reqdate)$}
+\newcommand{\kundennummer}{$(customernumber)$}
+
+% ---------- Lieferadresse ---------- 
+\newcommand{\shiptoname}{$(shiptoname)$}
+\newcommand{\shiptocontact}{$(shiptocontact)$}
+\newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$}
+\newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$}
+\newcommand{\shiptostreet}{$(shiptostreet)$}
+\newcommand{\shiptocity}{$(shiptocity)$}
+\newcommand{\shiptocountry}{$(shiptocountry)$}
+\newcommand{\shiptophone}{$(shiptophone)$}
+\newcommand{\shiptozipcode}{$(shiptozipcode)$}
+\newcommand{\shiptofax}{$(shiptofax)$}
+
+% ---------- Währungszeichen ---------- 
+\newcommand{\currency}{$(currency)$}
+\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{}
+\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{}
+\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{}
+\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{}
+
+% ---------- Ende Reportvariablen-Umsetzung ----------
+
+% ---------- Briefkopf dazuladen ---------- 
+\input{kivitendobriefkopf}
+
+\begin{document}
+% ---------- Schrift Hauptdokuments (Computermodern-sanserif)  ---------- 
+% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% ---------- Schrift Helvetica ------------------------
+\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% ---------- Firmenlogo nur erste Seite ---------- 
+\thispagestyle{briefkopf}                              
+% ---------- Datum und Nummern ---------- 
+% Position unterhalb des Briefkopfs
+\vspace*{\vlogospacing}        
+\renewcommand{\arraystretch}{0.9}
+\begin{minipage}[b]{177mm}
+\sperren{\textbf{Lieferschein Nr. \donumber}}
+\hfill
+       \small
+       \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}}
+               \textbf{Seite} & {\thepage} von \pageref{LastPage}\\
+               \textbf{Datum} & \deldate \\
+               \textbf{Kunden Nr.} & \kundennummer\\
+               \textbf{Auftrag Nr.} & \ordnumber\\
+               \textbf{Lieferschein Nr.} & \donumber\\
+               \nonemptyline{\textbf{Vorraussichtl. Lieferdatum:} &}{\reqdate}
+               \textbf{Ansprechpartner} & \employeename\\              
+               \nonemptyline{\textbf{Durchwahl} &}{\employeetel}
+               \nonemptyline{\textbf{E-Mail} &}{\employeeemail}                                                
+       \end{tabular}\\[10mm plus 20mm minus 10mm]
+\end{minipage}
+\renewcommand{\arraystretch}{1}        
+\normalsize
+% ---------- Begrüßung und Bemerkungen ---------- 
+\vspace{ 5mm}
+%\lettergreeting
+Wir liefern Ihnen gemäß Ihrem Auftrag %
+\ifthenelse{\equal{\orddate}{\leer}}{}{vom \orddate{ }}% 
+die unten aufgeführten Positionen.\\
+Für Nachfragen steht Ihnen \employeename \ per Telefon (\employeetel) oder per E-Mail (\employeeemail) gerne zur Verfügnung.\par
+      
+% ---------- Die eigentliche-Tabelle ---------- 
+% ---------- Tabelle puffern ---------- 
+\begin{filecontents}{\employeetable}
+% ---------- Spaltendefinition ---------- 
+\begin{longtable}{@{}rlX@{ }rl@{}}
+% ---------- Kopfzeile der Tabelle ---------- 
+               \textbf{Pos} &
+       \textbf{Art.Nr.} &
+       \textbf{Bezeichnung} &
+       \textbf{Menge} &
+       \textbf{ME}  \\
+       \midrule
+  \endfirsthead
+% ---------- Tabellenkopf nach dem Umbruch ---------- 
+               \textbf{Pos} &
+       \textbf{Art.Nr.} &
+       \textbf{Bezeichnung} &
+       \textbf{Menge} &
+       \textbf{ME} \\
+        \midrule
+  \endhead
+% ---------- Fuss der Teiltabellen ---------- 
+        \midrule
+  \endfoot
+% ---------- Das Ende der Tabelle ---------- 
+       \midrule
+  \endlastfoot
+% ---------- Positionen ---------- 
+  $(foreach number)$
+       $(runningnumber)$ &
+       $(number)$ &
+       $(description)$ &
+       $(qty)$ &
+       $(unit)$ 
+       \\ %       
+  $(end number)$
+\end{longtable}
+% ----------  Ende der Hilfsdatei ---------- 
+\end{filecontents} 
+% ---------- Puffertabelle öffnen ---------- 
+\LTXtable{\textwidth}{\employeetable}
+
+\vfill
+
+Lieferung entgegengenommen:\\[3em]
+\rule{20em}{0.1pt}\\
+\hspace*{5em}Datum, Unterschrift \\
+
+\vfill
+\tiny
+Die zur Zeit gültigen Allgemeinen Auftrags- und Verkaufsbedingungen wurden zur Kenntnis genommen.\\
+
+Beanstandungen sind innerhalb von fünf Werktagen bekanntzugeben. Später eingehende Beanstandungen können nicht mehr berücksichtigt werden. Bitte dokumentieren Sie eventuelle Verpackungs- und Transportschäden der Lieferung anhand von Fotos.
+
+\end{document}
diff --git a/templates/print/Standard/sales_order.odt b/templates/print/Standard/sales_order.odt
new file mode 100644 (file)
index 0000000..244ed4a
Binary files /dev/null and b/templates/print/Standard/sales_order.odt differ
diff --git a/templates/print/Standard/sales_order.tex b/templates/print/Standard/sales_order.tex
new file mode 100644 (file)
index 0000000..048a560
--- /dev/null
@@ -0,0 +1,273 @@
+% sales_order.tex
+% Auftragsbestätigung Verkauf
+% Überarbeitet von Norbert Simon, n.simon@linet-services.de
+% Version 2.5 vom 15. November 2011
+% Basiert auf der Arbeit von kmk@lilalaser.de / 2007
+% Diese Vorlage steht unter der GPL-Lizenz, Version 3
+% siehe http://www.gnu.de/licenses/gpl-3.0.html
+% ----------
+% config: tag-style=$( )$
+% ----------
+
+\documentclass[twoside]{scrartcl}
+\usepackage{fancyhdr}       % Für den Seitenkopf und -Fuß
+\usepackage{ifpdf}          % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe
+\usepackage{xifthen}        % Allgemeine Code-Weiche
+\usepackage{graphicx}       % Fuer die Einbindung der Logo-Graphik
+\usepackage{german}         % Deutsche Trenn-Tabelle
+\usepackage[utf8]{inputenc} % Umlaute direkt eingeben
+\usepackage{textcomp}       % Sonderzeichen
+\usepackage{lastpage}       % Fuer die Angabe "Seite 2 von 5"
+\usepackage{filecontents}   % Um von latex aus eine Datei schreiben zu koennen
+\usepackage{etex}           % Damit Marken verwendet werden koennen
+\usepackage{ltxtable}       % Mehrseiten-Tabellen mit variabler Spaltenbreite
+\usepackage{booktabs}      % Striche in Tabellen
+\usepackage{numprint}       % Zahlen formatiert ausgeben
+\usepackage[$(if myconfig_output_numberformat =~ "1.000,00")$german$(else)$$(if myconfig_output_numberformat =~ "1000,00")$germannosep$(else)$$(if myconfig_output_numberformat =~ "1,000.00")$english$(else)$englishnosep$(end)$$(end)$$(end)$]{zwischensumme}  % Lokales Makro zur Berechnung der Zwischensummen
+\usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text
+\newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften
+
+
+% ---------- Report-Variablen zur Verwendung in kivitendobriefkopf.tex ----------
+% ----------  Die eigenen Daten ----------
+\newcommand{\employeename}{$(employee_name)$}
+\newcommand{\employeecompany}{$(employee_company)$}
+\newcommand{\employeeaddress}{$(employee_address)$}
+\newcommand{\employeetel}{$(employee_tel)$}
+\newcommand{\employeefax}{$(employee_fax)$}
+\newcommand{\employeeemail}{$(employee_email)$}
+\newcommand{\employeecoustid}{$(employee_co_ustid)$}
+\newcommand{\employeetaxnumber}{$(employee_taxnumber)$}
+\newcommand{\employeetable}{tabelle$(employee_login)$.tex}
+
+% ---------- Eigene Bankverbindung falls nicht im Briefkopf gesetzt ----------
+% \newcommand{\companybank}{$(company_bank)$}
+% \newcommand{\companybankcode}{$(company_bank_code)$}
+% \newcommand{\companyaccountnumber}{$(company_account_number)$}
+
+% ---------- Adressat ----------
+\newcommand{\name}{$(name)$}
+\newcommand{\departmentone}{$(department_1)$}
+\newcommand{\departmenttwo}{$(department_2)$}
+\newcommand{\cpgreeting}{$(cp_greeting)$}
+\newcommand{\cptitle}{$(cp_title)$}
+\newcommand{\cpgivenname}{$(cp_givenname)$}
+\newcommand{\cpname}{$(cp_name)$}
+\newcommand{\street}{$(street)$}
+\newcommand{\country}{$(country)$}
+\newcommand{\zipcode}{$(zipcode)$}
+\newcommand{\city}{$(city)$}
+\newcommand{\phone}{$(customerphone)$}
+\newcommand{\fax}{$(customerfax)$}
+\newcommand{\lettergreeting}{
+       \ifthenelse{\equal{$(cp_gender)$}{f}}
+        {Sehr geehrte Frau $(cp_name)$,}
+       {\ifthenelse{\equal{$(cp_gender)$}{m}}
+         {Sehr geehrter Herr $(cp_name)$,}
+         {Sehr geehrte Damen und Herren,}
+       }\\[1\baselineskip]
+}
+
+% ---------- Bestellvariablen ----------
+\newcommand{\quonumber}{$(quonumber)$}
+\newcommand{\ordnumber}{$(ordnumber)$}
+\newcommand{\docnumber}{{\quonumber}}
+\newcommand{\orddate}{$(orddate)$}
+\newcommand{\quodate}{$(quodate)$}
+\newcommand{\kundennummer}{$(customernumber)$}
+\newcommand{\reqdate}{$(reqdate)$}
+\newcommand{\transdate}{$(transdate)$}
+
+% ---------- Lieferadresse ----------
+\newcommand{\shiptoname}{$(shiptoname)$}
+\newcommand{\shiptocontact}{$(shiptocontact)$}
+\newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$}
+\newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$}
+\newcommand{\shiptostreet}{$(shiptostreet)$}
+\newcommand{\shiptocity}{$(shiptocity)$}
+\newcommand{\shiptocountry}{$(shiptocountry)$}
+\newcommand{\shiptophone}{$(shiptophone)$}
+\newcommand{\shiptozipcode}{$(shiptozipcode)$}
+\newcommand{\shiptofax}{$(shiptofax)$}
+
+% ---------- Währungszeichen ----------
+\newcommand{\currency}{$(currency)$}
+\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{}
+\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{}
+\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{}
+\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{}
+
+% ---------- Ende Reportvariablen-Umsetzung ----------
+
+% ---------- Briefkopf dazuladen ----------
+\input{kivitendobriefkopf}
+
+\begin{document}
+% ---------- Schrift Hauptdokuments (Computermodern-sanserif)  ----------
+% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% ---------- Schrift Helvetica ------------------------
+\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% ---------- Firmenlogo nur erste Seite ----------
+\thispagestyle{briefkopf}
+
+% ---------- Datum und Nummern ----------
+% Position unterhalb des Briefkopfs
+\vspace*{\vlogospacing}
+\renewcommand{\arraystretch}{0.9}
+\begin{minipage}[b]{177mm}
+\sperren{\textbf{Auftragsbestätigung Nr. \ordnumber}}
+\hfill
+       \small
+       \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}}
+               \textbf{Seite} & {\thepage} von \pageref{LastPage}\\
+               \textbf{Datum} & \orddate \\
+               \textbf{Kunden Nr.} & \kundennummer\\
+               \textbf{Angebot Nr.} & \docnumber\\
+               \textbf{Auftragsbestätigung Nr.} & \ordnumber\\
+               \nonemptyline{\textbf{Vorraussichtl. Lieferdatum} &}{\reqdate}
+               \textbf{Ansprechpartner} & \employeename\\
+               \nonemptyline{\textbf{Durchwahl} &}{\employeetel}
+               \nonemptyline{\textbf{E-Mail} &}{\employeeemail}
+       \end{tabular}\\[10mm plus 20mm minus 10mm]
+\end{minipage}
+\renewcommand{\arraystretch}{1}
+\normalsize
+% ---------- Begrüßung und Bemerkungen ----------
+\vspace{5mm}
+\lettergreeting
+wir bedanken uns für Ihren Auftrag %
+\ifthenelse{\equal{\orddate}{\leer}}{}{vom \orddate{ }}%
+und bestätigen Ihnen diesen wie folgt.\\
+%Für Nachfragen steht Ihnen \employeename \ per Telefon (\employeetel) oder per E-Mail (\employeeemail) gerne zur Verfügung.\\[1\baselineskip]
+\ifthenelse{\isempty{$(notes)$}}{}{
+      $(notes)$\\[1\baselineskip]
+      }%
+%Mit freundlichen Grüßen\\[1\baselineskip]
+%\employeename\\[1\baselineskip]
+% ---------- Die eigentliche-Tabelle ----------
+% ---------- Tabelle puffern ----------
+\begin{filecontents}{\employeetable}
+% ---------- globale Variable laufsumme deklarieren ----------
+\resetlaufsumme
+% ---------- Spaltendefinition ----------
+%\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{~\currency}}]}}
+\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{}}]}}
+% ---------- Kopfzeile der Tabelle ----------
+       \textbf{Pos} &
+       \textbf{Art.Nr.} &
+       \textbf{Bezeichnung} &
+       \textbf{Menge} &
+       \textbf{ME} &
+       \textbf{EP/€} &
+       \textbf{GP/€} \\
+       \midrule
+  \endfirsthead
+% ---------- Tabellenkopf nach dem Umbruch ----------
+       \textbf{Pos} &
+       \textbf{Art.Nr.} &
+       \textbf{Bezeichnung} &
+       \textbf{Menge} &
+       \textbf{ME} &
+       \textbf{EP/€} &
+       \textbf{GP/€} \\
+        \midrule
+       & & \multicolumn{4}{r}{} & \MarkUebertrPos\\[1.5em]
+  \endhead
+% ---------- Fuss der Teiltabellen ----------
+        \midrule
+       & & \multicolumn{4}{r}{} & \MarkZwsumPos \\
+  \endfoot
+% ---------- Das Ende der Tabelle ----------
+       \midrule
+%      & & \multicolumn{4}{r}{ Nettobetrag:} & \MarkZwsumPos \\
+  \endlastfoot
+% ---------- Positionen ----------
+  $(foreach number)$
+       $(runningnumber)$ &
+       $(number)$ &
+       $(description)$
+       \ifthenelse{\equal{$(longdescription)$}{}}{}{\newline
+       \renewcommand{\baselinestretch}{1}\footnotesize
+       {\footnotesize $(longdescription)$
+       \renewcommand{\baselinestretch}{1}\normalsize
+       }}
+       \ifthenelse{\equal{$(deliverydate_oe)$}{\leer}}{}{
+               \newline Lieferdatum:~$(deliverydate_oe)$} &
+       $(qty)$ &
+       $(unit)$ &
+       \ifthenelse{\isempty{$(sellprice)$}}{&}{
+               \numprint{$(sellprice)$}
+               \ifthenelse{\equal{$(p_discount)$}{0}}{}{ -$(p_discount)$\%} &
+               \numprint{$(linetotal)$}\Wert{$(linetotal NOFORMAT)$}  
+       }\\ %
+  $(end number)$
+
+\end{longtable}
+% ----------  Ende der Hilfsdatei ----------
+\end{filecontents}
+% ---------- Puffertabelle öffnen ----------
+\LTXtable{\textwidth}{\employeetable}
+\parbox{\textwidth}{
+%---------- Summenbereich nach recht schieben  ----------
+\hfill
+\setlength{\tabcolsep}{0mm}
+\begin{tabular}{@{}r@{ }r@{ }l}
+%   \toprule
+   {Nettobetrag:}& \numprint{$(subtotal)$}& \currency\\
+% ---------- Alle Steuern ausweisen ----------
+   $(foreach tax)$
+%       {$(taxdescription)$ auf }\numprint{$(taxbase)$}~\currency: & \numprint{$(tax)$}& \\
+               {$(taxdescription)$}:  & \numprint{$(tax)$}& \currency\\
+   $(end tax)$
+   \midrule
+   {\textbf{Gesamtbetrag:}} & \bfseries\numprint{$(ordtotal)$} & \textbf{\currency}\\
+   \bottomrule
+\end{tabular}
+}
+% ---------- Transportmittel ----------
+$(if shipvia)$
+Lieferung per $(shipvia)$.\\[1em]
+$(end)$
+% ---------- Lieferadresse ----------
+\ifthenelse{%
+     \equal{\shiptoname}{\name} \AND
+     \equal{\shiptodepartmentone}{\leer} \AND
+     \equal{\shiptodepartmenttwo}{\leer} \AND
+     \equal{\shiptostreet}{\street} \AND
+     \equal{\shiptozipcode}{\zipcode} \AND
+     \equal{\shiptocity}{\city}
+     }{}{
+% ---------- Umbruch dazwischen verhindern ----------
+\vspace*{0.5em}
+\parbox{\textwidth}{
+% ---------- Bereich für Lieferadresse ----------
+\textbf{Lieferanschrift:}\hfill\parbox[t]{0.7\textwidth}{
+                \shiptoname \\
+                \nonemptyline{}{\shiptodepartmentone}
+                \nonemptyline{}{\shiptodepartmenttwo}
+                \shiptostreet \\
+                \shiptocountry{ }\shiptozipcode{ }\shiptocity\\[1mm]
+                \nonemptyline{Tel: }{\shiptophone}
+                \nonemptyline{Fax: }{\shiptofax}
+        }%ende parbox
+}% ende parbox
+}% ende ifthenelse
+$(if payment_terms)$
+\vspace*{0.5em}
+\textbf{Zahlungsbedingungen:}\hfill\parbox[t]{0.7\textwidth}{$(payment_terms)$}\\[1em]
+$(end)$
+\vspace*{0.5em}
+%Nutzen Sie bitte für Fragen oder Änderungswünsche die oben angegebenen Kontaktmöglichkeiten.\\ \vfil
+\parbox{\textwidth}{
+Für Nachfragen steht Ihnen \employeename \ per Telefon (\employeetel) oder per E-Mail (\employeeemail) gerne zur Verfügung.\\
+
+Wir sichern Ihnen eine termin- und fachgerechte Ausführung zu.\\
+
+\vspace{1.5\baselineskip}
+Mit freundlichen Grüßen\\ \vfil
+\employeename
+}% Ende Parbox
+\vfill
+\footnotesize
+Es gelten unsere Liefer- und Zahlungsbedingungen, die wir Ihnen auf Wunsch gerne zukommen lassen.
+\end{document}
diff --git a/templates/print/Standard/sales_quotation.odt b/templates/print/Standard/sales_quotation.odt
new file mode 100644 (file)
index 0000000..3bc9844
Binary files /dev/null and b/templates/print/Standard/sales_quotation.odt differ
diff --git a/templates/print/Standard/sales_quotation.tex b/templates/print/Standard/sales_quotation.tex
new file mode 100644 (file)
index 0000000..f608ca0
--- /dev/null
@@ -0,0 +1,277 @@
+% salex_quotation.tex
+% Verkauf - Angebot
+% Überarbeitet von Norbert Simon, n.simon@linet-services.de
+% Version 2.5 vom 15. November 2011
+% Basiert auf der Arbeit von kmk@lilalaser.de / 2007
+% Diese Vorlage steht unter der GPL-Lizenz, Version 3
+% siehe http://www.gnu.de/licenses/gpl-3.0.html
+% ----------
+% config: tag-style=$( )$
+% ----------
+
+\documentclass[twoside]{scrartcl}
+\usepackage{fancyhdr}       % Für den Seitenkopf und -Fuß
+\usepackage{ifpdf}          % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe
+\usepackage{xifthen}        % Allgemeine Code-Weiche
+\usepackage{graphicx}       % Fuer die Einbindung der Logo-Graphik
+\usepackage{german}         % Deutsche Trenn-Tabelle
+\usepackage[utf8]{inputenc} % Umlaute direkt eingeben
+\usepackage{textcomp}       % Sonderzeichen
+\usepackage{lastpage}       % Fuer die Angabe "Seite 2 von 5"
+\usepackage{filecontents}   % Um von latex aus eine Datei schreiben zu koennen
+\usepackage{etex}           % Damit Marken verwendet werden koennen
+\usepackage{ltxtable}       % Mehrseiten-Tabellen mit variabler Spaltenbreite
+\usepackage{booktabs}      % Striche in Tabellen
+\usepackage{numprint}       % Zahlen formatiert ausgeben
+\usepackage[$(if myconfig_output_numberformat =~ "1.000,00")$german$(else)$$(if myconfig_output_numberformat =~ "1000,00")$germannosep$(else)$$(if myconfig_output_numberformat =~ "1,000.00")$english$(else)$englishnosep$(end)$$(end)$$(end)$]{zwischensumme}  % Lokales Makro zur Berechnung der Zwischensummen
+\usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text
+\newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften
+
+
+% ---------- Report-Variablen zur Verwendung in kivitendobriefkopf.tex ----------
+% ----------  Die eigenen Daten ----------
+\newcommand{\employeename}{$(employee_name)$}
+\newcommand{\employeecompany}{$(employee_company)$}
+\newcommand{\employeeaddress}{$(employee_address)$}
+\newcommand{\employeetel}{$(employee_tel)$}
+\newcommand{\employeefax}{$(employee_fax)$}
+\newcommand{\employeeemail}{$(employee_email)$}
+\newcommand{\employeecoustid}{$(employee_co_ustid)$}
+\newcommand{\employeetaxnumber}{$(employee_taxnumber)$}
+\newcommand{\employeetable}{tabelle$(employee_login)$.tex}
+
+% ---------- Eigene Bankverbindung falls nicht im Briefkopf gesetzt ----------
+% \newcommand{\companybank}{$(company_bank)$}
+% \newcommand{\companybankcode}{$(company_bank_code)$}
+% \newcommand{\companyaccountnumber}{$(company_account_number)$}
+
+% ---------- Adressat ----------
+\newcommand{\name}{$(name)$}
+\newcommand{\departmentone}{$(department_1)$}
+\newcommand{\departmenttwo}{$(department_2)$}
+\newcommand{\cpgreeting}{$(cp_greeting)$}
+\newcommand{\cptitle}{$(cp_title)$}
+\newcommand{\cpgivenname}{$(cp_givenname)$}
+\newcommand{\cpname}{$(cp_name)$}
+\newcommand{\street}{$(street)$}
+\newcommand{\country}{$(country)$}
+\newcommand{\zipcode}{$(zipcode)$}
+\newcommand{\city}{$(city)$}
+\newcommand{\phone}{$(customerphone)$}
+\newcommand{\fax}{$(customerfax)$}
+\newcommand{\lettergreeting}{
+       \ifthenelse{\equal{$(cp_gender)$}{f}}
+        {Sehr geehrte Frau $(cp_name)$,}
+       {\ifthenelse{\equal{$(cp_gender)$}{m}}
+         {Sehr geehrter Herr $(cp_name)$,}
+         {Sehr geehrte Damen und Herren,}
+       }\\[1\baselineskip]
+}
+
+% ---------- Bestellvariablen ----------
+\newcommand{\quonumber}{$(quonumber)$}
+\newcommand{\docnumber}{Angebot Nr. {\quonumber}}
+\newcommand{\quodate}{$(quodate)$}
+\newcommand{\kundennummer}{$(customernumber)$}
+\newcommand{\reqdate}{$(reqdate)$}
+
+% ---------- Lieferadresse ----------
+\newcommand{\shiptoname}{$(shiptoname)$}
+\newcommand{\shiptocontact}{$(shiptocontact)$}
+\newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$}
+\newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$}
+\newcommand{\shiptostreet}{$(shiptostreet)$}
+\newcommand{\shiptocity}{$(shiptocity)$}
+\newcommand{\shiptocountry}{$(shiptocountry)$}
+\newcommand{\shiptophone}{$(shiptophone)$}
+\newcommand{\shiptozipcode}{$(shiptozipcode)$}
+\newcommand{\shiptofax}{$(shiptofax)$}
+
+% ---------- Währungszeichen ----------
+\newcommand{\currency}{$(currency)$}
+\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{}
+\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{}
+\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{}
+\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{}
+
+% ---------- Ende Reportvariablen-Umsetzung ----------
+
+% ---------- Briefkopf dazuladen ----------
+\input{kivitendobriefkopf}
+
+\begin{document}
+% ---------- Schrift Hauptdokuments (Computermodern-sanserif)  ----------
+% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% ---------- Schrift Helvetica ------------------------
+\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% ---------- Firmenlogo nur erste Seite ----------
+\thispagestyle{briefkopf}
+
+% ---------- Datum und Nummern ----------
+% Position unterhalb des Briefkopfs
+\vspace*{\vlogospacing}
+\renewcommand{\arraystretch}{0.9}
+\begin{minipage}[b]{177mm}
+\sperren{\textbf{Angebot Nr. \quonumber}}
+\hfill
+       \small
+       \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}}
+               \textbf{Seite} & {\thepage} von \pageref{LastPage}\\
+               \textbf{Datum} & \quodate \\
+               \nonemptyline{\textbf{Gültig bis} &}{\reqdate}
+               \textbf{Kunden Nr.} & \kundennummer\\
+               \textbf{Angebot Nr.} & \quonumber\\
+               \textbf{Ansprechpartner} & \employeename\\
+               \nonemptyline{\textbf{Durchwahl} &}{\employeetel}
+               \nonemptyline{\textbf{E-Mail} &}{\employeeemail}
+       \end{tabular}\\[10mm plus 20mm minus 10mm]
+\end{minipage}
+\renewcommand{\arraystretch}{1}
+\normalsize
+% ---------- Begrüßung und Bemerkungen ----------
+\vspace{5mm}
+\lettergreeting
+wir bedanken uns für Ihre Anfrage und bieten Ihnen gemäß unserer Liefer- und Zahlungsbedingungen hiermit freibleibend die nachfolgenden Positionen an.
+\ifthenelse{\isempty{$(notes)$}}{}{
+      \newline
+      $(notes)$
+      }
+\vspace{5mm}
+
+% ---------- Die eigentliche-Tabelle ----------
+% ---------- Tabelle puffern ----------
+\begin{filecontents}{\employeetable}
+% ---------- globale Variable laufsumme deklarieren ----------
+\resetlaufsumme
+% ---------- Spaltendefinition ----------
+%\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{~\currency}}]}}
+\begin{longtable}{@{}rlX@{ }rlrr@{\makebox[\widthof{\textbf{}}]}}
+% ---------- Kopfzeile der Tabelle ----------
+       \textbf{Pos} &
+       \textbf{Art.Nr.} &
+       \textbf{Bezeichnung} &
+       \textbf{Menge} &
+       \textbf{ME} &
+       \textbf{EP/€} &
+       \textbf{GP/€} \\
+       \midrule
+  \endfirsthead
+% ---------- Tabellenkopf nach dem Umbruch ----------
+       \textbf{Pos} &
+       \textbf{Art.Nr.} &
+       \textbf{Bezeichnung} &
+       \textbf{Menge} &
+       \textbf{ME} &
+       \textbf{EP/€} &
+       \textbf{GP/€} \\
+        \midrule
+       & & \multicolumn{4}{r}{} & \MarkUebertrPos\\[1.5em]
+  \endhead
+% ---------- Fuss der Teiltabellen ----------
+        \midrule
+       & & \multicolumn{4}{r}{} & \MarkZwsumPos \\
+  \endfoot
+% ---------- Das Ende der Tabelle ----------
+       \midrule
+%      & & \multicolumn{4}{r}{ Nettobetrag:} & \MarkZwsumPos \\
+  \endlastfoot
+% ---------- Positionen ----------
+  $(foreach number)$
+       $(runningnumber)$ &
+       $(number)$ &
+       $(description)$
+       \ifthenelse{\equal{$(longdescription)$}{}}{}{\newline
+       \renewcommand{\baselinestretch}{1}\footnotesize
+       {\footnotesize $(longdescription)$
+       \renewcommand{\baselinestretch}{1}\normalsize
+       }} &
+       $(qty)$ &
+       $(unit)$ &
+       \ifthenelse{\isempty{$(sellprice)$}}{&}{
+               \numprint{$(sellprice)$}
+               \ifthenelse{\equal{$(p_discount)$}{0}}{}{ -$(p_discount)$\%} &
+               \numprint{$(linetotal)$}\Wert{$(linetotal NOFORMAT)$}  
+       }\\ %
+  $(end number)$
+
+\end{longtable}
+% ----------  Ende der Hilfsdatei ----------
+\end{filecontents}
+% ---------- Puffertabelle öffnen ----------
+\LTXtable{\textwidth}{\employeetable}
+%---------- Bereich für die Summen ----------
+\parbox{\textwidth}{
+%---------- Summenbereich nach rechts schieben  ----------
+\hfill
+\setlength{\tabcolsep}{0mm}
+\begin{tabular}{@{}r@{ }r@{ }l}
+%   \toprule
+   {Nettobetrag:}& \numprint{$(subtotal)$}& \currency\\
+% ---------- Alle Steuern ausweisen ----------
+   $(foreach tax)$
+%       {$(taxdescription)$ auf }\numprint{$(taxbase)$}~\currency: & \numprint{$(tax)$}& \\
+               {$(taxdescription)$}:  & \numprint{$(tax)$}& \currency\\
+   $(end tax)$
+   \midrule
+   {\textbf{Gesamtbetrag:}} & \bfseries\numprint{$(ordtotal)$} & \textbf{\currency}\\
+   \bottomrule
+\end{tabular}
+}
+% ---------- Nachbemerkung mit variablem Abstand ----------
+\vfil
+$(if reqdate)$
+\vspace*{0.3em}
+\textbf{Das Angebot ist gültig bis zum \reqdate.}\\
+\vfil
+$(end)$
+$(if payment_terms)$
+\textbf{Zahlungsbedingungen:}\hfill\parbox[t]{0.7\textwidth}{$(payment_terms)$}\\
+\vfil
+$(end)$
+% ---------- Transportmittel ----------
+$(if shipvia)$
+Lieferung per $(shipvia)$.\\[1em]
+$(end)$
+% ---------- Lieferadresse ----------
+\ifthenelse{%
+        \equal{\shiptoname}{\name} \AND
+        \equal{\shiptodepartmentone}{\leer} \AND
+        \equal{\shiptodepartmenttwo}{\leer} \AND
+        \equal{\shiptostreet}{\street} \AND
+        \equal{\shiptozipcode}{\zipcode} \AND
+        \equal{\shiptocity}{\city}
+ }{}{
+% ---------- Umbruch dazwischen verhindern ----------
+\vspace*{0.5em}
+\parbox{\textwidth}{
+% ---------- Bereich für Lieferadresse ----------
+\textbf{Lieferanschrift:}\hfill\parbox[t]{0.7\textwidth}{
+                               \shiptoname \\
+                               \nonemptyline{}{\shiptodepartmentone}
+                               \nonemptyline{}{\shiptodepartmenttwo}
+                               \shiptostreet \\
+                               \shiptocountry{ }\shiptozipcode{ }\shiptocity\\[1mm]
+                               \nonemptyline{Tel: }{\shiptophone}
+                               \nonemptyline{Fax: }{\shiptofax}
+                       }%ende parbox
+       }% ende parbox
+}% ende ifthenelse
+\vspace*{0.5em}
+\parbox{\textwidth}{
+Sollten Sie Fragen zu unserem Angebot haben, steht Ihnen \employeename \ per Telefon (\employeetel) oder per E-Mail (\employeeemail) gerne zur Verfügung.
+Wir hoffen, dass unser Angebot Ihre Zustimmung findet und würden uns freuen Ihren Auftrag zu erhalten.\par
+\vspace{1.5\baselineskip}
+Mit freundlichen Grüßen\\ \vfil
+\employeename
+}% Ende parbox
+%\vspace{1.5\baselineskip}
+\vfill
+\textbf{Wollen Sie direkt bestellen?}\\[1.2em]
+\small{Machen Sie durch Ihren Stempel und Ihre Unterschrift unser Angebot Nr. \quonumber \ zum Auftrag.}\\[1.2em]
+\vspace{2.5\baselineskip}\\
+\rule{20em}{0.1pt}\\
+\hspace*{5em}Datum, Unterschrift \\
+\vfill
+\footnotesize
+Es gelten unsere Liefer- und Zahlungsbedingungen, die wir Ihnen auf Wunsch gerne zukommen lassen.
+\end{document}
diff --git a/templates/print/Standard/statement.tex b/templates/print/Standard/statement.tex
new file mode 100644 (file)
index 0000000..5a70b44
--- /dev/null
@@ -0,0 +1,114 @@
+\documentclass[twoside]{scrartcl}
+\usepackage[frame]{xy}
+\usepackage{tabularx}
+\usepackage[utf8]{inputenc}
+\setlength{\voffset}{0.5cm}
+\setlength{\hoffset}{-2.0cm}
+\setlength{\topmargin}{0cm}
+\setlength{\headheight}{0.5cm}
+\setlength{\headsep}{1cm}
+\setlength{\topskip}{0pt}
+\setlength{\oddsidemargin}{1.0cm}
+\setlength{\evensidemargin}{1.0cm}
+\setlength{\textwidth}{17cm}
+\setlength{\textheight}{24.5cm}
+\setlength{\footskip}{1cm}
+\setlength{\parindent}{0pt}
+\renewcommand{\baselinestretch}{1}
+\begin{document}
+
+\newlength{\descrwidth}\setlength{\descrwidth}{9cm}
+
+\newsavebox{\hdr}
+\sbox{\hdr}{
+  \fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
+
+  \parbox{\textwidth}{
+    \parbox[b]{12cm}{
+      <%company%>
+
+      <%address%>}\hfill
+    \begin{tabular}[b]{rrr@{}}
+    Tel & <%tel%>\\
+    Fax & <%fax%>
+    \end{tabular}
+
+    \rule[1.5ex]{\textwidth}{0.5pt}
+  }
+}
+
+\fontfamily{cmss}\fontshape{n}\selectfont
+
+\markboth{<%company%>\hfill <%statementdate%>}{\usebox{\hdr}}
+
+\pagestyle{myheadings}
+%\thispagestyle{empty}     use this with letterhead paper
+
+\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
+
+\vspace*{1.5cm}
+
+\parbox[t]{1cm}{\hfill}
+\parbox[t]{10.5cm}{
+
+<%name%>
+
+<%street%>
+
+<%zipcode%>
+
+<%city%>
+
+<%country%>
+
+}
+\parbox[t]{7.5cm}{
+<%if customerphone%>
+Tel: <%customerphone%>
+<%end customerphone%>
+
+<%if customerfax%>
+Fax: <%customerfax%>
+<%end customerfax%>
+
+<%email%>
+}
+\hfill
+
+\vspace{1cm}
+
+\textbf{S T A T E M E N T} \hfill
+
+\hfill <%statementdate%>
+
+\vspace{2cm}
+
+\begin{tabular*}{\textwidth}{@{}l@{\extracolsep\fill}ccrrrr@{}}
+  \textbf{Invoice \#} & \textbf{Date} & \textbf{Due} &
+  \textbf{Current} & \textbf{30} & \textbf{60} & \textbf{90+} \\
+<%foreach invnumber%>
+  <%invnumber%> & <%invdate%> & <%duedate%> &
+  <%c0%> & <%c30%> & <%c60%> & <%c90%> \\
+<%end invnumber%>
+\textbf{Subtotal} & & & <%c0total%> & <%c30total%> & <%c60total%> & <%c90total%>
+\end{tabular*}
+\rule{\textwidth}{1pt}
+
+\vspace{1cm}
+
+\hfill
+\begin{tabularx}{7cm}{Xr@{}}
+  \textbf{Total outstanding} & <%total%>
+\end{tabularx}
+
+\vfill
+
+Please make check payable to <%company%>
+
+\renewcommand{\thefootnote}{\fnsymbol{footnote}}
+
+\footnotetext[1]{\tiny
+}
+
+\end{document}
+
diff --git a/templates/print/Standard/taxbird.txb b/templates/print/Standard/taxbird.txb
new file mode 100644 (file)
index 0000000..c1a8a39
--- /dev/null
@@ -0,0 +1,23 @@
+;; This file was produced by lx-office
+;; for using in taxbird. 
+;; You probably don't want to touch this 
+;; file. In case you do want it anyway, 
+;; be warned: BE CAREFUL!!
+;;
+'("Umsatzsteuervoranmeldung <%year%>" (
+("vend-id" . "74931")
+("land-lieferant" . "<%elsterland%>")
+("name-lieferant" . "<%company%>")
+("berufsbez" . "")
+("strasse-lieferant" . "<%co_street%>")
+("plz-lieferant" . "<%co_zip%> ")
+("ort-lieferant" . "<%co_city%>")
+("vorwahl" . "<%co_phone_prefix%>")
+("anschluss" . "<%co_phone%>")
+("land" . "<%taxbird_land_nr%>")
+("zeitraum" . "<%taxbird_period%>")
+("stnr" . "<%taxbird_steuernummer%>")
+
+<%foreach id%>
+("<%id%>" . "<%amount%>")<%end%>
+))
\ No newline at end of file
diff --git a/templates/print/Standard/ustva-2012.tex b/templates/print/Standard/ustva-2012.tex
new file mode 100644 (file)
index 0000000..3a35db9
--- /dev/null
@@ -0,0 +1,153 @@
+% German USTVA template for taxreports
+% Contributed by Marcus Habermehl
+% Based on template by Jacky und Stefan Tenne (German-ustva-2008.tex)
+%
+%
+\documentclass[twoside]{scrartcl}
+\usepackage{a4,german}
+\usepackage[frame]{xy}
+\usepackage[utf8]{inputenc}
+\usepackage[german]{babel}
+\usepackage{graphicx}
+\usepackage{tabularx}
+\usepackage{times, german}
+\usepackage{german}
+\setlength{\voffset}{-0.7cm} %hier wird die Höhenverschiebung
+\setlength{\hoffset}{-1cm}  %und hier die Verschiebung seitwärts
+\setlength{\topmargin}{0cm}
+\setlength{\headheight}{0cm}
+\setlength{\headsep}{0cm}
+\setlength{\topskip}{0pt}
+\setlength{\oddsidemargin}{0cm}
+\setlength{\evensidemargin}{0cm}
+\setlength{\textwidth}{20.9cm}
+\setlength{\textheight}{29.6cm}
+\setlength{\footskip}{-0cm}
+\setlength{\parindent}{1mm}
+
+\begin{document}
+
+\fontfamily{cmss}\fontshape{n}\large\selectfont
+\pagestyle{myheadings}
+\markboth{\protect\scalebox{1.045}[1.045]{\protect\includegraphics[viewport = 54 783 700 790,page=2]{ustva-2012.pdf}}}%Seite 2
+{\protect\scalebox{1.045}[1.045]{\protect\includegraphics[viewport = 70 700 700 790,page=1]{ustva-2012.pdf}}}%Seite 1
+\hspace{1mm}
+\begin{tabular}[b]{p{7mm}p{5cm}p{22.5mm}p{24mm}p{7mm}p{28mm}p{3mm}}
+\multicolumn{7}{c}{}\\[-2mm]
+ &  \multicolumn{6}{l}{<%steuernummer%>}\\
+\multicolumn{7}{c}{}\\[15mm]
+\multicolumn{2}{p{7.5cm}}{<%FA_Name%>} & & & & &\\[-4mm]
+\multicolumn{2}{p{7.5cm}}{}  & & & & &\\[3mm]
+\multicolumn{2}{p{7.5cm}}{<%FA_Strasse%>} & &<%0401%>&<%0407%>&&<%0441%>\\[1.2mm]
+\multicolumn{2}{p{7.5cm}}{} & &<%0402%>&<%0408%>&&<%0442%>\\[1.25mm]
+\multicolumn{2}{p{7.5cm}}{<%FA_PLZ%> <%FA_Ort%>} & &<%0403%>&<%0409%>&&<%0443%>\\[3mm]
+\multicolumn{2}{p{7.5cm}}{} & &<%0404%>&<%0410%>&&<%0444%>\\[1.25mm]
+\multicolumn{2}{p{7.5cm}}{} & &<%0405%>&<%0411%>&&\\[1.25mm]
+\multicolumn{2}{p{7.5cm}}{\small{<%company%>}} & &<%0406%>&<%0412%>&&\\[-1mm]
+\multicolumn{2}{p{7.5cm}}{\small{<%co_street%>}}& & & & &\\[-1mm]
+\multicolumn{2}{p{7.5cm}}{\small{<%co_city%>}}& & & &<%FA_10%> &\\[1mm]
+\multicolumn{2}{p{7.5cm}}{
+<%if tel%>
+\small{Tel: <%tel%>}~--~
+<%else%>
+\small{~}
+<%end tel%>
+<%if fax%>
+\small{Fax: <%fax%>}
+<%else%>
+\small{~}
+<%end fax%>
+}& & & & &\\[1.8mm]
+\multicolumn{2}{p{7.5cm}}{\small{<%email%>}}&~& & & &\\[-1mm]
+\end{tabular}\\[2.5mm]
+\begin{tabular}[b]{p{99mm}p{26.5mm}p{4.55mm}p{4mm}p{35mm}}
+&&&&\\[9.5mm]
+\multicolumn{2}{r}{<%41%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%44%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%49%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%43%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%48%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%81%>} & & \multicolumn{2}{r}{<%811%>}\\[1.8mm]
+\multicolumn{2}{r}{<%86%>} & & \multicolumn{2}{r}{<%861%>}\\[1.8mm]
+\multicolumn{2}{r}{<%35%>} & & \multicolumn{2}{r}{<%36%>}\\[1.8mm]
+\multicolumn{2}{r}{<%77%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%76%>} & & \multicolumn{2}{r}{<%80%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%91%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%89%>} & & \multicolumn{2}{r}{<%891%>}\\[1.8mm]
+\multicolumn{2}{r}{<%93%>} & & \multicolumn{2}{r}{<%931%>}\\[1.8mm]
+\multicolumn{2}{r}{<%95%>} & & \multicolumn{2}{r}{<%98%>}\\[1.8mm]
+\multicolumn{2}{r}{<%94%>} & & \multicolumn{2}{r}{<%96%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%42%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%60%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%21%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{<%45%>} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z43%>}\\
+\end{tabular}
+\newpage
+
+\vspace*{-9.5mm}\hspace{27mm}<%steuernummer%>\\[-2.7mm]
+\begin{tabular}[b]{p{99mm}p{25.2mm}p{2.55mm}p{10mm}p{32mm}}
+&&&&\\
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z45%>}\\[13.5mm]
+\multicolumn{2}{r}{<%46%>} & & \multicolumn{2}{r}{<%47%>}\\[1.8mm]
+\multicolumn{2}{r}{<%52%>} & & \multicolumn{2}{r}{<%53%>}\\[1.8mm]
+\multicolumn{2}{r}{<%73%>} & & \multicolumn{2}{r}{<%74%>}\\[1.8mm]
+\multicolumn{2}{r}{<%84%>} & & \multicolumn{2}{r}{<%85%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%65%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z53%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%66%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%61%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%62%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%67%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%63%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%64%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%59%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%Z62%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%69%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%39%>}\\[1.8mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{\textbf{<%83%>}}\\[25.6mm]
+\end{tabular}\\[35mm]
+<%if FA_steuerberater%>
+\vspace{11mm}
+\begin{list}{}{
+\setlength{\leftmargin}{2mm}
+\setlength{\itemsep}{0mm}
+\setlength{\parsep}{0mm}
+%\setlength{\topsep}{0mm}
+%\setlength{\parskip}{0mm}
+%\setlength{\partopsep}{0mm}
+}
+\begin{small}
+\item <%FA_steuerberater_name%>
+\item <%FA_steuerberater_street%>
+\item <%FA_steuerberater_city%>
+\item Tel:~<%FA_steuerberater_tel%>
+\end{small}\\[15mm]
+\item  <%Datum_heute%>,
+\end{list}
+<%end FA_steuerberater%>
+<%if not FA_steuerberater%>
+\begin{list}{}{
+\setlength{\leftmargin}{2mm}
+\setlength{\itemsep}{0mm}
+\setlength{\parsep}{0mm}
+%\setlength{\topsep}{0mm}
+%\setlength{\parskip}{0mm}
+%\setlength{\partopsep}{0mm}
+}
+\begin{small}
+\item ~
+\item ~
+\item ~
+\item ~
+\end{small}\\[26mm]
+\item  <%Datum_heute%>,
+\end{list}
+<%end FA_steuerberater%>
+\end{document}
diff --git a/templates/print/Standard/ustva.html b/templates/print/Standard/ustva.html
new file mode 100644 (file)
index 0000000..1f5da1a
--- /dev/null
@@ -0,0 +1,436 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+  <meta content="text/html; charset=utf-8" http-equiv="content-type">
+  <title>Vorschau: UStVa</title>
+<!--
+Optik an Formulare angepasst: Hartmut Goebel <h.goebel@goebel-consult.de>
+Variablen hinzugefügt: Udo Spallek <udono@gmx.net>
+Text-Erklärung und unterschiedliche Zeilenfärbung ergänzt: Kai-Martin Knaak <kmk@familieknaak.de>
+-->
+  <style>
+table {
+       text-align: right;
+       border:0;
+       border-collapse:collapse;
+}
+td {
+       font-size:100%;
+       vertical-align:top;
+}
+td.text {
+       text-align: left;
+       background-color:#BDBEBD;
+}
+td.text2 {
+       text-align: left;
+       background-color:#ADBEBD;
+}
+td.spalte,
+td.zeile,
+td.betrag {
+       border:solid thin black;
+}
+td.spalte { font-weight:bold; font-size:120%; }
+td.zeile  { font-weight:bold; }
+td.betrag { width:10em; }
+td.summe  { border:solid medium black; }
+td.spacer { border:0 }
+
+tr.uebertrag td { border-top:solid medium black; }
+b.h3 { font-size:120%; }
+.ausfuellen { background-color:#FFFFC0; }
+.nodis { display:none; }
+  </style>
+</head>
+<body>
+<h1>Vorschau Umsatzsteuer-Voranmeldung</h1>
+<h2>Zeitraum vom <%fromdate%> bis <%todate%> </h2>
+
+<!-- Diese HTML-Formular ist nicht selbstrechnend.
+<p><small>Wenn ein (selbstrechnendes) Formular verwendet wird, genügt es, die
+gelb hinterlegten Felder auszufüllen. Die anderen Felder werden dann
+automatisch berechnet.</small></p>
+-->
+
+<table width="100%">
+<tr align="left">
+  <td class="text">Steuernummer: <%steuernummer%></td>
+  <td class="text" width="100px">&nbsp</td>
+  <td class="text" align="right">Datum (<%Datum_heute%>)</td>
+</tr>
+<tr>
+  <td class="text" colspan="3"><br /></td>
+</tr>
+<tr align="left">
+  <td class="text">
+    Finanzamt <%FA_Name%><br />
+    <%FA_Strasse%><br />
+    <%FA_PLZ%> <%FA_Ort%><br />
+    Fax: <%FA_FAX%>
+  </td>
+  <td class="text">&nbsp;</td>
+  <td class="text">
+    Firma <%company%><br />
+    <%if company_street%>
+      <%company_street%><br />
+      <%company_city%><br />
+    <%end company_street%>
+    <%if not company_street%>
+    <%address%><!--used Address-->
+    <%end company_street%>
+  </td>
+</tr>
+<tr>
+  <td class="text" colspan="3"><br />
+  </td>
+</tr>
+</table>
+<table border="0" cellspacing="2" cellpadding="2">
+  <tbody>
+    <tr>
+      <td class="text"><b class="h3">I. Anmeldung der
+Umsatzsteuer-Vorauszahlung </b></td>
+      <td colspan="4"></td>
+    </tr>
+    <tr>
+      <td class="text"><b class="h4">Lieferungen und sonstige Leistungen</b></td>
+      <td colspan="4"></td>
+    </tr>
+        <tr>
+      <td class="text2">an innergemeinschaftliche Abnehmer <b>mit</b> USt-IdNr</td>
+      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>41<span class="nodis">)</span></td>
+      <td class="betrag ausfuellen" width="70"><%41%><br></td>
+      <td class="spalte"><span class="nodis"></span></td>
+      <td class="betrag"></td>
+    </tr>
+    <tr>
+      <td class="text">neuer Fahrzeuge an Abnehmer <b>ohne</b> USt-IdNr</td>
+      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>44<span class="nodis">)</span></td>
+      <td class="betrag ausfuellen" width="70"><%44%><br></td>
+      <td class="spalte"><span class="nodis"></span></td>
+      <td class="betrag"></td>
+    </tr>
+    <tr>
+      <td class="text2">neuer Fahrzeuge au&szlig;erhalb eines Unternehmens</td>
+      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>49<span class="nodis">)</span></td>
+      <td class="betrag ausfuellen" width="70"><%49%><br></td>
+      <td class="spalte"><span class="nodis"></span></td>
+      <td class="betrag"></td>
+    </tr>
+    <tr>
+      <td class="text">Weitere steuerfreie Ums&auml;tze mit Vorsteuerabzug</td>
+      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>43<span class="nodis">)</span></td>
+      <td class="betrag ausfuellen" width="70"><%43%><br></td>
+      <td class="spalte"><span class="nodis"></span></td>
+      <td class="betrag"></td>
+    </tr>
+    <tr>
+      <td class="text2">Steuerfreie Ums&auml;tze ohne
+Vorsteuerabzug. </b><br />Ums&auml;tze nach &sect; 4 Nr. 8 bis 20 UStG</td>
+      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>48<span class="nodis">)</span></td>
+      <td class="betrag ausfuellen" width="70"><%48%><br></td>
+      <td class="spalte"><span class="nodis"></span></td>
+      <td class="betrag"></td>
+    </tr>
+
+    <tr>
+      <td class="text"><b class="h4">Steuerpflichtige Ums&auml;tze</b></td>
+      <td colspan="4"></td>
+    </tr>
+<%if not year2007%>
+    <tr>
+      <td class="text2">zum Steuersatz von 16 v.H.</td>
+      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>51<span class="nodis">)</span></td>
+      <td class="betrag ausfuellen" width="70"><%51%><br></td>
+      <td class="spalte"><span class="nodis">(Spalte 51 rechts)</span></td>
+      <td class="betrag"><%511%></td>
+    </tr>
+<%end year2007%>
+<%if year2007%>
+    <tr>
+      <td class="text2">zum Steuersatz von 19 v.H.</td>
+      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>81<span class="nodis">)</span></td>
+      <td class="betrag ausfuellen" width="70"><%81%><br></td>
+      <td class="spalte"><span class="nodis">(Spalte 81 rechts)</span></td>
+      <td class="betrag"><%811%></td>
+    </tr>
+<%end year2007%>
+
+    <tr>
+      <td class="text">zum Steuersatz von 7 v.H.</td>
+      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>86<span class="nodis">)</span></td>
+      <td class="betrag ausfuellen"><%86%></td>
+      <td class="spalte"><span class="nodis">(Spalte 86 rechts)</span></td>
+      <td class="betrag"><%861%></td>
+    </tr>
+    <tr>
+      <td class="text2">andere Steuers&auml;tze</td>
+      <td class="spalte ausfuellen"><span class="nodis"></span>35 <span class="nodis"></span></td>
+      <td class="betrag ausfuellen"><%35%></td>
+      <td class="spalte">36</td>
+      <td class="betrag ausfuellen"><%36%></td>
+    </tr>
+    <tr><td class="text" colspan="3">&nbsp;</td><td colspan="4"></td></tr>
+   <tr>
+      <td class="text">Lieferungen in das &uuml;brige Gemeinschaftsgebiet <b>mit</b> USt-IdNr</td>
+      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>77<span class="nodis">)</span></td>
+      <td class="betrag ausfuellen" width="70"><%77%><br></td>
+      <td class="spalte"><span class="nodis"></span></td>
+      <td class="betrag"></td>
+    </tr>
+    <tr>
+      <td class="text2">Ums&auml;tze, nach &sect;24 UStG (S&auml;gewerkserzeugnisse, alkoholische Getr&auml;nke etc.)</td>
+      <td class="spalte ausfuellen"><span class="nodis"></span>76 <span class="nodis"></span></td>
+      <td class="betrag ausfuellen"><%76%></td>
+      <td class="spalte">80</td>
+      <td class="betrag ausfuellen"><%80%></td>
+    </tr>
+    <tr><td class="text">&nbsp;</td><td class="spacer" colspan="4"></td></tr>
+    <tr>
+      <td class="text"><b class="h3">Innergemeinschaftliche Erwerbe</b></td>
+      <td colspan="4"></td>
+    </tr>
+   <tr>
+      <td class="text2">Steuerfrei nach &sect;4b UStG</td>
+      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>91<span class="nodis">)</span></td>
+      <td class="betrag ausfuellen" width="70"><%91%><br></td>
+      <td class="spalte"><span class="nodis"></span></td>
+      <td class="betrag"></td>
+    </tr>
+<%if not year2007%>
+    <tr>
+      <td class="text">Steuerpflichtige zum Steuersatz von 16 v.H.</td>
+      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>97<span class="nodis">)</span></td>
+      <td class="betrag ausfuellen"><%97%><br></td>
+      <td class="spalte"><span class="nodis">(Spalte 97 rechts)</span></td>
+      <td class="betrag"><%971%></td>
+    </tr>
+<%end if year2007%>
+<%if year2007%>
+    <tr>
+      <td class="text">Steuerpflichtige zum Steuersatz von 19 v.H.</td>
+      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>89<span class="nodis">)</span></td>
+      <td class="betrag ausfuellen"><%89%><br></td>
+      <td class="spalte"><span class="nodis">(Spalte 89 rechts)</span></td>
+      <td class="betrag"><%891%></td>
+    </tr>
+<%end if year2007%>
+    <tr>
+      <td class="text2">zum Steuersatz von 7 v.H.</td>
+      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>93<span class="nodis">)</span></td>
+      <td class="betrag ausfuellen"><%93%></td>
+      <td class="spalte"><span class="nodis">(Spalte 93 rechts)</span></td>
+      <td class="betrag"><%931%></td>
+    </tr>
+    <tr>
+      <td class="text">zu anderen Steuers&auml;tzen</td>
+      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>95<span class="nodis">)</span></td>
+      <td class="betrag ausfuellen"><%95%></td>
+      <td class="spalte">98</td>
+      <td class="betrag"><%98%></td>
+    </tr>
+    <tr>
+      <td class="text2"><b class="h4">neuer Fahrzeuge von Lieferern</b>
+             von Lieferanten <b>ohne</b> USt.IdNr. <br class="nodis" />
+            zum allgemeinen Steuersatz</td>
+      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>94<span class="nodis">)</span></td>
+      <td class="betrag ausfuellen"><%94%></td>
+      <td class="spalte"><span class="nodis">(Spalte </span>96<span class="nodis">)</span></td>
+      <td class="betrag"><%96%></td>
+    </tr>
+        <tr><td class="text">&nbsp;</td><td colspan="4"></td></tr>
+   <tr>
+      <td class="text">Lieferungen des ersten Abnehmers bei
+        innergemeinschaftlichen Dreiecksgeschften (&sect;25b Abs. 2 UStG)</td>
+      <td class="spalte ausfuellen">42</td>
+      <td class="betrag ausfuellen" width="70"><%42%><br></td>
+      <td class="spalte"><span class="nodis"></span></td>
+      <td class="betrag"></td>
+    </tr>
+   <tr>
+      <td class="text2">Steuerpflichtige Umstze im Sinne, f&uuml;r die der
+        <b>Leistungsempf&auml;nger die Steuer schuldet</b></td>
+      <td class="spalte ausfuellen">60</td>
+      <td class="betrag ausfuellen" width="70"><%60%><br></td>
+      <td class="spalte"><span class="nodis"></span></td>
+      <td class="betrag"></td>
+    </tr>
+<%if year2010%>
+   <tr>
+      <td class="text2"><b>Nicht steuerbare Leistungen</b> gem. &sect; 18b Satz 1 Nr. 2 UStG</td>
+      <td class="spalte ausfuellen">21</td>
+      <td class="betrag ausfuellen" width="70"><%21%><br></td>
+      <td class="spalte"><span class="nodis"></span></td>
+      <td class="betrag"></td>
+    </tr>
+<%end if year2010%>
+   <tr>
+      <td class="text">Im Inland nicht steuerbare Ums&auml;tze</td>
+      <td class="spalte ausfuellen">45</td>
+      <td class="betrag ausfuellen" width="70"><%45%><br></td>
+      <td class="spalte"><span class="nodis"></span></td>
+      <td class="betrag"></td>
+    </tr>
+
+    <tr><td class="text">&nbsp;</td><td class="spacer" colspan="2"></td><td colspan="2"></td></tr>
+
+    <tr>
+      <td class="text" colspan="3"><b class="h3">&Uuml;bertrag</td>
+      <td class="zeile"><span class="nodis">(</span>Zeile 43<span class="nodis">)</span></td>
+      <td class="betrag"><%Z43%></td>
+    </tr>
+
+    <tr class="uebertrag">
+      <td class="text" colspan="3"><b class="h3">&Uuml;bertrag</td>
+      <td class="zeile"><span class="nodis">(</span>Zeile 45<span class="nodis">)</span></td>
+      <td class="betrag"><%Z45%></td>
+    </tr>
+
+<%if year2010%>
+    <tr>
+      <td class="text2">Im Inland steuerpflichtige sonstige Leistungen von im &uuml;brigen Gemeinschaftsgebiet ans&auml;ssigen Unternehmen (&sect;13b Abs. 1 UStG)</td>
+      <td class="spalte ausfuellen">46</td>
+      <td class="betrag ausfuellen"><%46%></td>
+      <td class="spalte">47</td>
+      <td class="betrag"><%47%></td>
+    </tr>
+<%end if year2010%>
+    <tr>
+      <td class="text2">Leistungen eines im Ausland ans&auml;ssigen Unternehmers</td>
+      <td class="spalte ausfuellen">52</td>
+      <td class="betrag ausfuellen"><%52%></td>
+      <td class="spalte">53</td>
+      <td class="betrag"><%53%></td>
+    </tr>
+    <tr>
+      <td class="text">Lieferungen sicherungsbereigneter Gegenst&auml;nde und
+           Ums&auml;tze, die unter das GrEStG fallen.</td>
+      <td class="spalte ausfuellen">73</td>
+      <td class="betrag ausfuellen"><%73%></td>
+      <td class="spalte">74</td>
+      <td class="betrag"><%74%></td>
+    </tr>
+    <tr>
+      <td class="text2">Bauleistungen eines im Inland ans&auml;ssigen Unternehmers</td>
+      <td class="spalte ausfuellen">84</td>
+      <td class="betrag ausfuellen"><%84%></td>
+      <td class="spalte">85</td>
+      <td class="betrag"><%85%></td>
+    </tr>
+    <tr>
+      <td class="text" colspan="3">Steuer wegen Wechsel der Besteuerungsform und
+         Nachsteuer auf versteuerte Anzahlungen wegen Steuersatzerh&ouml;hung.</td>
+      <td class="spalte ausfuellen">65</td>
+      <td class="betrag ausfuellen"><%65%></td>
+    </tr>
+
+
+
+    <tr><td class="text" colspan="3">&nbsp;</td><td class="spacer" colspan="4"></td></tr>
+
+    <tr>
+      <td class="text2" colspan="3"><b class="h3">Umsatzsteuer</td>
+      <td class="zeile"><span class="nodis">(</span>Zeile 53<span class="nodis">)</span></td>
+      <td class="betrag"><%Z53%></td>
+    </tr>
+
+    <tr><td class="text" colspan="3">&nbsp;</td><td class="spacer" colspan="4"></td></tr>
+
+    <tr>
+      <td class="text" colspan="3"><b class="h3">Abziehbare Vorsteuerbetr&auml;ge</b></td>
+      <td colspan="2"></td></tr>
+    </tr>
+
+    <tr>
+      <td class="text2" colspan="3">Vorsteuerbetr&auml;ge von Rechnungen von anderen Unternehmern</td>
+      <td class="spalte ausfuellen"><span class="nodis">(Spalte </span>66<span class="nodis">)</span></td>
+      <td class="betrag ausfuellen"><%66%></td>
+    </tr>
+    <tr>
+      <td class="text" colspan="3">Vorsteuerbetr&auml;ge aus dem innergemeinschaftlichen Erwerb</td>
+      <td class="spalte ausfuellen">61</td>
+      <td class="betrag ausfuellen"><%61%></td>
+    </tr>
+    <tr>
+      <td class="text2" colspan="3">Entrichtete Einfuhrumsatzsteuer</td>
+      <td class="spalte ausfuellen">62</td>
+      <td class="betrag ausfuellen"><%62%></td>
+    </tr>
+    <tr>
+      <td class="text" colspan="3">Vorsteuerbetr&auml;ge aus Leistungen im Sinne
+          des &sect;13b Abs. 1 UStG</td>
+      <td class="spalte ausfuellen">67</td>
+      <td class="betrag ausfuellen"><%67%></td>
+    </tr>
+    <tr>
+      <td class="text2" colspan="3">Vorsteuerbetr&auml;ge, die nach allgemeinen
+           Durchschnitts&auml;stzen berechnet sind </td>
+      <td class="spalte ausfuellen">63</td>
+      <td class="betrag ausfuellen"><%63%></td>
+    </tr>
+    <tr>
+      <td class="text" colspan="3">Berichtigung des Vorsteuerabzugs</td>
+      <td class="spalte ausfuellen">64</td>
+      <td class="betrag ausfuellen"><%64%></td>
+    </tr>
+    <tr>
+      <td class="text2" colspan="3">Vorsteuerabzug f&uuml;r innergemeinschaftliche Lieferungen
+        neuer Fahrzeuge au&szlig;erhalb eines Unternehmens sowie von Kleinunternehmern</td>
+      <td class="spalte ausfuellen">59</td>
+      <td class="betrag ausfuellen"><%59%></td>
+    </tr>
+    <tr>
+      <td class="text" colspan="3">Verbleibender Betrag</td>
+      <td class="zeile"><span class="nodis">(</span>Zeile 62<span class="nodis">)</span></td>
+      <td class="betrag"><%Z62%></td>
+    </tr>
+
+    <tr>
+      <td class="text2" colspan="3"><b class="h3">Andere Steuerbetr&auml;ge</b></td>
+      <td colspan="2"></td></tr>
+    </tr>
+    <tr>
+      <td class="text" colspan="3">in Rechnungen unrichtig oder unberechtigt ausgewiesene
+        Steuerbetr&auml;ge sowie Steuerbetr&auml;ge, die nach
+        &sect;4 Nr. 4a, &sect; 6a Abs. 4, &sect;7 oder &sect;25b UStG geschuldet werden</td>
+      <td class="spalte ausfuellen">69</td>
+      <td class="betrag ausfuellen"><%69%></td>
+    </tr>
+
+    <tr><td class="text" colspan="3">&nbsp;</td><td colspan="4"></td></tr>
+
+    <tr>
+      <td class="text2" colspan="3"><b class="h3">Umsatzsteuer-Vorauszahlung/&Uuml;berschuss</b></td>
+      <td class="zeile"><span class="nodis">(</span>Zeile 65<span class="nodis">)</span></td>
+      <td class="betrag"><%Z65%></td>
+    </tr>
+    <tr>
+      <td class="text" colspan="3">Anrechnung (Abzug) der festgesetzten Sondervorauszahlung
+        f&uuml;r Dauerfristverl&auml;ngerung (nur in der letzten Voranmeldung des
+        Besteuerungszeitraums, ausf&uuml;llen)</td>
+      <td class="spalte ausfuellen">39</td>
+      <td class="betrag ausfuellen"><%39%></td>
+    </tr>
+
+    <tr><td class="text" colspan="3">&nbsp;</td><td colspan="4"></td></tr>
+
+    <tr class="noborder">
+      <td class="text2" colspan="3"><b class="h3">Verbleibende Umsatzsteuer-Vorauszahlung bzw.
+                                      Verbleibender &Uuml;berschuss</b></td>
+      <td class="spalte ausfuellen">83</td>
+      <td class="summe"><%83%></td>
+    </tr>
+
+  </tbody>
+</table>
+<%if FA_steuerberater%>
+<p>
+Steuerberater:<br />
+<%FA_steuerberater_name%><br />
+<%FA_steuerberater_street%><br />
+<%FA_steuerberater_city%><br />
+Tel:&nbsp;<%FA_steuerberater_tel%></p>
+<%end FA_steuerberater%>
+</body>
+</html>
diff --git a/templates/print/Standard/ustva.tex b/templates/print/Standard/ustva.tex
new file mode 100644 (file)
index 0000000..da26f47
--- /dev/null
@@ -0,0 +1,120 @@
+% German USTVA template for taxreports
+%
+% Contributed by Jens Koerner, Peter Schorer, Udo Spallek
+%
+%
+\documentclass[twoside]{scrartcl}
+\usepackage{a4,german}
+\usepackage[frame]{xy}
+\usepackage[utf8]{inputenc}
+\usepackage[german]{babel}
+\usepackage{graphicx}
+\usepackage{tabularx}
+\usepackage{times, german}
+\usepackage{german}
+\setlength{\voffset}{-0.8cm} %hier wird die Höhenverschiebung getÀtigt
+\setlength{\hoffset}{-1cm}  %und hier die Verschiebung seitwÀrts
+\setlength{\topmargin}{0cm}
+\setlength{\headheight}{0cm}
+\setlength{\headsep}{0cm}
+\setlength{\topskip}{0pt}
+\setlength{\oddsidemargin}{0cm}
+\setlength{\evensidemargin}{0cm}
+\setlength{\textwidth}{20.9cm}
+\setlength{\textheight}{29.6cm}
+\setlength{\footskip}{-0cm}
+\setlength{\parindent}{0pt}
+
+\begin{document}
+
+\fontfamily{cmss}\fontshape{n}\large\selectfont
+\pagestyle{myheadings}
+\markboth{\hspace{7mm}\protect\includegraphics[viewport = 60 700 700 790]{ustva2.pdf}}
+{\protect\includegraphics[viewport = 60 700 700 790]{ustva1.pdf}}
+\hspace{1mm}
+\begin{tabular}[b]{p{7mm}p{5cm}p{22.5mm}p{24mm}p{5mm}p{27mm}p{3mm}}
+\multicolumn{7}{c}{}\\[-2mm]
+ &  \multicolumn{6}{l}{<%steuernummer%>}\\
+\multicolumn{7}{c}{}\\[15mm]
+\multicolumn{2}{p{7.5cm}}{<%FA_Name%>} & & & & &\\[-4mm]
+\multicolumn{2}{p{7.5cm}}{}  & & & & &\\[1mm]
+\multicolumn{2}{p{7.5cm}}{<%FA_Strasse%>} & &<%0401%>&<%0407%>&&<%0441%>\\[1.2mm]
+\multicolumn{2}{p{7.5cm}}{} & &<%0402%>&<%0408%>&&<%0442%>\\[1.25mm]
+\multicolumn{2}{p{7.5cm}}{<%FA_PLZ%> <%FA_Ort%>} & &<%0403%>&<%0409%>&&<%0443%>\\[1.25mm]
+\multicolumn{2}{p{7.5cm}}{} & &<%0404%>&<%0410%>&&<%0444%>\\[1.25mm]
+\multicolumn{2}{p{7.5cm}}{} & &<%0405%>&<%0411%>&&\\[1.25mm]
+\multicolumn{2}{p{7.5cm}}{\small{<%company%>}} & &<%0406%>&<%0412%>&&\\[-1mm]
+\multicolumn{2}{p{7.5cm}}{\small{<%company_street%>}}& & & & &\\[-1mm]
+\multicolumn{2}{p{7.5cm}}{\small{<%company_city%>}}& & & & &\\[1mm]
+\multicolumn{2}{p{7.5cm}}{
+<%if tel%>
+\small{Tel: <%tel%>}~--~
+<%end tel%>
+<%if fax%>
+\small{Fax: <%fax%>}
+<%end fax%>
+}& & & &<%FA_10%> &\\[-1mm]
+\multicolumn{2}{p{7.5cm}}{\small{<%email%>}}& & & & &\\[-1mm]
+\end{tabular}\\[28.5mm]
+\begin{tabular}[b]{p{95mm}p{28mm}p{2.55mm}p{4mm}p{35mm}}
+&&&&\\[42mm]
+\multicolumn{2}{r}{<%51%>} & & \multicolumn{2}{r}{<%51r%>}\\[1.5mm]
+\multicolumn{2}{r}{<%86%>} & & \multicolumn{2}{r}{<%86r%>}\\[46mm]
+\multicolumn{2}{r}{<%97%>} & & \multicolumn{2}{r}{<%97r%>}\\[1.5mm]
+\multicolumn{2}{r}{<%93%>} & & \multicolumn{2}{r}{<%93r%>}\\[7.9mm]
+\multicolumn{2}{r}{<%94%>} & & \multicolumn{2}{r}{<%96%>}\\[14mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%43%>}\\
+%\multicolumn{2}{||r|}{1000} & & & \\
+%\multicolumn{2}{||r|}{1000} & & \multicolumn{2}{r}{100.000.000~~00}\\
+%\multicolumn{3}{||r|}{1.000.000.000~~00} & \multicolumn{2}{r}{100.000.000~~00}\\
+\end{tabular}
+
+\newpage
+
+\vspace*{-10mm}\hspace{27mm}<%steuernummer%>\\[-2.5mm]
+\begin{tabular}[b]{p{95mm}p{28mm}p{2.55mm}p{4mm}p{35mm}}
+&&&&\\
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%45%>}\\[46mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%43%>}\\[7.9mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%66%>}\\[7.9mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{<%62%>}\\[58.5mm]
+\multicolumn{2}{r}{} & & \multicolumn{2}{r}{\textbf{<%67%>}}\\[26mm]
+\end{tabular}\\[35mm]
+<%if FA_steuerberater%>
+\vspace{11mm}
+\begin{list}{}{
+\setlength{\leftmargin}{2mm}
+\setlength{\itemsep}{0mm}
+\setlength{\parsep}{0mm}
+%\setlength{\topsep}{0mm}
+%\setlength{\parskip}{0mm}
+%\setlength{\partopsep}{0mm}
+}
+\begin{small}
+\item <%FA_steuerberater_name%>
+\item <%FA_steuerberater_street%>
+\item <%FA_steuerberater_city%>
+\item Tel:~<%FA_steuerberater_tel%>
+\end{small}\\[15mm]
+\item  <%Datum_heute%>,
+\end{list}
+<%end FA_steuerberater%>
+<%if not FA_steuerberater%>
+\begin{list}{}{
+\setlength{\leftmargin}{2mm}
+\setlength{\itemsep}{0mm}
+\setlength{\parsep}{0mm}
+%\setlength{\topsep}{0mm}
+%\setlength{\parskip}{0mm}
+%\setlength{\partopsep}{0mm}
+}
+\begin{small}
+\item ~
+\item ~
+\item ~
+\item ~
+\end{small}\\[26mm]
+\item  <%Datum_heute%>,
+\end{list}
+<%end FA_steuerberater%>
+\end{document}
diff --git a/templates/print/Standard/winston.xml b/templates/print/Standard/winston.xml
new file mode 100644 (file)
index 0000000..2bb63da
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!-- Diese Datei ist mit Lx-Office <%version%> generiert -->
+<WinstonAusgang>
+  <Formular Typ="UST"></Formular>
+  <Ordnungsnummer><%elsterFFFF%><%elstersteuernummer%></Ordnungsnummer>
+  <AnmeldeJahr><%year%></AnmeldeJahr>
+  <AnmeldeZeitraum><%period%></AnmeldeZeitraum>
+
+<%foreach id%>
+  <Kennzahl nr="<%id%>"><%amount%></Kennzahl>
+<%end%>
+
+</WinstonAusgang>
+
diff --git a/templates/print/Standard/zahlungserinnerung.tex b/templates/print/Standard/zahlungserinnerung.tex
new file mode 100644 (file)
index 0000000..f98f1a5
--- /dev/null
@@ -0,0 +1,169 @@
+% zahlungserinnerung.tex
+% Zahlungserinnerung Verkauf
+% Überarbeitet von Norbert Simon, n.simon@linet-services.de
+% Version 2.1 vom 21.Oktober 2011
+% Basiert auf der Arbeit von kmk@lilalaser.de / 2007
+% Diese Vorlage steht unter der GPL-Lizenz, Version 3
+% siehe http://www.gnu.de/licenses/gpl-3.0.html
+% ----------
+% config: tag-style=$( )$
+% ----------
+
+\documentclass[twoside]{scrartcl}
+\usepackage{fancyhdr}       % Für den Seitenkopf und -Fuß
+\usepackage{ifpdf}          % Erlaubt eine Code-Weiche für PDF, oder DVI Ausgabe
+\usepackage{xifthen}        % Allgemeine Code-Weiche
+\usepackage{graphicx}       % Fuer die Einbindung der Logo-Graphik
+\usepackage{german}         % Deutsche Trenn-Tabelle
+\usepackage[utf8]{inputenc} % Umlaute direkt eingeben
+\usepackage{textcomp}       % Sonderzeichen
+\usepackage{lastpage}       % Fuer die Angabe "Seite 2 von 5"
+\usepackage{filecontents}   % Um von latex aus eine Datei schreiben zu koennen
+\usepackage{etex}           % Damit Marken verwendet werden koennen
+\usepackage{ltxtable}       % Mehrseiten-Tabellen mit variabler Spaltenbreite
+\usepackage{booktabs}      % Striche in Tabellen
+\usepackage{numprint}       % Zahlen formatiert ausgeben
+\usepackage[$(if myconfig_output_numberformat =~ "1.000,00")$german$(else)$$(if myconfig_output_numberformat =~ "1000,00")$germannosep$(else)$$(if myconfig_output_numberformat =~ "1,000.00")$english$(else)$englishnosep$(end)$$(end)$$(end)$]{zwischensumme}  % Lokales Makro zur Berechnung der Zwischensummen
+\usepackage{microtype,relsize} %Feinpositionierung, Sperren von Text
+\newcommand*{\sperren}[1]{\normalsize\textls*[200]{#1}} %Sperrung Überrschriften
+
+% ---------- Report-Variablen zur Verwendung in kivitendobriefkopf.tex ----------
+% ----------  Die eigenen Daten ----------
+\newcommand{\employeename}{$(employee_name)$}
+\newcommand{\employeecompany}{$(employee_company)$}
+\newcommand{\employeeaddress}{$(employee_address)$}
+\newcommand{\employeetel}{$(employee_tel)$}
+\newcommand{\employeefax}{$(employee_fax)$}
+\newcommand{\employeeemail}{$(employee_email)$}
+\newcommand{\employeecoustid}{$(employee_co_ustid)$}
+\newcommand{\employeetaxnumber}{$(employee_taxnumber)$}
+\newcommand{\employeetable}{tabelle$(employee_login)$.tex}
+
+% ---------- Eigene Bankverbindung falls nicht im Briefkopf gesetzt ----------
+% \newcommand{\companybank}{$(company_bank)$}
+% \newcommand{\companybankcode}{$(company_bank_code)$}
+% \newcommand{\companyaccountnumber}{$(company_account_number)$}
+
+% ---------- Adressat ----------
+\newcommand{\name}{$(name)$}
+\newcommand{\departmentone}{$(department_1)$}
+\newcommand{\departmenttwo}{$(department_2)$}
+\newcommand{\cpgreeting}{$(cp_greeting)$}
+\newcommand{\cptitle}{$(cp_title)$}
+\newcommand{\cpgivenname}{$(cp_givenname)$}
+\newcommand{\cpname}{$(cp_name)$}
+\newcommand{\street}{$(street)$}
+\newcommand{\country}{$(country)$}
+\newcommand{\zipcode}{$(zipcode)$}
+\newcommand{\city}{$(city)$}
+\newcommand{\phone}{$(customerphone)$}
+\newcommand{\fax}{$(customerfax)$}
+\newcommand{\lettergreeting}{
+       \ifthenelse{\equal{$(cp_gender)$}{f}}
+        {Sehr geehrte Frau $(cp_name)$,}
+       {\ifthenelse{\equal{$(cp_gender)$}{m}}
+         {Sehr geehrter Herr $(cp_name)$,}
+         {Sehr geehrte Damen und Herren,}
+       }\\[1\baselineskip]
+}
+
+% ---------- Rechnungsvariablen ----------
+\newcommand{\kundennummer}{$(customernumber)$}
+\newcommand{\quonumber}{$(quonumber)$}         % Angebotsnummer
+\newcommand{\ordnumber}{$(ordnumber)$}         % Auftragsnummer bei uns
+\newcommand{\cusordnumber}{$(cusordnumber)$}   % Auftragsnummer beim Kunden
+\newcommand{\invnumber}{$(invnumber)$}         % Rechnungsnummer
+\newcommand{\docnumber}{Rechnungsnummer: \invnumber}
+\newcommand{\quodate}{$(quodate)$}             % Angebotsdatum
+\newcommand{\orddate}{$(orddate)$}             % Auftragsdatum
+\newcommand{\reqdate}{$(reqdate)$}             % gewuenschtes Lieferdatum
+\newcommand{\deliverydate}{$(deliverydate)$}    % Lieferdatum
+\newcommand{\invdate}{$(invdate)$}             % Rechnungsdatum
+\newcommand{\terms}{$(terms)$}                 % Zahlungsfrist
+\newcommand{\duedate}{$(duedate)$}             % Fälligkeitsdatum
+\newcommand{\invtotal}{$(invtotal)$}           % Gesamtbetrag
+\newcommand{\paid}{$(paid)$}                   % Schon bezahlt
+\newcommand{\total}{$(total)$}                 % Restbetrag
+\newcommand{\dunningid}{$(dunning_id)$}        % ID Zahlungserinnerung
+\newcommand{\dunningdate}{$(dunning_date)$}    % Datum der Zahlungserinnerung
+
+% ---------- Lieferadresse ----------
+\newcommand{\shiptoname}{$(shiptoname)$}
+\newcommand{\shiptocontact}{$(shiptocontact)$}
+\newcommand{\shiptodepartmentone}{$(shiptodepartment_1)$}
+\newcommand{\shiptodepartmenttwo}{$(shiptodepartment_2)$}
+\newcommand{\shiptostreet}{$(shiptostreet)$}
+\newcommand{\shiptocity}{$(shiptocity)$}
+\newcommand{\shiptocountry}{$(shiptocountry)$}
+\newcommand{\shiptophone}{$(shiptophone)$}
+\newcommand{\shiptozipcode}{$(shiptozipcode)$}
+\newcommand{\shiptofax}{$(shiptofax)$}
+
+% ---------- Währungszeichen ----------
+\newcommand{\currency}{$(currency)$}
+\ifthenelse{\equal{\currency}{EUR}}{\let\currency\euro}{}
+\ifthenelse{\equal{\currency}{YEN}}{\let\currency\textyen}{}
+\ifthenelse{\equal{\currency}{GBP}}{\let\currency\pounds}{}
+\ifthenelse{\equal{\currency}{USD}}{\let\currency\$}{}
+
+% ---------- Ende Reportvariablen-Umsetzung ----------
+
+% ---------- Briefkopf dazuladen ----------
+\input{kivitendobriefkopf}
+
+\begin{document}
+% ---------- Schrift Hauptdokuments (Computermodern-sanserif)  ----------
+% \fontfamily{cmss}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+% ---------- Schrift Helvetica ------------------------
+\fontfamily{phv}\fontsize{10}{12pt plus 0.12pt minus 0.1pt}\selectfont
+
+% ---------- Firmenlogo nur erste Seite ----------
+\thispagestyle{briefkopf}
+
+% ---------- Datum und Nummern ----------
+% Position unterhalb des Briefkopfs
+\vspace*{\vlogospacing}
+\renewcommand{\arraystretch}{0.9}
+\begin{minipage}[b]{177mm}
+\sperren{\textbf{Zahlungserinnerung}}
+       \hfill
+       \small
+       \begin{tabular}[b]{r@{\hspace{2mm}}p{\hlogospacing}}
+               \textbf{Seite} & {\thepage} von \pageref{LastPage}\\
+               \textbf{Datum} & \dunningdate \\
+               \textbf{Kunden Nr.} & \kundennummer\\
+               \textbf{Rechnung Nr.} & \invnumber\\
+               \textbf{Ansprechpartner} & \employeename\\
+               \nonemptyline{\textbf{Durchwahl} &}{\employeetel}
+               \nonemptyline{\textbf{E-Mail} &}{\employeeemail}
+       \end{tabular}\\[10mm plus 20mm minus 10mm]
+\end{minipage}
+\renewcommand{\arraystretch}{1}
+\normalsize
+% ---------- Begrüßung und Bemerkungen ----------
+\vspace{ 5mm}
+\lettergreeting
+man kann seine Augen nicht überall haben -- offensichtlich haben Sie übersehen, die folgenden Rechnungen zu begleichen: \\
+\vspace{0.5cm} \\
+\setlength{\tabcolsep}{0mm}
+%\begin{tabularx}{\textwidth}{l@{\hspace*{2cm}}X@{\hspace*{0.5cm}}r}
+\begin{tabularx}{\textwidth}{l@{\extracolsep\fill}c@{\extracolsep\fill}r}
+  \textbf{Rechnungsnummer} & \textbf{Rechnungsdatum} & \textbf{Rechnungsbetrag} \\ \hline && \\
+  $(foreach dn_invnumber)$
+    $(dn_invnumber)$ & $(dn_transdate)$ & $(dn_amount)$ \euro \\[0.1cm]
+  $(end dn_invnumber)$
+\end{tabularx}
+\vspace*{2em} \\
+Wir bitten Sie, diese bis zum $(dunning_duedate)$ zu begleichen.\\%[1em plus 3em minus 1em]
+\vspace*{1em} \\
+Zahlungseingänge wurden bis zum $(dunning_date)$ berücksichtigt.
+Sollten Sie zwischenzeitlich bezahlt haben, betrachten Sie diese
+Zahlungserinnerung bitte als gegenstandslos.\\%[1em plus 3em minus 1em]
+\vspace*{2em} \\
+Sollte es triftige Gründe für die Zahlungsverzögerung geben, setzen Sie sich
+bitte mit uns in Verbindung, damit wir gemeinsam eine Lösung finden.\\ %[1em plus 3em minus 1em]
+\vspace*{2em} \\
+Mit freundlichen Grüßen\\ %[1em plus 3em minus 1em]
+\vspace*{1em} \\
+$(employee_name)$
+\end{document}
diff --git a/templates/print/Standard/zwischensumme.sty b/templates/print/Standard/zwischensumme.sty
new file mode 100644 (file)
index 0000000..b733fb3
--- /dev/null
@@ -0,0 +1,188 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Makros zur Berechnung und Ausgabe einer Zwischensumme bei langen Tabellen
+% Der Hack der longtable Ausgabe ist von Heiko Oberdiek, das Paket zref auch.
+%                            ---<(kaimartin)>---(August, 2007)
+%Angepasst an 2.6.3 von n.simon@linet-services.de, 15. November 2011
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Diese Datei steht unter der GPL-Lizenz, Version 3
+% siehe http://www.gnu.de/licenses/gpl-3.0.html
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\usepackage{etex}           % Damit Marken verwendet werden koennen
+\usepackage[savepos,user]{zref}  % Um die jeweils aktuelle Position zu merken
+\usepackage{fltpoint}       % Rechnen mit Komma-Zahlen
+\usepackage{numprint}       % Zahlen formatiert ausgeben
+\usepackage{eurosym}        % Das Euro-Zeichen
+\usepackage{calc}           % Fuer das Makro \widthof{}
+
+% Globale Einstellungen fuer numprint
+\nprounddigits{2}   % Zwei Nachkommasstellen
+%% ",00" nicht durch ",--" ersetzen
+\npprintnull
+
+\fpDecimalSign{.}
+
+\newcommand{\lxNumberFormatGermanInput}{\makeatletter\renewcommand*\nprt@ignorelist{.}\renewcommand*\nprt@dotlist{,}\makeatother}
+\newcommand{\lxNumberFormatEnglishInput}{\makeatletter\renewcommand*\nprt@ignorelist{,}\renewcommand*\nprt@dotlist{.}\makeatother}
+
+\newcommand{\lxNumberFormatGerman}{\lxNumberFormatGermanInput\npthousandsep{.}\npdecimalsign{,}}
+\newcommand{\lxNumberFormatGermanNoSeparator}{\lxNumberFormatGermanInput\npthousandsep{}\npdecimalsign{,}}
+
+\newcommand{\lxNumberFormatEnglish}{\lxNumberFormatEnglishInput\npthousandsep{,}\npdecimalsign{.}}
+\newcommand{\lxNumberFormatEnglishNoSeparator}{\lxNumberFormatEnglishInput\npthousandsep{}\npdecimalsign{.}}
+
+\newcommand{\lxNumberFormatToUse}{\lxNumberFormatGerman}
+
+% Paketoptionen: Dezimaltrennzeichen und Tausendertrennzeichen
+\DeclareOption{german}{\renewcommand{\lxNumberFormatToUse}{\lxNumberFormatGerman}}
+\DeclareOption{germannosep}{\renewcommand{\lxNumberFormatToUse}{\lxNumberFormatGermanNoSeparator}}
+\DeclareOption{english}{\renewcommand{\lxNumberFormatToUse}{\lxNumberFormatEnglish}}
+\DeclareOption{englishnosep}{\renewcommand{\lxNumberFormatToUse}{\lxNumberFormatEnglishNoSeparator}}
+
+\ProcessOptions
+
+\lxNumberFormatToUse
+
+%%%%%%%%%%%%%%Befehle zur Berechnung der Zwischensumme%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand*\laufsumme{0}
+\newcommand*\resetlaufsumme{\global\def\laufsumme{0}}
+\newcommand*\addlaufsumme[1]{\fpAdd{\laufsumme}{\laufsumme}{#1}%
+                                 \global\let\laufsumme\laufsumme}
+\newcommand*\printwert[1]{%
+\lxNumberFormatToUse%
+\lxNumberFormatEnglishInput%
+\numprint{#1}%
+\lxNumberFormatToUse}
+
+%%%%%%%%Plaintex-Hack fuer Positionierung der Zwischensummen%%%%%%%%%%%%%%%%%%
+
+
+\makeatletter  % Das at-Zeichen in Variablen zulassen
+
+% Variablen bereit stellen
+  \newdimen\drx
+  \newdimen\dry
+
+  \newmarks\ltm@marks
+  \def\ltm@setmarks#1{%
+    \marks\ltm@marks{#1}%
+    }
+  \def\ltm@getmarks{%
+    \botmarks\ltm@marks
+    }
+
+
+% Den aktuellen Wert der Laufsumme berechnen und merken
+\newcommand*{\Wert}[1]{%
+  \addlaufsumme{#1}%  Den uebergebenen Wert zur Laufsumme addieren
+  \expandafter\ltm@setmarks\expandafter{\laufsumme}% Die Laufsumme merken
+}
+
+% Merken der aktuellen Position
+\newcommand*{\MarkZwsumPos}{%
+  \leavevmode
+     \zsavepos{zwsumpos\thepage}%
+     \zrefused{zwsumpos\thepage}%
+}
+
+\newcommand*{\MarkUebertrPos}{%
+  \leavevmode
+     \zsavepos{uebertrpos\thepage}%
+     \zrefused{uebertrpos\thepage}%
+}
+
+
+% Ausgabe der Zwischensumme
+\def\ltm@insertfoot#1{%
+    \vbox to\z@{%
+      \vss
+      \hb@xt@\z@{%
+        \color@begingroup
+           \zsavepos{tabende\thepage}%   % Die aktuelle Position merken
+           \drx=0sp
+           \dry=0sp
+           % Die aktuelle Position abziehen und die gemerkte addieren
+           \advance \drx by -\zposx{tabende\thepage}sp
+           \advance \drx by \zposx{zwsumpos\thepage}sp
+           \advance \dry by -\zposy{tabende\thepage}sp
+           \advance \dry by \zposy{zwsumpos\thepage}sp
+           \smash{\kern\drx\raise\dry%
+             \hbox{\makebox[0cm][r]{Zwischensumme:\hspace*{2em}\printwert{#1} \currency}}%
+             }% end smash
+        \color@endgroup
+      }%
+    }%
+}
+
+% Ausgabe des Uebertrags
+% Wie die Ausgabe der Zwischensumme, nur ohne neu gemerkte Position
+\def\ltm@inserthead#1{%
+    \vbox to\z@{%
+      \vss
+      \hb@xt@\z@{%
+        \color@begingroup
+           \zsavepos{tabstart\thepage}%   % Die aktuelle Position merken
+           \drx=0sp
+           \dry=0sp
+           % Die Position des Tabellenendes abziehen und zur gemerkten gehen
+           \advance \drx by -\zposx{tabstart\thepage}sp
+           \advance \drx by \zposx{uebertrpos\thepage}sp
+           \advance \dry by -\zposy{tabstart\thepage}sp
+           \advance \dry by \zposy{uebertrpos\thepage}sp
+           \smash{\kern\drx\raise\dry%
+             \hbox{\makebox[0cm][r]{Übertrag:\hspace*{2em}\printwert{#1} \currency}}%
+             }% end smash
+        \color@endgroup
+      }%
+    }%
+}
+
+\def\ltm@lastfoot{}
+\def\ltm@foot{\ltm@insertfoot{\ltm@getmarks}}
+\def\ltm@head{\ltm@inserthead{\ltm@getmarks}}
+
+
+% Ueberschreiben der Output-Routine von longtable
+\def\LT@output{%
+  \ifnum\outputpenalty <-\@Mi
+    \ifnum\outputpenalty > -\LT@end@pen
+      \LT@err{floats and marginpars %
+              not allowed in a longtable}\@ehc
+    \else
+      \setbox\z@\vbox{\unvbox\@cclv}%
+      \ifdim \ht\LT@lastfoot>\ht\LT@foot
+        \dimen@\pagegoal
+        \advance\dimen@-\ht\LT@lastfoot
+        \ifdim\dimen@<\ht\z@
+          \setbox\@cclv\vbox{%
+            \unvbox\z@\copy\LT@foot\ltm@foot\vss
+          }%
+          \@makecol
+          \@outputpage
+          \setbox\z@\vbox{\box\LT@head}%
+        \fi
+      \fi
+      \global\@colroom\@colht
+      \global\vsize\@colht
+      \vbox{%
+        \unvbox\z@
+        \box\ifvoid\LT@lastfoot
+          \LT@foot\ltm@foot
+        \else
+          \LT@lastfoot\ltm@lastfoot
+        \fi
+      }%
+    \fi
+  \else
+    \setbox\@cclv\vbox{%
+      \unvbox\@cclv\copy\LT@foot\ltm@foot\vss
+    }%
+    \@makecol
+    \@outputpage
+    \global\vsize\@colroom
+    \copy\LT@head\ltm@head
+  \fi
+}
+
+\makeatother    % Das at-Zeichen in Variablen wieder verbieten
+%%%%%%%%%%%%%%%%%%%%Ende plaintex-Hack%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/templates/print/f-tex/README b/templates/print/f-tex/README
deleted file mode 100644 (file)
index 713f369..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-README lx-office Fancy-LaTeX  (f-tex)
-
-# Revision 1.1-u  (03.02.2012)
-# Revision 1.0-u  (16.11.2011)
-# Revision 0.9  (13.11.2011)
-# Revision 0.8  (12.09.2011)
-# Revision 0.7 (12.07.2011)
-# Revision 0.6 (16.06.2011)
-# Revision 0.5  (15.04.2011)
-# Revision 0.4  (14.02.2011)
-# Revision 0.3  (03.01.2011)
-# Revision 0.2  (24.12.2010)
-# Revision 0.1  (03.11.2009)
-
-
-
-# Feature Uebersicht
-
-  - einfach Nutzung durch mitgeliefertes Setup-Script
-  - Keine Retundanz. Es wird ein und die selbe Latex-Vorlage fuer alle
-    briefartigen Dokumente verwendet. Also Angebot, Rechnung,
-    Performarechnung, Lieferschein, aber eben nicht fuer 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*)
-  - Hintergrundpdf um schaltbar auf "nur erste Seite" (default) oder "alle Seiten"
-    (option "bgPdfFirstPageOnly" in Datei letter.lco)
-  - Hintergrundpdf fuer Ausdruck auf bereits bedrucktem Briefpapier Abschaltbar,
-    es wird dann nur bei per email versendeten Dokumenten eingebunden.
-    (Option "bgPdfEmailOnly" in Datei letter.lco)
-  - Nutzung der Layout-Funktionen von Latex fuer Seitenumbruch,
-    wiederholung von Kopfzeilen, Zwischensummen etc. (danke an Kai-Martin fuer
-    die Vorarbeit)
-  - Anzeige des Empfaengerlandes im Adressfeld nur, wenn es vom Land des
-    eigenen Unternehmens abweicht (also die Rechnung das Land verlaesst).
-  - Multisprachfaehig leicht um weitere Sprachen zu erweitern, alle
-    Übersetzungen in der Datei translatinos.tex.
-  - Auflistung von Bruttopreisen fuer Endverbraucher.
-
-
-
-
-# die Installation
-
-  Wenn es noch keine LaTeX installation gibt, installiere die folgenden Pakete
-  (Debian)
-    aptitude install \
-      texlive-base-bin \
-      texlive-latex-recommended \
-      texlive-fonts-recommended \
-      texlive-latex-extra \
-      texlive-lang-german \
-      texlive-generic-extra
-
-  Die Abhaengigkeiten kann man mit
-   /scripts/installation_check.pl -l pruefen (z.Z. noch nicht eingecheckt)
-
-  Ein Vorlagenverzeichniss kannst Du direkt unter admin.pl Benutzeradministration erstellen:
-    Benutze Vorlagen: f-tex
-    Erzeuge Vorlagen, Name: <DEIN_WUNSCHNAME>
-  Das Verzeichniss templates muss dafuer fuer den Webserver schreibbar sein.
-
-  Erstelle eine pdf-Hintergrund Datei und verlinke sie nach ./letter_head.pdf
-
-  Editiere den Bereich "settings" in der datei letter.lco ""
-
-  # oder etwas Detaillierter:
-  Es wird eine Datei sample.lco erstellt und diese nach letter.lco verlinkt.
-  Eigentlich ist dies die Datei die fuer die Firmenspezifischen Anpassungen
-  gedacht ist.  Da die Einstiegshuerde in LaTeX nicht ganz niedrig ist, wird in
-  dieser Datei auf ein Hintergrundpdf verwiesen. Ich empfehle ueber dieses pdf
-  die persoenlichen Layoutanpassungen vorzunehmen und sample.lco unveraendert zu
-  lassen. Die die Anpassung ueber eine *.lco Datei die letztlich auf letter.lco
-  verlinkt ist ist aber auch moeglich.
-
-  Es wird eine Datei sample_head.pdf mit ausgeliefert, diese wird nach
-  letter_head.pdf verlinkt. Damit gibt es schon mal eine Funktionsfaehige
-  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 Template Verzeichniss ablegen und statt sample_head.pdf nach
-  letter_head.pdf verlinken.
-
-  letzlich muss ./letter_head.pdf auf das passende Hintergrundpdf verweisen,
-  welches gewuenschten Briefkopf enthaelt. Bei Updates oder nach erneutem
-
-  Es wird eine Datei mydata.tex.example ausgeliefert die nach mytdata.tex
-  verlinkt ist. Bei verwendetem Hintergrundpdf wird nur der Eintrag fuer das
-  Land verwendet die Datei muss  also nicht angefasst werden. Die Anderen Werte
-  sind fuer das Modul  lp (Label Print in erp -- zur Zeit nicht im
-  oeffentlichen Zweig).
-
-  Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc.
-  sollten ueber die Hintergrund pdf datei oder die *.lco Datei erfolgen.
-
-
-# einheitliche Latex-Vorlagen -- Background
-
-  Das Konzept von lx-office sieht vor, fuer jedes Dokument
-  (Auftragsbestaetigung, Lieferschein, Rechnung, etc.) eine
-  Latex-Vorlage vorzuhalten, dies ist sehr Wartungsunfreundlich. Auch
-  das Einlesen einer einheitlichen Quelle fuer den Briefkopf bringt nur
-  bedingte Vorteile, da hier leicht die Pflege der Artikel-Tabellen aus
-  dem Ruder laeuft. Bei dem vorliegenden Ansatz wird fuer alle
-  Briefartigen Dokumente mit Artikel-Tabellen eine einheitliche
-  Latexvorlage verwendet, welche ueber Codeweichen die Besonderheiten
-  der jeweiligen Dokumente Beruecksichtigt
-    - Tabellen mit oder ohne Preis
-    - Sprache der Tabellenueberschriften etc.
-    - Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus
-      Angebotsnummer)
-    - Darstellung von Brutto oder Netto-Preisen in der Auflistung
-      (Endverbraucher versus Gewerblicher Kunde)
-  Seit Version 2.7 ist das ohne Kunstgriff moeglich, da im bei nicht vorhanden
-  Dokumenten auf default.tex zurueckgegriffen wird.
-
-
-  Nachteil:
-  Ja, alles hat seinen Preis ...
-  Latex hat ohnehin eine sehr steile Lehrnkurve. Die Datei letter.tex
-  ist sehr komplex und verstaerkt damit diesen Effekt noch einmal erheblich.
-  Wer Latex-Erfahrung hat, oder geuebt ist Scriptsparachen nachzuvollziehen kann
-  natuerlich auch innerhalb der Tabellendarstellung gut persoenliche Anpassungen
-  vornehmen. Aber man kann sich hier bei Veraenderungen sehr schnell haeftig 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 ausgeliefert werden, erfreuen.
-  Kleiner Tipp:
-
-    Nicht zu viel auf einmal wollen, lieber kleine kontinuierliche
-    Schritte gehen.
-
-  Alternativ kann man sich natuerlich fuer die Latex-Vorlagen
-  professionelle Hilfe hohlen.
-
-
-Bruttopreise fuer Endvorbraucher
-  Der auszuweisende Bruttopreis wird innerhalb der LaTeX Umgebung berechnet.
-
-  - Background:
-    es gibt zwar ein Feld um bei Auftraegen "alle Preise Brutto" auszuwaehlen,
-    aber:
-      - hierfuer muessen die Preise auch in Brutto in der Datenbank stehen
-        (ja -- das laesst sich ueber die Preisgruppen und die Zuordung einer Default-Preisgruppe
-        handhaben)
-      - man darf beim Anlegen des Vorgangs nicht vergessen Dieses Haekchen zu setzen.
-        (das ist in der Praxis wenn man sowohl Endverbraucher- wie Gewerbekunden beliefert
-       der eigentliche Knackpunkt)
-
-  Es gibt mit f-tex eine weitere Alternative. Die Information ob Brutto oder
-  Nettorechnung wird mit den Zahlarten verknuepft. Zahlarten bei denen
-  Rechnungen, Angebote, etc, in Brutto ausgegeben werden sollen enden mit "_E"
-  (fuer Endverbraucher) Falls identische Zahlarten fuer Gewerbekunden und
-  Endverbraucher vorhanden sind legt man diese einfach doppelt an (einmal mit
-  der Namensendung "_E")
-  - Gewinn:
-    - 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" auszuwaehlen.
-    - Die Entscheidung ob Netto/Oder Bruttopreise ausgewiesen werden kann direkt
-      beim Drucken reviediert werden, ohne dass sich der Auftragswert aendert.
-
-Lieferadressen
-
-  - in Lieferscheinen kommen shipto* -Variablen im Adressfeld zum Einsatz
-  - wenn die shipto*variable leer ist wird die entsprechende
-    Adressvariable eingesetzt.  Wenn Also die Lieferadresse in Strasse,
-    Hausnummer und Ort abweicht, muessen auch nur diese Felder in der
-    Lieferadresse ausgefuellt werden. Fuer den Firmenname wird der Wert der
-    Hauptadresse angezeigt.
-
-Troubleshooting -- Fehler suchen:
-  Wenn sich das Problem nicht auf Grund der ausgabe im Webbrowser verifizieren laesst:
-
-    editiere [flxo-home]/config/lx_office.conf und aendere "keep_tmp_files" auf 1
-          keep_temp_files = 1;
-
-    bei fastcgi oder mod_perl den Webserver neu Starten
-
-    Nochmal einen Druckversuch im Webfrontend ausloesen
-
-    wechsele in das users Verzeichnis von lxo
-      cd [lxo-home]/users
-
-    LaTeX Suchpfad anpassen:
-      export TEXINPUTS=".:[lxo-home]/templates/[aktuelles_template_verzeichniss]:"
-
-    Finde herraus welche datei lxo beim letzten Durchlauf erstellt hat
-      ls -lahtr ./1*.tex
-    Es sollte die letzte Datei ganz unten sein
-
-    fuer besseren Hinweis auf Fehler texdatei nochmals uebersetzen
-      pdflatex ./1*.tex
-
-    in der *.tex datei nach dem Fehler suchen.
-
-
-
index abca29a..fb0f39b 100644 (file)
 %======Die eigentliche-Tabelle========================================
 
 % temporaere Datei mit Tabelle anlegen
-\begin{filecontents}{<%template_meta.tmpfile%>.table.tex}
+\begin{filecontents}{<%template_meta.tmpfile NOESCAPE%>.table.tex}
 \mainfont
 \resetlaufsumme
 
   }
 \end{filecontents}  % Ende der Hilfsdatei.
 
-\LTXtable{\textwidth}{<%template_meta.tmpfile%>.table.tex}
+\LTXtable{\textwidth}{<%template_meta.tmpfile NOESCAPE%>.table.tex}
 
 \rule{\textwidth}{0pt}   % Ein (unsichtbarer) Strich quer ueber die Seite
 \vspace{ 5mm}
index 543f228..8cbaf29 100644 (file)
@@ -1,37 +1,51 @@
 [%- USE T8 %]
 [% USE HTML %]
 [% USE LxERP%]
- <script type='text/javascript'>
-    $(function(){ document.getElementsById('rpw').focus();});
- </script>
- <div align="center">
-
-  <a href="http://www.kivitendo.org"><img src="image/kivitendo.png" border="0"></a>
-
-  <h3 class="login">[% 'kivitendo' | $T8 %] [% HTML.escape(version) %]</h3>
-
-  <h2>[% 'Administration' | $T8 %]</h2>
-
-  [% IF error %]
-  <p><span class="message_error_login">[% error %]</span></p>
-  [% END %]
-
-  <form method="post" action="admin.pl">
-
-   <table>
-    <tr>
-     <th>[% 'Password' | $T8 %]</th>
-     <td><input type="password" name="{AUTH}admin_password" id="rpw"></td>
-     <td><input type="submit" class="submit" name="action" value="[% 'Login' | $T8 %]"></td>
-    </tr>
-    <input type="hidden" name="action" value="login">
-   </table>
-
-  </form>
-
-  <p>[% 'kivitendo Homepage' | $T8 %]: <a href="http://kivitendo.de" target="_blank" title="[% 'kivitendo Homepage' | $T8 %]">http://kivitendo.de</a></p>
-
-  <p><a href="controller.pl?action=LoginScreen/user_login" target="_top">[%- LxERP.t8('Back to the login page') %]</a></p>
-
- </div>
-
+ <center>
+  <table class="login" border="3" cellpadding="20">
+   <tr>
+    <td class="login" align="center">
+     <a href="http://www.kivitendo.de" target="_top"><img src="image/kivitendo.png" border="0"></a>
+     <h1>[% 'kivitendo administration' | $T8 %] [% version %]</h1>
+
+     [% IF error %]
+     <p><span class="message_error_login">[% error %]</span></p>
+     [% END %]
+
+     <p>
+
+      <form method="post" action="admin.pl">
+
+       <table width="100%">
+        <tr>
+         <td align="center">
+          <table>
+           <tr>
+            <th align="right">[% 'Password' | $T8 %]</th>
+            <td><input class="login" type="password" name="{AUTH}admin_password" id="admin_password" size="30" tabindex="1"></td>
+           </tr>
+          </table>
+
+          <br>
+          <input type="submit" value="[% 'Login' | $T8 %]" tabindex="2">
+
+         </td>
+        </tr>
+       </table>
+
+       <input type="hidden" name="action" value="login">
+      </form>
+
+    </td>
+   </tr>
+  </table>
+
+  <p>
+   <a href="controller.pl?action=LoginScreen/user_login" target="_top">[%- LxERP.t8('User login') %]</a>
+   &nbsp;|&nbsp;
+   <a href="doc/kivitendo-Dokumentation.pdf" target="_top">[%- LxERP.t8('Documentation') %]</a>
+  </p>
+
+  <script type='text/javascript'>
+    $('#admin_password').focus();
+  </script>
index 756247a..128d460 100644 (file)
@@ -18,7 +18,7 @@
     -->
  </script>
 
- <h2>[% title %]</h2>
+ <h1>[% title %]</h1>
 
  [% IF NO_DATABSES %]
   [% 'No databases have been found on this server.' | $T8 %]
@@ -96,4 +96,3 @@
   </form>
 
  [% END %]
-
index bb29cf9..e1573a6 100644 (file)
@@ -1,7 +1,7 @@
 [%- USE T8 %]
 [%- USE LxERP %]
 [%- USE HTML %]
- <h2>[% title %]</h2>
+ <h1>[% title %]</h1>
 
  <p>[% LxERP.t8('The dataset backup has been sent via email to #1.', to) | html %]</p>
 
index 8e727d9..c40b8ec 100644 (file)
@@ -1,7 +1,7 @@
 [%- USE T8 %]
 [%- USE HTML %]
 
- <div class="listtop">[% title %]</div>
+ <h1>[% title %]</h1>
 
  <form method="post" action="admin.pl">
 
@@ -57,4 +57,3 @@
   <input type="button" class="submit" onclick="history.back()" value="[% 'Back' | $T8 %]">
 
  </form>
-
index 027d492..0e1d80a 100644 (file)
@@ -1,7 +1,7 @@
 [%- USE T8 %]
 [%- USE HTML %]
 
- <div class="listtop">[% title %]</div>
+ <h1>[% title %]</h1>
 
  <p>
   [% 'The tables for user management and authentication do not exist. They will be created in the next step in the following database:' | $T8 %]
@@ -39,4 +39,3 @@
   <input type="button" class="submit" onclick="history.back()" value="[% 'Back' | $T8 %]">
 
  </form>
-
index 94ddf82..36b337a 100644 (file)
@@ -1,6 +1,6 @@
 [%- USE T8 %]
 [%- USE HTML %]
-  <h2>[% title %]</h2>
+  <h1>[% title %]</h1>
 
   <form method="post" action="admin.pl">
    <p><a href="admin.pl?action=pg_database_administration">[% 'Back' | $T8 %]</a></p>
index 2f2fa6d..5718c88 100644 (file)
@@ -1,7 +1,7 @@
 [%- USE T8 %]
 [%- USE HTML %]
 
- <div class="listtop">[% title %]</div>
+ <h1>[% title %]</h1>
 
  <form method="post" action="admin.pl">
 
@@ -45,4 +45,3 @@
   </p>
 
  </form>
-
index 74e1467..23fb805 100644 (file)
@@ -1,6 +1,6 @@
 [%- USE T8 %]
 [%- USE HTML %]
-  <h2>[% title %]</h2>
+  <h1>[% title %]</h1>
 
   <form method="post" action="admin.pl">
    <a href="admin.pl?action=list_users">[% 'Back' | $T8 %]</a>
@@ -66,4 +66,3 @@
   <p>[% 'This is a preliminary check for existing sources. Nothing will be created or deleted at this stage!' | $T8 %]</p>
 
   <p>[% 'Leave host and port field empty unless you want to make a remote connection.' | $T8 %]</p>
-
index f832912..b42c746 100644 (file)
@@ -1,7 +1,7 @@
 [%- USE T8 %]
 [%- USE HTML %]
 [%- USE LxERP %]
-  <h2>[% title %]</h2>
+  <h1>[% title %]</h1>
 
   <form method="post" action="admin.pl">
 
@@ -12,4 +12,3 @@
    <p><input type="submit" class="submit" name="action" value="[% 'Continue' | $T8 %]"></p>
 
   </form>
-
index 6926c9c..a7aa798 100644 (file)
@@ -1,7 +1,7 @@
 [%- USE T8 %]
 [%- USE LxERP %]
 [%- USE HTML %]
-  <h2>[% title %]</h2>
+  <h1>[% title %]</h1>
 
   <form method="post" action="admin.pl">
 
@@ -11,4 +11,3 @@
 
    <p><input type="submit" class="submit" name="action" value="[% 'Continue' | $T8 %]"></p>
   </form>
-
index cc37049..1a81e96 100644 (file)
@@ -1,2 +1,2 @@
 [%- USE T8 %]
-[% USE HTML %]<div class="listtop" width="100%">[% 'Dataset upgrade' | $T8 %] ([% HTML.escape(dbname) %])</div>
+[% USE HTML %]<h1>[% 'Dataset upgrade' | $T8 %] ([% HTML.escape(dbname) %])</h1>
index 2e891ee..e66dadf 100644 (file)
@@ -1,6 +1,6 @@
 [%- USE T8 %]
 [%- USE HTML %]
- <h2>[% title %]</h2>
+ <h1>[% title %]</h1>
  <p><a href="admin.pl?action=pg_database_administration">[% 'Back' | $T8 %]</a></p>
  <form method="post" action="admin.pl">
 
@@ -26,4 +26,3 @@
   <p><input type="submit" class="submit" name="action" value="[% 'Continue' | $T8 %]"></p>
 
  </form>
-
index 591ae30..3b46941 100644 (file)
@@ -1,6 +1,6 @@
 [%- USE T8 %]
 [%- USE HTML %]
-  <div class="listtop">[% 'Delete group' | $T8 %]: [% name %]</div>
+  <h1>[% 'Delete group' | $T8 %]: [% name %]</h1>
   <p class="message_hint">[ [% name %] ] - [% 'Do you really want to delete this group?' | $T8 %]</p>
 
    <form name="Form" method="post" action="admin.pl">
@@ -11,4 +11,3 @@
     <input type="hidden" name="delete_nextsub" value="delete_group">
     <input type="submit" class="submit" name="action" value="[% 'Delete' | $T8 %]">
    </form>
-
index de6c8d7..bcbcd09 100644 (file)
@@ -2,13 +2,13 @@
  [% L.stylesheet_tag('jquery.multiselect2side') %]
  [% L.javascript_tag('jquery.selectboxes', 'jquery.multiselect2side') %]
 
+<h1>[% 'Edit group ' | $T8 %]:  [% HTML.escape(name) %]</h1>
+
  <form name="Form" method="post" action="admin.pl">
   [% IF message %]
   <p class="message_ok">[% message %]</p>
   [% END %]
 
-  <div class="listtop">[% 'Edit group ' | $T8 %]:  [% HTML.escape(name) %]</div>
-
   <p><a href="admin.pl?action=edit_groups">[% 'Back' | $T8 %]</a></p>
 
    <hr>
index 662c040..be0a46d 100644 (file)
@@ -1,7 +1,7 @@
 [%- USE T8 %]
 [%- USE HTML %][%- USE LxERP %]
 
- <div class="listtop">[% 'Edit group membership' | $T8 %]</div>
+ <h1>[% 'Edit group membership' | $T8 %]</h1>
 
  <p><a href="admin.pl?action=edit_groups">[% 'Back' | $T8 %]</a></p>
  <p>[% 'Select the checkboxes that match users to the groups they should belong to.' | $T8 %]</p>
@@ -42,4 +42,3 @@
   </p>
 
  </form>
-
index ee6d9ef..b17539d 100644 (file)
@@ -1,14 +1,14 @@
 [%- USE T8 %]
 [%- USE HTML %]
 
-  <div class="listtop">[% 'Edit groups' | $T8 %]</div>
+  <h1>[% 'Edit groups' | $T8 %]</h1>
   [% IF message %]
   <p class="message_ok">[% message %]</p>
   [% END %]
 
   <p><a href="admin.pl?action=login">[% 'Back' | $T8 %]</a></p>
 
- <h1>[% 'Add a new group' | $T8 %]</h1>
+ <h2>[% 'Add a new group' | $T8 %]</h2>
 
  <form method="post" action="admin.pl">
  <br>
@@ -20,7 +20,7 @@
    <p><input type="submit" class="submit" name="action" value="[% 'Add' | $T8 %]"></p>
  </form>
 
- <h1>[% 'Edit and delete a group' | $T8 %]</h1>
+ <h2>[% 'Edit and delete a group' | $T8 %]</h2>
 
  <form name="Form" method="post" action="admin.pl">
   [% IF num_groups %]
@@ -45,7 +45,7 @@
   </p>
  </form>
 
- <h1>[% 'Group membership' | $T8 %]</h1>
+ <h2>[% 'Group membership' | $T8 %]</h2>
 
  <p>[% 'Edit the membership of all users in all groups:' | $T8 %]</p>
 
index 8db61d9..45f2831 100644 (file)
@@ -21,9 +21,9 @@
     -->
  </script>
 
- <form name="Form" id="Form" method="post" action="admin.pl">
+ <h1>[% title %]</h1>
 
 <div class="listtop" width="100%">[% title %]</div>
<form name="Form" id="Form" method="post" action="admin.pl">
   <p><a href="admin.pl?action=list_users">[% 'Back' | $T8 %]</a></p>
 
   <table width="100%">
       </tr>
       <tr>
        <th align="right">[% 'Setup Templates' | $T8 %]</th>
-       <td>[% L.select_tag('mastertemplates', all_master_templates, default = 'German') %]</td>
+       <td>[% L.select_tag('mastertemplates', all_master_templates, default = 'Standard') %]</td>
       </tr>
       <tr>
        <th align="right">[% 'Setup Menu' | $T8 %]</th>
     });
     -->
  </script>
-
index 02a4706..67a2d62 100644 (file)
@@ -61,7 +61,9 @@
   </div>
  </form>
 
- <h1>[% 'User Login' | $T8 %]</h1>
+ <hr>
+
+ <h2>[% 'User Login' | $T8 %]</h2>
 
  <form method="post" action="controller.pl">
   <input type="hidden" name="action" value="LoginScreen/login">
@@ -80,6 +82,3 @@
   </table>
 
  </form>
-
- <hr size="3" noshade>
-
index 7758fec..6e29706 100644 (file)
@@ -4,7 +4,7 @@
     $(function(){ document.getElementsByName('dbname')[0].focus();});
   </script>
 
- <h2>[% title %]</h2>
+ <h1>[% title %]</h1>
 
  <form name="Form" method="post" action="admin.pl" enctype="multipart/form-data">
 
@@ -56,4 +56,3 @@
   <input type="submit" class="submit" name="action" value="[% 'Continue' | $T8 %]">
 
  </form>
-
index 2cef649..dbc38c7 100644 (file)
@@ -1,5 +1,5 @@
 [%- USE T8 %]
- <h2>[% title %]</h2>
+ <h1>[% title %]</h1>
 
  <p>[%- 'The restoration process has started. Here\'s the output of the &quot;pg_restore&quot; command:' | $T8 %]</p>
 
index 6559709..78829da 100644 (file)
@@ -1,7 +1,7 @@
 [%- USE T8 %]
 [%- USE HTML %]
 
- <div class="listtop">[% title %]</div>
+ <h1>[% title %]</h1>
 
  [%- IF connection_ok %]
 
@@ -23,4 +23,3 @@
    <input type="button" class="submit" onclick="window.close()" value="[% 'Close Window' | $T8 %]">
   </form>
  </p>
-
index 80fdd56..293ab88 100644 (file)
@@ -1,6 +1,6 @@
 [%- USE T8 %]
 [%- USE HTML %]
- <h2>[% title %]</h2>
+ <h1>[% title %]</h1>
  <p><a href="admin.pl?action=pg_database_administration">[% 'Back' | $T8 %]</a></p>
  [% IF ALL_UPDATED %]
   [% 'All Datasets up to date!' | $T8 %]
@@ -51,4 +51,3 @@
   </form>
 
  [% END %]
-
index b353452..93c4860 100644 (file)
@@ -2,7 +2,7 @@
 [%- USE LxERP %]
 [%- USE HTML %]
 
- <div class="listtop">[% title %]</div>
+ <h1>[% title %]</h1>
 
  <form method="post" action="admin.pl">
 
@@ -21,4 +21,3 @@
   <input type="submit" class="submit" name="action" value="[% 'No' | $T8 %]">
 
  </form>
-
index 376a4b0..800625f 100644 (file)
@@ -1,7 +1,7 @@
 [%- USE T8 %]
 [%- USE HTML %]
 
- <div class="listtop">[% title %]</div>
+ <h1>[% title %]</h1>
 
  <form method="post" action="admin.pl">
 
@@ -20,4 +20,3 @@
   </p>
 
  </form>
-
index 99b6002..d47775a 100644 (file)
@@ -1,7 +1,7 @@
 [%- USE T8 %]
 [%- USE HTML %]
 
- <div class="listtop">[% title %]</div>
+ <h1>[% title %]</h1>
 
  <form method="post" action="admin.pl">
 
@@ -14,4 +14,3 @@
   <input type="submit" class="submit" name="action" value="[% 'Continue' | $T8 %]">
 
  </form>
-
index 387c18c..5921dd2 100644 (file)
        <select name="menustyle">
         <option value="old"[% IF myconfig_menustyle == 'old' %] selected[% END %]>[% 'Old (on the side)' | $T8 %]</option>
         <option value="v3"[% IF myconfig_menustyle == 'v3' %] selected[% END %]>[% 'Top (CSS)' | $T8 %]</option>
-        <option value="v4"[% IF myconfig_menustyle == 'v4' %] selected[% END %]>[% 'Top (CSS) new' | $T8 %]</option>
         <option value="neu"[% IF myconfig_menustyle == 'neu' %] selected[% END %]>[% 'Top (Javascript)' | $T8 %]</option>
        </select>
       </td>
       maintab.init();
     -->
  </script>
-
index e446f43..205627e 100644 (file)
   </tr>
   <tr>
     <th align=right>[% 'Number Format' | $T8 %]</th>
-    <td><select name="output_numberformat">[% numberformats, default = output_numberformat, with_empty = 1, empty_title = LxERP.t8('use program settings') %]</select></td>
+    <td>[% L.select_tag('output_numberformat', numberformats, default = output_numberformat, with_empty = 1, empty_title = LxERP.t8('use program settings')) %]</td>
   </tr>
   <tr>
     <th align=right>[% 'Date Format' | $T8 %]</th>
-    <td><select name="output_dateformat">[% dateformats, default = output_dateformat, with_empty = 1, empty_title=LxERP.t8('use program settings') %]</select></td>
+    <td>[% L.select_tag('output_dateformat', dateformats, default = output_dateformat, with_empty = 1, empty_title=LxERP.t8('use program settings')) %]</td>
   </tr>
   <tr>
     <th align=right>[% 'Long Dates' | $T8 %]</th>
index f97c4ec..fc2dffa 100644 (file)
@@ -31,7 +31,7 @@
       <option>&lt;</option>
       <option>&lt;=</option>
      </select>
-     <input name="cvar_[% HTML.escape(var.name) %]"[% IF var.maxlength %]maxlength="[% HTML.escape(var.maxlength) %]"[% END %]>
+     <input name="[% filter_prefix %]cvar_[% HTML.escape(var.name) %]"[% IF var.maxlength %]maxlength="[% HTML.escape(var.maxlength) %]"[% END %]>
 
      [%- ELSIF var.type == 'customer' %]
      <input name="[% filter_prefix %]cvar_[% var.name | html %]">
index 2408d52..95ce796 100644 (file)
@@ -32,7 +32,7 @@
   [%- END %]
 
   <input class=submit type=submit name=action value="[% 'Post Payment' | $T8 %]">
-  <input class=submit type=submit name=action value="[% 'Use As Template' | $T8 %]">
+  <input class=submit type=submit name=action value="[% 'Use As New' | $T8 %]">
   <input type="button" class="submit" onclick="follow_up_window()" value="[% 'Follow-Up' | $T8 %]">
 
 [%- ELSIF show_post_draft %]
@@ -66,5 +66,3 @@ function set_duedate() {
  }
 //-->
 </script>
-
-
index 82cd180..e779a66 100644 (file)
@@ -7,7 +7,6 @@
 [% L.hidden_tag('accno', accno) %]
 [% L.hidden_tag('decription', description) %]
 [% L.hidden_tag('sort', 'transdate') %]
-[% L.hidden_tag('eur', cash) %]
 [% L.hidden_tag('accounttype', accounttype) %]
 
 <table border=0 width=100%>
         <tr>
                    <td colspan=5><hr size=3 noshade></td>
         </tr>
-        <tr>
-          <th align=leftt>[% 'Method' | $T8 %]</th>
-          <td colspan=3>[% L.radio_button_tag('method', value='accrual', checked=!cash, label=LxERP.t8('Accrual')) %]
-                        [% L.radio_button_tag('method', value='cash', checked=cash, label=LxERP.t8('EUR')) %]</td>
-        </tr>
         <tr>
          <th align=right colspan=4>[% 'Decimalplaces' | $T8 %]</th>
          <td><input name=decimalplaces size=3 value="2"></td>
@@ -88,4 +82,3 @@
 
 <br>[% L.submit_tag('action', LxERP.t8('List Transactions')) %]
 </form>
-
index 4565f35..d807322 100644 (file)
@@ -4,9 +4,10 @@
 [%- USE LxERP %]
 <table width=100%>
   <tr>
-    <th class=listheading colspan="6">[% 'Invoices' | $T8 %]</th>
+    <th class=listheading colspan="7">[% 'Invoices' | $T8 %]</th>
   </tr>
   <tr>
+   <th nowrap class=listheading>[% 'Row number' | $T8 %]</th>
    <th nowrap class=listheading>[% 'Invoice' | $T8 %]</th>
    <th nowrap class=listheading width="15%">[% 'Date' | $T8 %]</th>
    <th nowrap class=listheading width="15%">[% 'Amount' | $T8 %]</th>
@@ -16,6 +17,7 @@
   </tr>
 [%- FOREACH row = invoices %]
   <tr class="listrow[% loop.count % 2 %]">
+    <td>[% loop.count %]</td>
     <td>[% row.invnumber | html %][% L.hidden_tag('invnumber_' _ loop.count, row.invnumber); L.hidden_tag('id_' _ loop.count, row.id) %]</td>
     <td>[% row.transdate | html %][% L.hidden_tag('transdate_' _ loop.count, row.transdate) %]</td>
     <td class="numeric">[% LxERP.format_amount(row.amount, 2) %][% L.hidden_tag('amount_' _ loop.count, LxERP.format_amount(row.amount, 2)) %]</td>
@@ -25,6 +27,7 @@
   </tr>
 [%- END %]
   <tr class='tisttotal'>
+   <td class="listtotal">&nbsp;</td>
    <td class="listtotal">&nbsp;</td>
    <td class="listtotal">&nbsp;</td>
    <td class="listtotal" align="right">[% LxERP.format_amount(totals.amount, 2) %]</td>
index c8e6721..49a3866 100644 (file)
     [%- LxERP.t8("If the article type is set to 'mixed' then a column called 'type' must be present.") %]
     [% LxERP.t8("Type can be either 'part' or 'service'.") %]
    </p>
+
+   <p>
+    [1]:
+    [% LxERP.t8('The three columns "make_X", "model_X" and "lastcost_X" with the same number "X" are used to import vendor part numbers and vendor prices.') %]
+    [% LxERP.t8('The column triplets can occur multiple times with different numbers "X" each time (e.g. "make_1", "model_1", "lastcost_1", "make_2", "model_2", "lastcost_2", "make_3", "model_3", "lastcost_3" etc).') %]
+    [% LxERP.t8('The items are imported accoring do their number "X" regardless of the column order inside the file.') %]
+    [% LxERP.t8('The column "make_X" can contain either a vendor\'s database ID, a vendor number or a vendor\'s name.') %]
+   </p>
 [%- END %]
 
    <p>
index 43f64b0..2864f9e 100644 (file)
      <tr>
       <th align="right">[% 'Shipping Address' | $T8 %]</th>
       <td colspan="3">
-       [% L.select_tag('delivery_id', SHIPTO_ALL, title_sub = \shipto_label, with_empty = 1,
+       [% L.select_tag('delivery_id', SHIPTO_ALL, value_key = 'shipto_id', title_sub = \shipto_label, with_empty = 1,
                        onchange = "\$('#delivery').load('ct.pl?action=get_delivery&id=' + \$('#cvid').attr('value') + '&db=' + \$('#db').attr('value') + '&shipto_id=' + this.value)") %]
       </td>
      </tr>
index ef41502..cd99f96 100644 (file)
        <tr>
         <th align="right" nowrap>[% 'Reqdate' | $T8 %]</th>
         <td nowrap>
-         <input name="reqdate" id="reqdate" size="11" title="[% HTML.escape(myconfig_dateformat) %]" value="[% HTML.escape(reqdate) %]"
-                onBlur="check_right_date_format(this)"[% RO %]>
-         <input type="button" name="b_reqdate" id="reqdate_trigger" value="?">
+         [% L.date_tag('reqdate', reqdate, readonly => delivered) %]
         </td>
        </tr>
 
index 448b8a3..728c80f 100644 (file)
         </tr>
         <tr>
           <th align=right>[% 'Reference' | $T8 %]</th>
-          <td>[% L.input_tag('reference', reference,  size=20, readonly=id) %]</td>
+          <td>[% L.input_tag('reference', reference,  size=20, readonly=readonly) %]</td>
           <td align=left>
             <table>
               <tr>
                 <th align=right width=50% nowrap>[% 'Date' | $T8 %]</th>
-                <td>[% L.date_tag('transdate', transdate, readonly=id) %]</td>
+                <td>[% L.date_tag('transdate', transdate, readonly=readonly) %]</td>
               </tr>
             </table>
           </td>
 [%- IF id %]
         <tr>
           <th align=right>[% 'Belegnummer' | $T8 %]</th>
-          <td>[% L.input_tag('id', id,  size=20, readonly=id) %]</td>
+          <td>[% L.input_tag('id', id,  size=20, readonly=readonly) %]</td>
           <td align=left>
           <table>
               <tr>
                 <th align=right width=50%>[% 'Buchungsdatum' | $T8 %]</th>
-                <td align=left>[% L.date_tag('gldate', gldate, readonly=id) %]</td>
+                <td align=left>[% L.date_tag('gldate', gldate, readonly=1) %]</td>
               </tr>
             </table>
           </td>
@@ -97,7 +97,7 @@
 
         <tr>
           <th align=right width=1%>[% 'Description' | $T8 %]</th>
-          <td width=1%>[% L.areainput_tag('description', description, cols=50, readonly=id) %]</td>
+          <td width=1%>[% L.areainput_tag('description', description, cols=50, readonly=readonly) %]</td>
           <td>
             <table>
               <tr>
             <table width=100%>
               <tr>
                 <th align=right width=50%>[% 'Mitarbeiter' | $T8 %]</th>
-                <td align=left>[% L.input_tag('employee', employee, size=20, readonly=id) %]</td>
+                <td align=left>[% L.input_tag('employee', employee, size=20, readonly=readonly) %]</td>
               </tr>
             </table>
           </td>
index 1eaea86..401b54a 100644 (file)
@@ -1,6 +1,7 @@
 [%- USE T8 %]
 [%- USE LxERP %]
 [%- USE HTML %]
+[%- USE L %]
   <tr class=listheading>
    <th class=listheading>[% 'Individual Items' | $T8 %]</th>
   </tr>
@@ -20,7 +21,7 @@
   [%- IF rcol.escape %]
       <td[% ' align=' _ rcol.align IF rcol.align %]>[%- HTML.escape(rcol.data) %]</td>
   [%- ELSE %]
-      <td[% ' align=' _ rcol.align IF rcol.align %]>[%- rcol.data %]</td>
+      <td[% ' align=' _ rcol.align IF rcol.align %]>[%- IF rcol.link %][% L.link(rcol.link, rcol.data) %][% ELSE %][% rcol.data %][% END %]</td>
   [%- END %]
  [%- END %]
  [%- FOREACH hidden = row.hiddens %]
index 01185cc..7490426 100644 (file)
@@ -22,6 +22,7 @@
   <input name="eur" type="hidden" value="[% HTML.escape(eur) %]">
   <input name="language_values" type="hidden" value="[% HTML.escape(language_values) %]">
   <input name="original_partnumber" type="hidden" value="[% HTML.escape(original_partnumber) %]">
+  <input name="currow" type="hidden" value="[% HTML.escape(currow) %]">
 
   <ul id="maintab" class="shadetabs">
    <li class="selected"><a href="#" rel="master_data">[% 'Basic Data' | $T8 %]</a></li>
             <table>
              <tr>
               <th align="left">[% 'Part Notes' | $T8 %]</th>
-              [%- UNLESS is_service %]
               <th align="left">[% 'Formula' | $T8 %]</th>
-              [%- END %]
              </tr>
              <tr>
               <td>
                <textarea name="notes" rows="[% HTML.escape(notes_rows) %]" cols="45" wrap="soft">[% HTML.escape(notes) %]</textarea>
               </td>
-              [%- UNLESS is_service %]
               <td>
                <ilayer>
                 <layer onmouseover="this.T_STICKY=true;this.T_STATIC=true;return escape('[% 'The formula needs the following syntax:<br>For regular article:<br>Variablename= Variable Unit;<br>Variablename2= Variable2 Unit2;<br>...<br>###<br>Variable + ( Variable2 / Variable )<br><b>Please be beware of the spaces in the formula</b><br>' | $T8 %]')">
                  <textarea name="formel" rows="[% HTML.escape(notes_rows) %]" cols="30" wrap="soft">[% HTML.escape(formel) %]</textarea></layer></ilayer>
                </td>
-              [%- END %]
              </tr>
             </table>
            </td>
             [% HTML.escape(defaults.weightunit) %]
            </td>
           </tr>
-        [%- END %]
           <tr>
            <th align="right" nowrap>[% 'On Hand' | $T8 %]</th>
            <th align="left" nowrap class="plus[% IF onhand > 0 %]1[% ELSE %]0[% END %]">&nbsp;[% LxERP.format_amount(onhand) %]</th>
            <th align="right" nowrap="true">[% 'Bin' | $T8 %]</th>
            <td><input name="bin" size="10" value="[% HTML.escape(bin) %]"></td>
           </tr>
+        [%- END %]
           <tr>
            <th align="right" nowrap="true">[% 'Verrechnungseinheit' | $T8 %]</th>
            <td><input name="ve" size="10" value="[% HTML.escape(ve) %]"></td>
            <td><input name="obsolete" id="obsolete" type="checkbox" class="checkbox" value="1" [% IF obsolete %]checked[% END %]></td>
           </tr>
         [%- END %]
+        [%- UNLESS is_service %]
           <tr>
            <th align="right" nowrap><label for="has_sernumber">[% 'Has serial number' | $T8 %]</label></th>
            <td><input class="checkbox" type="checkbox" name="has_sernumber" id="has_sernumber" value="1" [% IF has_sernumber %]checked[% END %]></td>
           </tr>
+        [%- END %]
           <tr>
            <th align="right" nowrap><label for="shop">[% 'Shopartikel' | $T8 %]</label></th>
            <td><input class="checkbox" type="checkbox" name="shop" id="shop" value="1" [% IF shop %]checked[% END %]></td>
     </tr>
 
 
-    [% UNLESS is_service %]
     <tr>
      <td>
       <table>
       </table>
      </td>
     </tr>
-    [%- END %]
 
     <script type="text/javascript">
      <!-- Calendar.setup({ inputField : "priceupdate", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger1" }); //-->
index ffdf29b..8379e15 100644 (file)
         <input name="itemstatus" id="itemstatus_active" class="radio" type="radio" value="active" checked>
         <label for="itemstatus_active">[% 'Active' | $T8 %]</label>
         <input name="itemstatus" id="itemstatus_onhand" class="radio" type="radio" value="onhand">
+      [%- UNLESS is_service %]
         <label for="itemstatus_onhand">[% 'On Hand' | $T8 %]</label>
         <input name="itemstatus" id="itemstatus_short" class="radio" type="radio" value="short">
         <label for="itemstatus_short">[% 'Short' | $T8 %]</label>
         <input name="itemstatus" id="itemstatus_obsolete" class="radio" type="radio" value="obsolete">
+      [%- END %]
         <label for="itemstatus_obsolete">[% 'Obsolete' | $T8 %]</label>
         <input name="itemstatus" id="itemstatus_orphaned" class="radio" type="radio" value="orphaned">
         <label for="itemstatus_orphaned">[% 'Orphaned' | $T8 %]</label>
            <input name="l_description" id="l_description" class="checkbox" type="checkbox" value="Y" checked>
            <label for="l_description">[% 'Part Description' | $T8 %]</label>
           </td>
+      [%- UNLESS is_service %]
           <td>
            <input name="l_serialnumber" id="l_serialnumber" class="checkbox" type="checkbox" value="Y">
            <label for="l_serialnumber">[% 'Serial Number' | $T8 %]</label>
           </td>
+      [%- END %]
           <td>
            <input name="l_unit" id="l_unit" class="checkbox" type="checkbox" value="Y" checked>
            <label for="l_unit">[% 'Unit of measure' | $T8 %]</label>
            <input name="l_deliverydate" id="l_deliverydate" class="checkbox" type="checkbox" value="Y">
            <label for="l_deliverydate">[% 'deliverydate' | $T8 %]</label>
           </td>
+      [%- UNLESS is_service %]
           <td>
            <input name="l_rop" id="l_rop" class="checkbox" type="checkbox" value="Y">
            <label for="l_rop">[% 'ROP' | $T8 %]</label>
            <input name="l_weight" id="l_weight" class="checkbox" type="checkbox" value="Y">
            <label for="l_weight">[% 'Weight' | $T8 %]</label>
           </td>
+      [%- END %]
          </tr>
 
          <tr>
          </tr>
 
          <tr>
+      [%- UNLESS is_service %]
           <td>
            <input name="l_onhand" id="l_onhand" class="checkbox" type="checkbox" value="Y">
            <label for="l_onhand">[% 'Stocked Qty' | $T8 %]</label>
           </td>
+      [%- END %]
           <td>
            <input name="l_projectnumber" id="l_projectnumber" class="checkbox" type="checkbox" value="Y">
            <label for="l_projectnumber">[% 'Project Number' | $T8 %]</label>
    <input class="submit" type="submit" name="action" value="[% 'TOP100' | $T8 %]">
   </p>
  </form>
-
index b2732a7..06350ea 100644 (file)
@@ -96,7 +96,7 @@
     <input class="submit" type="submit" name="action" value="[% 'Storno' | $T8 %]">
 [% END %]
     <input class="submit" type="submit" name="action" value="[% 'Post Payment' | $T8 %]">
-    <input class="submit" type="submit" name="action" value="[% 'Use As Template' | $T8 %]">
+    <input class="submit" type="submit" name="action" value="[% 'Use As New' | $T8 %]">
 
 [% IF show_delete %]
     <input class="submit" type="submit" name="action" value="[% 'Delete' | $T8 %]">
 <input type="hidden" name="vendor_discount" value="[% vendor_discount %]">
 
 </form>
-
-
index ee093dc..deccd79 100644 (file)
     <input class="submit" type="submit" name="action" value="[% 'Storno' | $T8 %]">
 [% END %]
     <input class="submit" type="submit" name="action" value="[% 'Post Payment' | $T8 %]">
-    <input class="submit" type="submit" name="action" value="[% 'Use As Template' | $T8 %]">
+    <input class="submit" type="submit" name="action" value="[% 'Use As New' | $T8 %]">
 
 [% IF id && !is_type_credit_note %]
     <input class="submit" type="submit" name="action" value="[% 'Credit Note' | $T8 %]">
 <input type="hidden" name="customer_discount" value="[% customer_discount %]">
 <input type="hidden" name="gldate" value="[% gldate %]">
 </form>
-
-
index 08776e7..7ed49cf 100644 (file)
@@ -5,7 +5,7 @@
    <tr>
     <td class="login" align="center">
      <a href="http://www.kivitendo.de" target="_top"><img src="image/kivitendo.png" border="0"></a>
-     <h3 class="login" align="center">[% 'kivitendo' | $T8 %] [% version %]</h3>
+     <h1>[% 'kivitendo' | $T8 %] [% version %]</h1>
 
      [% IF error %]
      <p><span class="message_error_login">[% error %]</span></p>
index 4c51b66..e92a83d 100644 (file)
@@ -15,7 +15,7 @@ $(clockon);
 
  <script type="text/javascript" src="js/dhtmlsuite/menu-for-applications.js"></script>
 
- <table class="menunew">
+ <table id='js-header' class="menunew">
   <tr>
    <td>
     &nbsp;
@@ -38,7 +38,7 @@ $(clockon);
  [%- FOREACH mainitem = menu_items %]
   [%- SET main_id = main_id + 1 %]
   <li id="[% main_id %]"[% IF mainitem.image %] itemIcon="[% mainitem.image %]"[% END %]>
-   <a href="[% IF mainitem.href %][% mainitem.href %][% ELSE %]#[% END %]">
+   <a href="[% IF mainitem.href %][% mainitem.href %][% ELSE %]#[% END %]"[% IF mainitem.target && (mainitem.target != 'main_window') %] target="[% HTML.escape(mainitem.target) %]"[% END %]>
     [%- HTML.escape(mainitem.title) %]
    </a>
    [%- IF mainitem.subitems %]
@@ -47,7 +47,7 @@ $(clockon);
      [%- FOREACH sub1item = mainitem.subitems %]
       [%- SET sub1_id = sub1_id + 1 %]
       <li id="[% sub1_id %]"[% IF sub1item.image %] itemIcon="[% sub1item.image %]"[% END %]>
-       <a href="[% IF sub1item.href %][% sub1item.href %][% ELSE %]#[% END %]">
+       <a href="[% IF sub1item.href %][% sub1item.href %][% ELSE %]#[% END %]"[% IF sub1item.target && (sub1item.target != 'main_window') %] target="[% HTML.escape(sub1item.target) %]"[% END %]>
         [%- HTML.escape(sub1item.title) %]
        </a>
        [%- IF sub1item.subitems %]
@@ -56,7 +56,7 @@ $(clockon);
          [%- FOREACH sub2item = sub1item.subitems %]
           [%- SET sub2_id = sub2_id + 1 %]
           <li id="[% sub2_id %]"[% IF sub2item.image %] itemIcon="[% sub2item.image %]"[% END %]>
-           <a href="[% IF sub2item.href %][% sub2item.href %][% ELSE %]#[% END %]">
+           <a href="[% IF sub2item.href %][% sub2item.href %][% ELSE %]#[% END %]"[% IF sub2item.target && (sub2item.target != 'main_window') %] target="[% HTML.escape(sub2item.target) %]"[% END %]>
             [%- HTML.escape(sub2item.title) %]
            </a>
           </li>
diff --git a/templates/webpages/menu/menuv4.html b/templates/webpages/menu/menuv4.html
deleted file mode 100644 (file)
index a24b637..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-[%- USE T8 %]
-[%- USE HTML %]
- <div id="menuv4">
-  [% menu %]
- </div>
- <div style="clear: both;"></div>
-
- <script type="text/javascript">
-<!--
-function clockon() {
-  var now = new Date();
-  var h = now.getHours();
-  var m = now.getMinutes();
-  document.getElementById('clock_id').innerHTML = (h<10?'0'+h:h)+":"+(m<10?'0'+m:m);
-  var timer=setTimeout("clockon()", 10000);
-}
-$(clockon);
-//-->
- </script>