Merge branch 'master' of github.com:kivitendo/kivitendo-erp
authorJan Büren <jan@kivitendo-premium.de>
Thu, 9 Jan 2014 11:47:36 +0000 (12:47 +0100)
committerJan Büren <jan@kivitendo-premium.de>
Thu, 9 Jan 2014 11:47:36 +0000 (12:47 +0100)
51 files changed:
SL/AR.pm
SL/CA.pm
SL/CP.pm
SL/CT.pm
SL/Controller/CustomerVendor.pm
SL/Controller/DeliveryPlan.pm
SL/Controller/Project.pm
SL/DB/Helper/TransNumberGenerator.pm
SL/DB/MetaSetup/Customer.pm
SL/DB/MetaSetup/SepaExportItem.pm
SL/DB/MetaSetup/Vendor.pm
SL/DN.pm
SL/DO.pm
SL/Form.pm
SL/IC.pm
SL/IR.pm
SL/IS.pm
SL/OE.pm
SL/SEPA.pm
SL/SEPA/XML.pm
bin/mozilla/arap.pl
bin/mozilla/cp.pl
bin/mozilla/do.pl
bin/mozilla/io.pl
bin/mozilla/is.pl
bin/mozilla/oe.pl
bin/mozilla/rp.pl
bin/mozilla/sepa.pl
css/kivitendo/bwa.css [new file with mode: 0644]
js/kivi.CustomerVendor.js
locale/de/all
sql/Austria-chart.sql [deleted file]
sql/Pg-upgrade2-auth/delivery_plan_rights.pl
sql/Pg-upgrade2/add_customer_mandator_id.sql [new file with mode: 0644]
sql/Pg-upgrade2/add_depositor_for_customer_vendor.sql [new file with mode: 0644]
sql/Pg-upgrade2/fix_datepaid_for_sepa_transfers.sql [new file with mode: 0644]
templates/print/RB/bwa.html [deleted file]
templates/print/Standard/bwa.html [deleted file]
templates/print/f-tex/bwa.html [deleted file]
templates/webpages/am/edit_price_factor.html
templates/webpages/customer_vendor/form.html
templates/webpages/customer_vendor/tabs/bank.html [new file with mode: 0644]
templates/webpages/customer_vendor/tabs/billing.html
templates/webpages/is/form_footer.html
templates/webpages/layout/javascript_setup.js
templates/webpages/project/form.html
templates/webpages/rp/bwa.html [new file with mode: 0644]
templates/webpages/rp/income_statement.html
templates/webpages/sepa/bank_transfer_add.html
templates/webpages/sepa/bank_transfer_create.html
templates/webpages/sepa/bank_transfer_edit.html

index c52a00f..3da550d 100644 (file)
--- a/SL/AR.pm
+++ b/SL/AR.pm
@@ -40,6 +40,7 @@ use SL::DBUtils;
 use SL::IO;
 use SL::MoreCommon;
 use SL::DB::Default;
+use SL::TransNumber;
 
 use strict;
 
@@ -136,7 +137,10 @@ sub post_transaction {
       ($form->{id}) = selectrow_query($form, $dbh, $query);
       $query = qq|INSERT INTO ar (id, invnumber, employee_id, currency_id) VALUES (?, 'dummy', ?, (SELECT id FROM currencies WHERE name=?))|;
       do_query($form, $dbh, $query, $form->{id}, $form->{employee_id}, $form->{currency});
-      $form->{invnumber} = $form->update_defaults($myconfig, "invnumber", $dbh) unless $form->{invnumber};
+      if (!$form->{invnumber}) {
+        my $trans_number   = SL::TransNumber->new(type => 'invoice', dbh => $dbh, number => $form->{partnumber}, id => $form->{id});
+        $form->{invnumber} = $trans_number->create_unique;
+      }
     }
   }
 
@@ -800,4 +804,3 @@ sub storno {
 
 
 1;
-
index cee8316..983f9bd 100644 (file)
--- a/SL/CA.pm
+++ b/SL/CA.pm
@@ -366,8 +366,8 @@ sub all_transactions {
   }
 
   my $sort = grep({ $form->{sort} eq $_ } qw(transdate reference description)) ? $form->{sort} : 'transdate';
-
-  $query .= qq|ORDER BY $sort|;
+  my $sort2 = ($sort eq 'reference')?'transdate':'reference';
+  $query .= qq|ORDER BY $sort , $sort2 |;
   my $sth = prepare_execute_query($form, $dbh, $query, @values);
 
   #get detail information for each transaction
index 29ac35a..e2b9f48 100644 (file)
--- a/SL/CP.pm
+++ b/SL/CP.pm
@@ -148,15 +148,22 @@ sub get_openinvoices {
   my $buysell = $form->{vc} eq 'customer' ? "buy" : "sell";
   my $arap = $form->{arap} eq "ar" ? "ar" : "ap";
 
+  my @values = (conv_i($form->{"${vc}_id"}), "$form->{currency}");
+  my $whereinvoice = '';
+  if ($::form->{invnumber}) {
+    $whereinvoice = ' AND a.invnumber LIKE ? ';
+    push @values, $::form->{invnumber};
+  }
+
   my $query =
      qq|SELECT a.id, a.invnumber, a.transdate, a.amount, a.paid, cu.name AS curr | .
      qq|FROM $arap a | .
      qq|LEFT JOIN currencies cu ON (cu.id=a.currency_id)| .
      qq|WHERE (a.${vc}_id = ?) AND cu.name = ? AND NOT (a.amount = a.paid)| .
+     $whereinvoice .
      qq|ORDER BY a.id|;
-  my $sth = prepare_execute_query($form, $dbh, $query,
-                                  conv_i($form->{"${vc}_id"}),
-                                  "$form->{currency}");
+
+  my $sth = prepare_execute_query($form, $dbh, $query, @values);
 
   $form->{PR} = [];
   while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
index b7ae9a5..fa1f914 100644 (file)
--- a/SL/CT.pm
+++ b/SL/CT.pm
@@ -308,7 +308,8 @@ sub get_bank_info {
   my $table        = $params{vc} eq 'customer' ? 'customer' : 'vendor';
   my @ids          = ref $params{id} eq 'ARRAY' ? @{ $params{id} } : ($params{id});
   my $placeholders = join ", ", ('?') x scalar @ids;
-  my $query        = qq|SELECT id, name, account_number, bank, bank_code, iban, bic
+  my $c_mandate    = $params{vc} eq 'customer' ? ', mandator_id, mandate_date_of_signature' : '';
+  my $query        = qq|SELECT id, name, account_number, bank, bank_code, iban, bic ${c_mandate}
                         FROM ${table}
                         WHERE id IN (${placeholders})|;
 
index e5cb556..dcb8b2d 100644 (file)
@@ -6,6 +6,7 @@ use parent qw(SL::Controller::Base);
 use SL::JSON;
 use SL::DBUtils;
 use SL::Helper::Flash;
+use SL::Locale::String;
 
 use SL::DB::Customer;
 use SL::DB::Vendor;
@@ -28,7 +29,6 @@ __PACKAGE__->run_before(
     $::auth->assert('customer_vendor_edit');
   }
 );
-
 __PACKAGE__->run_before(
   '_instantiate_args',
   only => [
@@ -62,6 +62,9 @@ __PACKAGE__->run_before(
   ]
 );
 
+__PACKAGE__->run_before('normalize_name');
+
+
 sub action_add {
   my ($self) = @_;
 
@@ -167,34 +170,34 @@ sub _save {
 sub action_save {
   my ($self) = @_;
 
-  my $pattern = '[ \t\n\r]+';
-  my $name = $self->{cv}->name;
-  $name =~ s/^$pattern//;
-  $name =~ s/$pattern$//;
-  $name =~ s/$pattern/ /g;
-  if ( $name eq '' ) {
-    $::form->dberror( $::locale->text('Customer missing!') );
+  if (!$self->{cv}->name) {
+    flash('error', t8('Customer missing!'));
+    $self->_pre_render();
+    $self->render(
+      'customer_vendor/form',
+      title => ($self->is_vendor() ? t8('Edit Vendor') : t8('Edit Customer')),
+      %{$self->{template_args}}
+    );
   } else {
-    $self->{cv}->name($name);
-  }
 
-  $self->_save();
+    $self->_save();
 
-  my @redirect_params = (
-    action => 'edit',
-    id     => $self->{cv}->id,
-    db     => ($self->is_vendor() ? 'vendor' : 'customer'),
-  );
+    my @redirect_params = (
+      action => 'edit',
+      id     => $self->{cv}->id,
+      db     => ($self->is_vendor() ? 'vendor' : 'customer'),
+    );
 
-  if ( $self->{contact}->cp_id ) {
-    push(@redirect_params, contact_id => $self->{contact}->cp_id);
-  }
+    if ( $self->{contact}->cp_id ) {
+      push(@redirect_params, contact_id => $self->{contact}->cp_id);
+    }
 
-  if ( $self->{shipto}->shipto_id ) {
-    push(@redirect_params, shipto_id => $self->{shipto}->shipto_id);
-  }
+    if ( $self->{shipto}->shipto_id ) {
+      push(@redirect_params, shipto_id => $self->{shipto}->shipto_id);
+    }
 
-  $self->redirect_to(@redirect_params);
+    $self->redirect_to(@redirect_params);
+  }
 }
 
 sub action_save_and_close {
@@ -859,4 +862,15 @@ sub _pre_render {
   $::request->{layout}->add_javascripts('kivi.CustomerVendor.js');
 }
 
+sub normalize_name {
+  my ($self) = @_;
+
+  return unless $self->{cv};
+  my $name = $self->{cv}->name;
+  $name =~ s/\s+$//;
+  $name =~ s/^\s+//;
+  $name =~ s/\s+/ /g;
+  $self->{cv}->name($name);
+}
+
 1;
index ebf6fa6..fc402fc 100644 (file)
@@ -179,24 +179,45 @@ sub delivery_plan_query {
 
     UNION ALL
 
-    -- 5. In case someone deleted a line of the delivery_order there will be a record_link (4 fails)
-    --    but there won't be a delivery_order_items to find (3 fails too). Search for orphaned orderitems this way
-    SELECT oi.id FROM orderitems AS oi, oe, record_links AS rl
-    WHERE
-      rl.from_table = 'oe' AND
-      rl.to_table = 'delivery_orders' AND
+    -- 5. now for the really nasty cases.
+    --    If someone partially delivered an order in several delivery orders,
+    --    there will be lots of record_links (4 doesn't catch those) but those
+    --    won't have matching part_ids in delivery_order_items, so 1-3 can't
+    --    find anything
+    --    In this case aggreg record_links - delivery_order - delivery_order_items
+    --    slice only oe.id, parts_id and sum of of qty
+    --    left join that onto orderitems to get matching qtys in doi while retaining
+    --    entrys without matches and then throw out those without record_links
+    --    TODO: join this and 1-3 into a general case
+                  -- need debug info? uncomment these:
+    SELECT oi.id  -- ,oi.trans_id, oi.parts_id, coalesce(sum, 0), agg.parts_id
+    FROM orderitems oi LEFT JOIN (
+      SELECT rl.from_id as oid, doi.parts_id, sum(doi.qty) FROM (
+        SELECT from_id, to_id
+        FROM record_links rl
+        LEFT JOIN oe ON oe.id = from_id
+        WHERE
+          rl.from_table = 'oe' AND
+          rl.to_table = 'delivery_orders' AND
 
-      oi.trans_id = rl.from_id AND
-      oi.parts_id NOT IN (
-        SELECT doi.parts_id FROM delivery_order_items AS doi WHERE doi.delivery_order_id = rl.to_id
+          oe.customer_id IS NOT NULL AND
+          $oe_owner
+          (oe.quotation = 'f' OR oe.quotation IS NULL) AND NOT oe.closed
+      ) rl
+      LEFT JOIN delivery_order_items doi ON (rl.to_id = doi.delivery_order_id)
+      GROUP BY rl.from_id, doi.parts_id
+    ) agg ON (agg.oid = oi.trans_id AND agg.parts_id = oi.parts_id)
+    LEFT JOIN oe ON oe.id = oi.trans_id
+    WHERE
+      EXISTS (
+        SELECT to_id
+        FROM record_links rl
+        WHERE oi.trans_id = rl.from_id AND rl.from_table = 'oe' AND rl.to_table = 'delivery_orders'
       ) AND
-
-      oe.id = oi.trans_id AND
-
+      coalesce(sum, 0) < oi.qty AND
       oe.customer_id IS NOT NULL AND
-      (oe.quotation = 'f' OR oe.quotation IS NULL) AND
       $oe_owner
-      NOT oe.closed
+      (oe.quotation = 'f' OR oe.quotation IS NULL) AND NOT oe.closed
   " ],
   ]
 }
index 23e5228..e47b06e 100644 (file)
@@ -126,6 +126,13 @@ sub display_form {
   $params{ALL_CUSTOMERS}     = SL::DB::Manager::Customer->get_all_sorted(where => [ or => [ obsolete => 0, obsolete => undef, id => $self->project->customer_id ]]);
   $params{ALL_PROJECT_TYPES} = SL::DB::Manager::ProjectType->get_all_sorted;
   $params{CUSTOM_VARIABLES}  = CVar->get_custom_variables(module => 'Projects', trans_id => $self->project->id);
+
+  if ($params{keep_cvars}) {
+    for my $cvar (@{ $params{CUSTOM_VARIABLES} }) {
+      $cvar->{value} = $::form->{"cvar_$cvar->{name}"} if $::form->{"cvar_$cvar->{name}"};
+    }
+  }
+
   CVar->render_inputs(variables => $params{CUSTOM_VARIABLES}) if @{ $params{CUSTOM_VARIABLES} };
 
   $self->render('project/form', %params);
@@ -144,7 +151,8 @@ sub create_or_update {
   if (@errors) {
     flash('error', @errors);
     $self->display_form(title    => $is_new ? $::locale->text('Create a new project') : $::locale->text('Edit project'),
-                        callback => $::form->{callback});
+                        callback => $::form->{callback},
+                        keep_cvars => 1);
     return;
   }
 
index cc5fc32..b4e4e49 100644 (file)
@@ -22,18 +22,18 @@ sub parts_scoping {
   SL::DB::Manager::Part->type_filter($_[0]);
 }
 
-my %specs = ( ar                      => { number_column => 'invnumber',                                                                        fill_holes_in_range => 1 },
-              sales_quotation         => { number_column => 'quonumber',      number_range_column => 'sqnumber',       scoping => \&oe_scoping,                          },
-              sales_order             => { number_column => 'ordnumber',      number_range_column => 'sonumber',       scoping => \&oe_scoping,                          },
-              request_quotation       => { number_column => 'quonumber',      number_range_column => 'rfqnumber',      scoping => \&oe_scoping,                          },
-              purchase_order          => { number_column => 'ordnumber',      number_range_column => 'ponumber',       scoping => \&oe_scoping,                          },
-              sales_delivery_order    => { number_column => 'donumber',       number_range_column => 'sdonumber',      scoping => \&do_scoping, fill_holes_in_range => 1 },
-              purchase_delivery_order => { number_column => 'donumber',       number_range_column => 'pdonumber',      scoping => \&do_scoping, fill_holes_in_range => 1 },
-              customer                => { number_column => 'customernumber', number_range_column => 'customernumber',                                                   },
-              vendor                  => { number_column => 'vendornumber',   number_range_column => 'vendornumber',                                                     },
-              part                    => { number_column => 'partnumber',     number_range_column => 'articlenumber',  scoping => \&parts_scoping                        },
-              service                 => { number_column => 'partnumber',     number_range_column => 'servicenumber',  scoping => \&parts_scoping                        },
-              assembly                => { number_column => 'partnumber',     number_range_column => 'assemblynumber', scoping => \&parts_scoping                        },
+my %specs = ( ar                      => { number_column => 'invnumber',                                                                           },
+              sales_quotation         => { number_column => 'quonumber',      number_range_column => 'sqnumber',       scoping => \&oe_scoping,    },
+              sales_order             => { number_column => 'ordnumber',      number_range_column => 'sonumber',       scoping => \&oe_scoping,    },
+              request_quotation       => { number_column => 'quonumber',      number_range_column => 'rfqnumber',      scoping => \&oe_scoping,    },
+              purchase_order          => { number_column => 'ordnumber',      number_range_column => 'ponumber',       scoping => \&oe_scoping,    },
+              sales_delivery_order    => { number_column => 'donumber',       number_range_column => 'sdonumber',      scoping => \&do_scoping,    },
+              purchase_delivery_order => { number_column => 'donumber',       number_range_column => 'pdonumber',      scoping => \&do_scoping,    },
+              customer                => { number_column => 'customernumber', number_range_column => 'customernumber',                             },
+              vendor                  => { number_column => 'vendornumber',   number_range_column => 'vendornumber',                               },
+              part                    => { number_column => 'partnumber',     number_range_column => 'articlenumber',  scoping => \&parts_scoping, },
+              service                 => { number_column => 'partnumber',     number_range_column => 'servicenumber',  scoping => \&parts_scoping, },
+              assembly                => { number_column => 'partnumber',     number_range_column => 'assemblynumber', scoping => \&parts_scoping, },
             );
 
 sub get_next_trans_number {
@@ -46,7 +46,7 @@ sub get_next_trans_number {
   my $number              = $self->$number_column;
   my $number_range_column = $spec->{number_range_column} || $number_column;
   my $scoping_conditions  = $spec->{scoping};
-  my $fill_holes_in_range = $spec->{fill_holes_in_range};
+  my $fill_holes_in_range = !$spec->{keep_holes_in_range};
 
   return $number if $self->id && $number;
 
@@ -139,8 +139,7 @@ prefix, if present, will be kept intact.
 Now the number itself is increased as often as neccessary to create a
 unique one by comparing the generated numbers with the existing ones
 retrieved in the first step. In this step gaps in the assigned numbers
-are filled for some tables (e.g. invoices) but not for others
-(e.g. sales orders).
+are filled for all currently supported tables.
 
 After creating the unique record number this function can update
 C<$self> and the C<defaults> table if requested. This is controlled
index 2d5a155..0f523a4 100644 (file)
@@ -9,52 +9,55 @@ use base qw(SL::DB::Object);
 __PACKAGE__->meta->table('customer');
 
 __PACKAGE__->meta->columns(
-  account_number      => { type => 'text' },
-  bank                => { type => 'text' },
-  bank_code           => { type => 'text' },
-  bcc                 => { type => 'text' },
-  bic                 => { type => 'varchar', length => 100 },
-  business_id         => { type => 'integer' },
-  c_vendor_id         => { type => 'text' },
-  cc                  => { type => 'text' },
-  city                => { type => 'varchar', length => 75 },
-  contact             => { type => 'text' },
-  country             => { type => 'varchar', length => 75 },
-  creditlimit         => { type => 'numeric', default => '0', precision => 5, scale => 15 },
-  currency_id         => { type => 'integer', not_null => 1 },
-  customernumber      => { type => 'text' },
-  delivery_term_id    => { type => 'integer' },
-  department_1        => { type => 'varchar', length => 75 },
-  department_2        => { type => 'varchar', length => 75 },
-  direct_debit        => { type => 'boolean', default => 'false' },
-  discount            => { type => 'float', precision => 4 },
-  email               => { type => 'text' },
-  fax                 => { type => 'varchar', length => 30 },
-  greeting            => { type => 'text' },
-  homepage            => { type => 'text' },
-  iban                => { type => 'varchar', length => 100 },
-  id                  => { type => 'integer', not_null => 1, sequence => 'id' },
-  itime               => { type => 'timestamp', default => 'now()' },
-  klass               => { type => 'integer', default => '0' },
-  language            => { type => 'varchar', length => 5 },
-  language_id         => { type => 'integer' },
-  mtime               => { type => 'timestamp' },
-  name                => { type => 'text', not_null => 1 },
-  notes               => { type => 'text' },
-  obsolete            => { type => 'boolean', default => 'false' },
-  payment_id          => { type => 'integer' },
-  phone               => { type => 'text' },
-  salesman_id         => { type => 'integer' },
-  street              => { type => 'varchar', length => 75 },
-  taxincluded         => { type => 'boolean' },
-  taxincluded_checked => { type => 'boolean' },
-  taxnumber           => { type => 'text' },
-  taxzone_id          => { type => 'integer', default => '0', not_null => 1 },
-  terms               => { type => 'integer', default => '0' },
-  user_password       => { type => 'text' },
-  username            => { type => 'varchar', length => 50 },
-  ustid               => { type => 'text' },
-  zipcode             => { type => 'varchar', length => 10 },
+  account_number            => { type => 'text' },
+  bank                      => { type => 'text' },
+  bank_code                 => { type => 'text' },
+  bcc                       => { type => 'text' },
+  bic                       => { type => 'varchar', length => 100 },
+  business_id               => { type => 'integer' },
+  c_vendor_id               => { type => 'text' },
+  cc                        => { type => 'text' },
+  city                      => { type => 'varchar', length => 75 },
+  contact                   => { type => 'text' },
+  country                   => { type => 'varchar', length => 75 },
+  creditlimit               => { type => 'numeric', default => '0', precision => 5, scale => 15 },
+  currency_id               => { type => 'integer', not_null => 1 },
+  customernumber            => { type => 'text' },
+  delivery_term_id          => { type => 'integer' },
+  department_1              => { type => 'varchar', length => 75 },
+  department_2              => { type => 'varchar', length => 75 },
+  depositor                 => { type => 'text' },
+  direct_debit              => { type => 'boolean', default => 'false' },
+  discount                  => { type => 'float', precision => 4 },
+  email                     => { type => 'text' },
+  fax                       => { type => 'varchar', length => 30 },
+  greeting                  => { type => 'text' },
+  homepage                  => { type => 'text' },
+  iban                      => { type => 'varchar', length => 100 },
+  id                        => { type => 'integer', not_null => 1, sequence => 'id' },
+  itime                     => { type => 'timestamp', default => 'now()' },
+  klass                     => { type => 'integer', default => '0' },
+  language                  => { type => 'varchar', length => 5 },
+  language_id               => { type => 'integer' },
+  mandate_date_of_signature => { type => 'date' },
+  mandator_id               => { type => 'text' },
+  mtime                     => { type => 'timestamp' },
+  name                      => { type => 'text', not_null => 1 },
+  notes                     => { type => 'text' },
+  obsolete                  => { type => 'boolean', default => 'false' },
+  payment_id                => { type => 'integer' },
+  phone                     => { type => 'text' },
+  salesman_id               => { type => 'integer' },
+  street                    => { type => 'varchar', length => 75 },
+  taxincluded               => { type => 'boolean' },
+  taxincluded_checked       => { type => 'boolean' },
+  taxnumber                 => { type => 'text' },
+  taxzone_id                => { type => 'integer', default => '0', not_null => 1 },
+  terms                     => { type => 'integer', default => '0' },
+  user_password             => { type => 'text' },
+  username                  => { type => 'varchar', length => 50 },
+  ustid                     => { type => 'text' },
+  zipcode                   => { type => 'varchar', length => 10 },
 );
 
 __PACKAGE__->meta->primary_key_columns([ 'id' ]);
index 08dd06e..f2b325d 100644 (file)
@@ -9,21 +9,25 @@ use base qw(SL::DB::Object);
 __PACKAGE__->meta->table('sepa_export_items');
 
 __PACKAGE__->meta->columns(
-  amount                   => { type => 'numeric', precision => 5, scale => 25 },
-  ap_id                    => { type => 'integer' },
-  ar_id                    => { type => 'integer' },
-  chart_id                 => { type => 'integer', not_null => 1 },
-  end_to_end_id            => { type => 'varchar', length => 35 },
-  executed                 => { type => 'boolean', default => 'false' },
-  execution_date           => { type => 'date' },
-  id                       => { type => 'integer', not_null => 1, sequence => 'id' },
-  our_bic                  => { type => 'varchar', length => 100 },
-  our_iban                 => { type => 'varchar', length => 100 },
-  reference                => { type => 'varchar', length => 35 },
-  requested_execution_date => { type => 'date' },
-  sepa_export_id           => { type => 'integer', not_null => 1 },
-  vc_bic                   => { type => 'varchar', length => 100 },
-  vc_iban                  => { type => 'varchar', length => 100 },
+  amount                       => { type => 'numeric', precision => 5, scale => 25 },
+  ap_id                        => { type => 'integer' },
+  ar_id                        => { type => 'integer' },
+  chart_id                     => { type => 'integer', not_null => 1 },
+  end_to_end_id                => { type => 'varchar', length => 35 },
+  executed                     => { type => 'boolean', default => 'false' },
+  execution_date               => { type => 'date' },
+  id                           => { type => 'integer', not_null => 1, sequence => 'id' },
+  our_bic                      => { type => 'varchar', length => 100 },
+  our_depositor                => { type => 'text' },
+  our_iban                     => { type => 'varchar', length => 100 },
+  reference                    => { type => 'varchar', length => 35 },
+  requested_execution_date     => { type => 'date' },
+  sepa_export_id               => { type => 'integer', not_null => 1 },
+  vc_bic                       => { type => 'varchar', length => 100 },
+  vc_depositor                 => { type => 'text' },
+  vc_iban                      => { type => 'varchar', length => 100 },
+  vc_mandate_date_of_signature => { type => 'date' },
+  vc_mandator_id               => { type => 'text' },
 );
 
 __PACKAGE__->meta->primary_key_columns([ 'id' ]);
index f2988ad..0493aa3 100644 (file)
@@ -24,6 +24,7 @@ __PACKAGE__->meta->columns(
   delivery_term_id => { type => 'integer' },
   department_1     => { type => 'varchar', length => 75 },
   department_2     => { type => 'varchar', length => 75 },
+  depositor        => { type => 'text' },
   direct_debit     => { type => 'boolean', default => 'false' },
   discount         => { type => 'float', precision => 4 },
   email            => { type => 'text' },
index ebfa4f3..38174f9 100644 (file)
--- a/SL/DN.pm
+++ b/SL/DN.pm
@@ -44,6 +44,7 @@ use SL::MoreCommon;
 use SL::Template;
 use SL::DB::Printer;
 use SL::DB::Language;
+use SL::TransNumber;
 
 use strict;
 
@@ -205,6 +206,7 @@ sub create_invoice_for_fees {
 
   my ($ar_id) = selectrow_query($form, $dbh, qq|SELECT nextval('glid')|);
   my $curr = $form->get_default_currency($myconfig);
+  my $trans_number = SL::TransNumber->new(type => 'invoice', dbh => $dbh);
 
   $query =
     qq|INSERT INTO ar (id,          invnumber, transdate, gldate, customer_id,
@@ -235,7 +237,7 @@ sub create_invoice_for_fees {
          (SELECT id FROM employee WHERE login = ?)
        )|;
   @values = ($ar_id,            # id
-             $form->update_defaults($myconfig, 'invnumber', $dbh), # invnumber
+             $trans_number->create_unique, # invnumber
              $dunning_id,       # customer_id
              $amount,
              $amount,
@@ -246,19 +248,21 @@ sub create_invoice_for_fees {
   do_query($form, $dbh, $query, @values);
 
   $query =
-    qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, gldate, taxkey)
-       VALUES (?, ?, ?, current_date, current_date, 0)|;
+    qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, gldate, taxkey, tax_id, chart_link)
+       VALUES (?, ?, ?, current_date, current_date, 0,
+               (SELECT id   FROM tax   WHERE (taxkey = 0) AND (rate = 0)),
+               (SELECT link FROM chart WHERE id = ?))|;
   $sth = prepare_query($form, $dbh, $query);
 
-  @values = ($ar_id, conv_i($form->{AR_amount_fee}), $fee_remaining);
+  @values = ($ar_id, conv_i($form->{AR_amount_fee}), $fee_remaining, conv_i($form->{AR_amount_fee}));
   do_statement($form, $sth, $query, @values);
 
   if ($interest_remaining) {
-    @values = ($ar_id, conv_i($form->{AR_amount_interest}), $interest_remaining);
+    @values = ($ar_id, conv_i($form->{AR_amount_interest}), $interest_remaining, conv_i($form->{AR_amount_interest}));
     do_statement($form, $sth, $query, @values);
   }
 
-  @values = ($ar_id, conv_i($form->{AR}), -1 * $amount);
+  @values = ($ar_id, conv_i($form->{AR}), -1 * $amount, conv_i($form->{AR}));
   do_statement($form, $sth, $query, @values);
 
   $sth->finish();
index 3d4cb23..31b01c4 100644 (file)
--- a/SL/DO.pm
+++ b/SL/DO.pm
@@ -44,6 +44,7 @@ use SL::DB::Status;
 use SL::DBUtils;
 use SL::RecordLinks;
 use SL::IC;
+use SL::TransNumber;
 
 use strict;
 
@@ -224,7 +225,8 @@ sub save {
   my $ic_cvar_configs = CVar->get_configs(module => 'IC',
                                           dbh    => $dbh);
 
-  $form->{donumber}    = $form->update_defaults($myconfig, $form->{type} eq 'sales_delivery_order' ? 'sdonumber' : 'pdonumber', $dbh) unless $form->{donumber};
+  my $trans_number     = SL::TransNumber->new(type => $form->{type}, dbh => $dbh, number => $form->{donumber}, id => $form->{id});
+  $form->{donumber}  ||= $trans_number->create_unique;
   $form->{employee_id} = (split /--/, $form->{employee})[1] if !$form->{employee_id};
   $form->get_employee($dbh) unless ($form->{employee_id});
 
index 9a6bca2..a11b7ad 100644 (file)
@@ -3180,81 +3180,6 @@ sub get_history {
   return 0;
 }
 
-sub update_defaults {
-  $main::lxdebug->enter_sub();
-
-  my ($self, $myconfig, $fld, $provided_dbh) = @_;
-
-  my $dbh;
-  if ($provided_dbh) {
-    $dbh = $provided_dbh;
-  } else {
-    $dbh = $self->dbconnect_noauto($myconfig);
-  }
-  my $query = qq|SELECT $fld FROM defaults FOR UPDATE|;
-  my $sth   = $dbh->prepare($query);
-
-  $sth->execute || $self->dberror($query);
-  my ($var) = $sth->fetchrow_array;
-  $sth->finish;
-
-  $var   = 0 if !defined($var) || ($var eq '');
-  $var   = SL::PrefixedNumber->new(number => $var)->get_next;
-  $query = qq|UPDATE defaults SET $fld = ?|;
-  do_query($self, $dbh, $query, $var);
-
-  if (!$provided_dbh) {
-    $dbh->commit;
-    $dbh->disconnect;
-  }
-
-  $main::lxdebug->leave_sub();
-
-  return $var;
-}
-
-sub update_business {
-  $main::lxdebug->enter_sub();
-
-  my ($self, $myconfig, $business_id, $provided_dbh) = @_;
-
-  my $dbh;
-  if ($provided_dbh) {
-    $dbh = $provided_dbh;
-  } else {
-    $dbh = $self->dbconnect_noauto($myconfig);
-  }
-  my $query =
-    qq|SELECT customernumberinit FROM business
-       WHERE id = ? FOR UPDATE|;
-  my ($var) = selectrow_query($self, $dbh, $query, $business_id);
-
-  return undef unless $var;
-
-  if ($var =~ m/\d+$/) {
-    my $new_var  = (substr $var, $-[0]) * 1 + 1;
-    my $len_diff = length($var) - $-[0] - length($new_var);
-    $var         = substr($var, 0, $-[0]) . ($len_diff > 0 ? '0' x $len_diff : '') . $new_var;
-
-  } else {
-    $var = $var . '1';
-  }
-
-  $query = qq|UPDATE business
-              SET customernumberinit = ?
-              WHERE id = ?|;
-  do_query($self, $dbh, $query, $var, $business_id);
-
-  if (!$provided_dbh) {
-    $dbh->commit;
-    $dbh->disconnect;
-  }
-
-  $main::lxdebug->leave_sub();
-
-  return $var;
-}
-
 sub get_partsgroup {
   $main::lxdebug->enter_sub();
 
@@ -3472,6 +3397,16 @@ sub prepare_for_printing {
     $self->reformat_numbers($output_numberformat, $precision, @{ $field_list });
   }
 
+  $self->{template_meta} = {
+    formname  => $self->{formname},
+    language  => SL::DB::Manager::Language->find_by_or_create(id => $self->{language_id} || undef),
+    format    => $self->{format},
+    media     => $self->{media},
+    extension => $extension,
+    printer   => SL::DB::Manager::Printer->find_by_or_create(id => $self->{printer_id} || undef),
+    today     => DateTime->today,
+  };
+
   return $self;
 }
 
@@ -3591,18 +3526,6 @@ Points of interest for a beginner are:
 
 =head1 SPECIAL FUNCTIONS
 
-=head2 C<update_business> PARAMS
-
-PARAMS (not named):
- \%config,     - config hashref
- $business_id, - business id
- $dbh          - optional database handle
-
-handles business (thats customer/vendor types) sequences.
-
-special behaviour for empty strings in customerinitnumber field:
-will in this case not increase the value, and return undef.
-
 =head2 C<redirect_header> $url
 
 Generates a HTTP redirection header for the new C<$url>. Constructs an
index 3b7eb08..ff8484b 100644 (file)
--- a/SL/IC.pm
+++ b/SL/IC.pm
@@ -461,17 +461,17 @@ sub save {
     my $i = $form->{assembly_rows};
     # if last row is not empty add them
     if ($form->{"partnumber_$i"} ne "") {
-       $query = qq|SELECT id FROM parts WHERE partnumber = ?|;
-       my ($partid) = selectrow_query($form, $dbh, $query,$form->{"partnumber_$i"} );
-       if ( $partid ) {
-           $form->{"qty_$i"} = 1 unless ($form->{"qty_$i"});
-           $form->{"id_$i"} = $partid;
-           $form->{"bom_$i"} = 0;
-           $form->{assembly_rows}++;
-       }
-       else {
-           $::form->error($::locale->text("uncorrect partnumber ").$form->{"partnumber_$i"});
-       }
+      $query = qq|SELECT id FROM parts WHERE partnumber = ?|;
+      my ($partid) = selectrow_query($form, $dbh, $query,$form->{"partnumber_$i"} );
+      if ( $partid ) {
+        $form->{"qty_$i"} = 1 unless ($form->{"qty_$i"});
+        $form->{"id_$i"} = $partid;
+        $form->{"bom_$i"} = 0;
+        $form->{assembly_rows}++;
+      }
+      else {
+        $::form->error($::locale->text("uncorrect partnumber ").$form->{"partnumber_$i"});
+      }
     }
 
     for my $i (1 .. $form->{assembly_rows}) {
index 84ce10a..e5e02f5 100644 (file)
--- a/SL/IR.pm
+++ b/SL/IR.pm
@@ -210,7 +210,7 @@ sub post_invoice {
 
       # update parts table by setting lastcost to current price, don't allow negative values by using abs
       $query = qq|UPDATE parts SET lastcost = ? WHERE id = ?|;
-      @values = (abs($form->{"sellprice_$i"} / $basefactor), conv_i($form->{"id_$i"}));
+      @values = (abs($fxsellprice * $form->{exchangerate} / $basefactor), conv_i($form->{"id_$i"}));
       do_query($form, $dbh, $query, @values);
 
       # check if we sold the item already and
index b00e809..9470f1a 100644 (file)
--- a/SL/IS.pm
+++ b/SL/IS.pm
@@ -50,6 +50,7 @@ use SL::IO;
 use SL::TransNumber;
 use SL::DB::Default;
 use SL::DB::Tax;
+use SL::TransNumber;
 use Data::Dumper;
 
 use strict;
@@ -582,9 +583,8 @@ sub post_invoice {
       do_query($form, $dbh, $query, $form->{"id"}, $form->{"id"}, $form->{currency});
 
       if (!$form->{invnumber}) {
-        $form->{invnumber} =
-          $form->update_defaults($myconfig, $form->{type} eq "credit_note" ?
-                                 "cnnumber" : "invnumber", $dbh);
+        my $trans_number   = SL::TransNumber->new(type => $form->{type}, dbh => $dbh, number => $form->{invnumber}, id => $form->{id});
+        $form->{invnumber} = $trans_number->create_unique;
       }
     }
   }
index 797eb97..3d92746 100644 (file)
--- a/SL/OE.pm
+++ b/SL/OE.pm
@@ -46,6 +46,7 @@ use SL::DB::Status;
 use SL::DB::Tax;
 use SL::DBUtils;
 use SL::IC;
+use SL::TransNumber;
 
 use strict;
 
@@ -314,6 +315,10 @@ sub save {
 
   my $ml = ($form->{type} eq 'sales_order') ? 1 : -1;
 
+  my $number_field         = $form->{type} =~ m{order} ? 'ordnumber' : 'quonumber';
+  my $trans_number         = SL::TransNumber->new(type => $form->{type}, dbh => $dbh, number => $form->{$number_field}, id => $form->{id});
+  $form->{$number_field} ||= $trans_number->create_unique;
+
   if ($form->{id}) {
     $query = qq|DELETE FROM custom_variables
                 WHERE (config_id IN (SELECT id FROM custom_variable_configs WHERE module = 'IC'))
index d31204e..63efe2c 100644 (file)
@@ -19,12 +19,14 @@ sub retrieve_open_invoices {
   my $arap     = $params{vc} eq 'customer' ? 'ar'       : 'ap';
   my $vc       = $params{vc} eq 'customer' ? 'customer' : 'vendor';
 
+  my $mandate  = $params{vc} eq 'customer' ? " AND COALESCE(vc.mandator_id, '') <> '' AND vc.mandate_date_of_signature IS NOT NULL " : '';
+
   my $query =
     qq|
        SELECT ${arap}.id, ${arap}.invnumber, ${arap}.${vc}_id as vc_id, ${arap}.amount AS invoice_amount, ${arap}.invoice,
          vc.name AS vcname, vc.language_id, ${arap}.duedate as duedate, ${arap}.direct_debit,
 
-         COALESCE(vc.iban, '') <> '' AND COALESCE(vc.bic, '') <> '' AS vc_bank_info_ok,
+         COALESCE(vc.iban, '') <> '' AND COALESCE(vc.bic, '') <> '' ${mandate} AS vc_bank_info_ok,
 
          ${arap}.amount - ${arap}.paid - COALESCE(open_transfers.amount, 0) AS open_amount
 
@@ -76,14 +78,16 @@ sub create_export {
 
   my $q_item_id = qq|SELECT nextval('id')|;
   my $h_item_id = prepare_query($form, $dbh, $q_item_id);
+  my $c_mandate = $params{vc} eq 'customer' ? ', vc_mandator_id, vc_mandate_date_of_signature' : '';
+  my $p_mandate = $params{vc} eq 'customer' ? ', ?, ?' : '';
 
   my $q_insert =
     qq|INSERT INTO sepa_export_items (id,          sepa_export_id,           ${arap}_id,  chart_id,
                                       amount,      requested_execution_date, reference,   end_to_end_id,
-                                      our_iban,    our_bic,                  vc_iban,     vc_bic)
+                                      our_iban,    our_bic,                  vc_iban,     vc_bic ${c_mandate})
        VALUES                        (?,           ?,                        ?,           ?,
                                       ?,           ?,                        ?,           ?,
-                                      ?,           ?,                        ?,           ?)|;
+                                      ?,           ?,                        ?,           ? ${p_mandate})|;
   my $h_insert = prepare_query($form, $dbh, $q_insert);
 
   my $q_reference =
@@ -130,6 +134,8 @@ sub create_export {
                   $transfer->{reference},            $end_to_end_id,
                   map { my $pfx = $_; map { $transfer->{"${pfx}_${_}"} } qw(iban bic) } qw(our vc));
 
+    push @values, $transfer->{vc_mandator_id}, conv_date($transfer->{vc_mandate_date_of_signature}) if $params{vc} eq 'customer';
+
     do_statement($form, $h_insert, $q_insert, @values);
   }
 
@@ -177,8 +183,10 @@ sub retrieve_export {
   if ($export->{id}) {
     my ($columns, $joins);
 
+    my $mandator_id = $params{vc} eq 'customer' ? ', mandator_id, mandate_date_of_signature' : '';
+
     if ($params{details}) {
-      $columns = qq|, arap.invnumber, arap.invoice, arap.transdate AS reference_date, vc.name AS vc_name, vc.${vc}number AS vc_number, c.accno AS chart_accno, c.description AS chart_description|;
+      $columns = qq|, arap.invnumber, arap.invoice, arap.transdate AS reference_date, vc.name AS vc_name, vc.${vc}number AS vc_number, c.accno AS chart_accno, c.description AS chart_description ${mandator_id}|;
       $joins   = qq|LEFT JOIN ${arap} arap ON (sei.${arap}_id = arap.id)
                     LEFT JOIN ${vc} vc     ON (arap.${vc}_id  = vc.id)
                     LEFT JOIN chart c      ON (sei.chart_id   = c.id)|;
index 90c77ec..8ccfa83 100644 (file)
@@ -223,8 +223,8 @@ sub to_xml {
         $xml->startTag('DrctDbtTx');
 
         $xml->startTag('MndtRltdInf');
-        $xml->dataElement('MndtId', $self->_restricted_identification_sepa2($transaction->get('company_number')));
-        $xml->dataElement('DtOfSgntr', $transaction->get('reference_date', 2010-12-02));
+        $xml->dataElement('MndtId', $self->_restricted_identification_sepa2($transaction->get('mandator_id')));
+        $xml->dataElement('DtOfSgntr', $self->_restricted_identification_sepa2($transaction->get('date_of_signature')));
         $xml->endTag('MndtRltdInf');
 
         $xml->startTag('CdtrSchmeId');
index 2544986..f56da18 100644 (file)
@@ -61,7 +61,7 @@ sub check_name {
 
   $name = $name eq "customer" ? "customer" : "vendor";
 
-  my ($new_name, $new_id) = split /--/, $form->{$name};
+  my ($new_name,$new_id) = $form->{$name} =~ /^(.*?)--(\d+)$/;
   my $i = 0;
   # if we use a selection
   if ($form->{"select$name"}) {
index b9aed48..7daa888 100644 (file)
@@ -72,9 +72,8 @@ sub payment {
   # für bugfix 1771 (doppelte Leerzeichen werden nicht 'gepostet')
   $form->{"select$form->{vc}"} = "";
 
-  $form->{selectcustomer} .= "<option value=\"\"></option>\n" if $form->{vc} eq "customer";
-
   if ($form->{"all_$form->{vc}"}) {
+    $form->{"select$form->{vc}"} .= "<option value=\"\"></option>\n";
     # s.o. jb 12.10.2010
     $form->{"$form->{vc}_id"} = $form->{"all_$form->{vc}"}->[0]->{id};
     map { $form->{"select$form->{vc}"} .= "<option value=\"$_->{name}--$_->{id}\">$_->{name}--$_->{id}</option>\n" }
@@ -138,7 +137,7 @@ sub form_header {
 
   # sometimes it happens that values in customer arrive without the signs '--'
   # but in order to select the right option field we need values with '--'
-  if ($form->{vc} eq "customer"){
+  if ($form->{vc} eq "customer" && $form->{"all_$form->{vc}"}){
     my ($customername) = split /--/, $form->{ $form->{vc} };
     $form->{ $form->{vc} } = $customername . "--" . $form->{customer_id};
   }
@@ -324,13 +323,13 @@ sub update {
     $updated = &check_name($form->{vc});
   };
 
-  if ($new_name_selected || $updated) {
+  if ($new_name_selected || $updated) {
     # get open invoices from ar/ap using $form->{vc} and a.${vc}_id, i.e. customer_id
     CP->get_openinvoices(\%myconfig, \%$form);
     ($newvc) = split /--/, $form->{ $form->{vc} };
     $form->{"old$form->{vc}"} = qq|$newvc--$form->{"$form->{vc}_id"}|;
     $updated = 1;
-  }
+  }
 
   if ($form->{currency} ne $form->{oldcurrency}) {
     $form->{oldcurrency} = $form->{currency};
index e633b42..776a992 100644 (file)
@@ -38,6 +38,7 @@ use SL::DB::DeliveryOrder;
 use SL::DO;
 use SL::IR;
 use SL::IS;
+use SL::MoreCommon qw(ary_diff);
 use SL::ReportGenerator;
 use SL::WH;
 require "bin/mozilla/arap.pl";
@@ -415,6 +416,12 @@ sub update_delivery_order {
         $form->{"sellprice_$i"}          = $form->format_amount(\%myconfig, $form->{"sellprice_$i"} * (1 - $form->{tradediscount}));
         $form->{"lastcost_$i"}          = $form->format_amount(\%myconfig, $form->{"lastcost_$i"});
         $form->{"qty_$i"}                = $form->format_amount(\%myconfig, $form->{"qty_$i"});
+
+        # get pricegroups for parts
+        IS->get_pricegroups_for_parts(\%myconfig, \%$form);
+
+        # build up html code for prices_$i
+        &set_pricegroup($i);
       }
 
       display_form();
@@ -491,7 +498,7 @@ sub orders {
   my @columns = qw(
     ids                     transdate               reqdate
     id                      donumber
-    ordnumber               customernumber     cusordnumber
+    ordnumber               customernumber          cusordnumber
     name                    employee  salesman
     shipvia                 globalprojectnumber
     transaction_description department
@@ -687,8 +694,8 @@ sub save {
 
   $form->{simple_save} = 1;
   if (!$params{no_redirect} && !$form->{print_and_save}) {
-    set_headings("edit");
-    update();
+    delete @{$form}{ary_diff([keys %{ $form }], [qw(login id script type cursor_fokus)])};
+    edit();
     ::end_of_request();
   }
   $main::lxdebug->leave_sub();
@@ -829,7 +836,7 @@ sub invoice {
     $form->{"sellprice_pg_$i"} = join '--', $form->{"sellprice_$i"}, $form->{"pricegroup_id_$i"};
   }
   IS->get_pricegroups_for_parts(\%myconfig, \%$form);
-  set_pricegroup($_) for 1 .. $form->{rowcount};
+  set_pricegroup($form->{rowcount});
 
   display_form();
 
@@ -1320,6 +1327,8 @@ sub transfer_in {
         $request->{parts_id}  = $form->{"id_$i"};
         $row_sum_base_qty    += $request->{qty} * $units->{$request->{unit}}->{factor} / $base_unit_factor;
 
+        $request->{project_id} = $form->{"project_id_$i"} || $form->{globalproject_id};
+
         push @all_requests, $request;
       }
 
index 0ba1991..413a7f6 100644 (file)
@@ -225,6 +225,10 @@ sub display_row {
       qw(qty discount sellprice lastcost price_new price_old)
         unless ($form->{simple_save});
 
+    if ($form->{"prices_$i"} && ($form->{"new_pricegroup_$i"} != $form->{"old_pricegroup_$i"})) {
+      $form->{"sellprice_$i"} = $form->{"price_new_$i"};
+    }
+
 # unit begin
     $form->{"unit_old_$i"}      ||= $form->{"unit_$i"};
     $form->{"selected_unit_$i"} ||= $form->{"unit_$i"};
@@ -421,7 +425,9 @@ sub display_row {
 
     if ($is_delivery_order) {
       map { $form->{"${_}_${i}"} = $form->format_amount(\%myconfig, $form->{"${_}_${i}"}) } qw(sellprice discount lastcost);
-      push @hidden_vars, qw(sellprice discount not_discountable price_factor_id lastcost pricegroup_id);
+      $form->{"pricegroup_id_$i"} = $form->{"pricegroup_old_$i"} if $form->{"pricegroup_old_$i"};
+      $form->{"sellprice_pg_$i"}  = $form->{"hidden_prices_$i"}  if $form->{"hidden_prices_$i"};
+      push @hidden_vars, grep { defined $form->{"${_}_${i}"} } qw(sellprice discount not_discountable price_factor_id lastcost pricegroup_id sellprice_pg);
       push @hidden_vars, "stock_${stock_in_out}_sum_qty", "stock_${stock_in_out}";
     }
 
@@ -483,6 +489,10 @@ sub set_pricegroup {
       $form->{"sellprice_$j"}      = $item->{price}           if $item->{selected} &&  $item->{pricegroup_id};
       $form->{"price_new_$j"}      = $form->{"sellprice_$j"}  if $item->{selected} || !$item->{pricegroup_id};
     }
+
+    # save hidden pricegroups for delivery_orders
+    next unless my @selected_prices = grep { $_->{selected} } @{ $form->{PRICES}{$j} };
+    $form->{"hidden_prices_$j"} = $selected_prices[-1]{price} . "--" . $selected_prices[-1]{pricegroup_id};
   }
   $main::lxdebug->leave_sub();
 }
@@ -1336,31 +1346,7 @@ sub print_form {
   # $locale->text('Quotation Number missing!')
   # $locale->text('Quotation Date missing!')
 
-  # assign number
   $form->{what_done} = $form->{formname};
-  if (!$form->{"${inv}number"} && !$form->{preview} && !$form->{id}) {
-    $form->{"${inv}number"} = $form->update_defaults(\%myconfig, $numberfld);
-    if ($form->{media} ne 'email') {
-
-      # get pricegroups for parts
-      IS->get_pricegroups_for_parts(\%myconfig, \%$form);
-
-      # build up html code for prices_$i
-      set_pricegroup($form->{rowcount});
-
-      $form->{rowcount}--;
-
-      call_sub($display_form);
-      # saving the history
-      if(!exists $form->{addition}) {
-        $form->{snumbers} = "${inv}number" . "_" . $form->{"${inv}number"};
-        $form->{addition} = "PRINTED";
-        $form->save_history;
-      }
-      # /saving the history
-      ::end_of_request();
-    }
-  }
 
   &validate_items;
 
index d0e5014..ffa7595 100644 (file)
@@ -154,6 +154,7 @@ sub invoice_links {
                         taxincluded currency cp_id intnotes id shipto_id
                         delivery_term_id));
 
+  $form->{shipto} = 1 if $editing || $form->{convert_from_oe_ids} || $form->{convert_from_do_ids};
   IS->get_customer(\%myconfig, \%$form);
 
   #quote all_customer Bug 133
@@ -1023,6 +1024,10 @@ sub yes {
   $main::lxdebug->leave_sub();
 }
 
+sub post_and_e_mail {
+  e_mail();
+};
+
 sub e_mail {
   $main::lxdebug->enter_sub();
 
index 3ee71e6..d4da314 100644 (file)
@@ -441,7 +441,7 @@ sub form_header {
      qw(id action type vc formname media format proforma queued printed emailed
         title creditlimit creditremaining tradediscount business
         max_dunning_level dunning_amount shiptoname shiptostreet shiptozipcode
-        CFDD_shipto shipto_id CFDD_shipto_id shiptocity shiptocountry shiptocontact shiptophone shiptofax
+        CFDD_shipto CFDD_shipto_id shiptocity shiptocountry shiptocontact shiptophone shiptofax
         shiptodepartment_1 shiptodepartment_2 shiptoemail shiptocp_gender
         message email subject cc bcc taxpart taxservice taxaccounts cursor_fokus
         show_details),
@@ -1122,10 +1122,8 @@ sub save_and_close {
 
   }
 
-  # get new number in sequence if no number is given or if saveasnew was requested
-  if (!$form->{$ordnumber} || $form->{saveasnew}) {
-    $form->{$ordnumber} = $form->update_defaults(\%myconfig, $numberfld);
-  }
+  # get new number in sequence if saveasnew was requested
+  delete $form->{$ordnumber} if $form->{saveasnew};
 
   relink_accounts();
 
@@ -1232,10 +1230,6 @@ sub save {
 
   }
 
-  # value of $ordnumber is ordnumber or quonumber
-  $form->{$ordnumber} = $form->update_defaults(\%myconfig, $numberfld)
-    unless $form->{$ordnumber};
-
   relink_accounts();
 
   OE->save(\%myconfig, \%$form);
@@ -1361,8 +1355,7 @@ sub invoice {
     $exchangerate = $form->check_exchangerate(\%myconfig, $form->{currency}, $orddate, $buysell);
 
     if (!$exchangerate) {
-      &backorder_exchangerate($orddate, $buysell);
-      ::end_of_request();
+      $exchangerate = 0;
     }
   }
 
@@ -1453,75 +1446,6 @@ sub invoice {
   $main::lxdebug->leave_sub();
 }
 
-sub backorder_exchangerate {
-  $main::lxdebug->enter_sub();
-
-  my $form     = $main::form;
-  my $locale   = $main::locale;
-
-  check_oe_access();
-
-  my ($orddate, $buysell) = @_;
-
-  $form->header;
-
-  print qq|
-<form method=post action=$form->{script}>
-|;
-
-  # delete action variable
-  map { delete $form->{$_} } qw(action header exchangerate);
-
-  foreach my $key (keys %$form) {
-    next if (($key eq 'login') || ($key eq 'password') || ('' ne ref $form->{$key}));
-    $form->{$key} =~ s/\"/&quot;/g;
-    print qq|<input type=hidden name=$key value="$form->{$key}">\n|;
-  }
-
-  $form->{title} = $locale->text('Add Exchangerate');
-
-  print qq|
-
-<input type=hidden name=exchangeratedate value=$orddate>
-<input type=hidden name=buysell value=$buysell>
-
-<table width=100%>
-  <tr><th class=listtop>$form->{title}</th></tr>
-  <tr height="5"></tr>
-  <tr>
-    <td>
-      <table>
-        <tr>
-          <th align=right>| . $locale->text('Currency') . qq|</th>
-          <td>$form->{currency}</td>
-        </tr>
-        <tr>
-          <th align=right>| . $locale->text('Date') . qq|</th>
-          <td>$orddate</td>
-        </tr>
-        <tr>
-          <th align=right>| . $locale->text('Exchangerate') . qq|</th>
-          <td><input name=exchangerate size=11></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-
-<hr size=3 noshade>
-
-<br>
-<input type=hidden name=nextsub value=save_exchangerate>
-
-<input name=action class=submit type=submit value="|
-    . $locale->text('Continue') . qq|">
-
-</form>
-|;
-
-  $main::lxdebug->leave_sub();
-}
-
 sub save_exchangerate {
   $main::lxdebug->enter_sub();
 
index 302dbc1..8ec6c45 100644 (file)
@@ -1648,10 +1648,6 @@ sub generate_bwa {
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
 
-  my $defaults = SL::DB::Default->get;
-  $form->error($::locale->text('No print templates have been created for this client yet. Please do so in the client configuration.')) if !$defaults->templates;
-  $form->{templates} = $defaults->templates;
-
   $form->{padding} = "&nbsp;&nbsp;";
   $form->{bold}    = "<b>";
   $form->{endbold} = "</b>";
@@ -1839,9 +1835,20 @@ sub generate_bwa {
       . qq| $longtodate|;
   }
 
-  $form->{IN} = "bwa.html";
+  $form->{report_date} = $locale->text('Report date') . ": " . $form->current_date;
 
-  $form->parse_template;
+  if ( $form->{method} eq 'cash' ) {
+    $form->{accounting_method} = $locale->text('Cash accounting');
+  } elsif ( $form->{method} eq 'accrual' ) {
+    $form->{accounting_method} = $locale->text('Accrual accounting');
+  } else {
+    $form->{accounting_method} = "";
+  };
+
+  $form->{title} = $locale->text('BWA');
+
+  $form->header;
+  print $form->parse_html_template('rp/bwa');
 
   $main::lxdebug->leave_sub();
 }
index 2850bfb..6fb9907 100755 (executable)
@@ -1,7 +1,7 @@
 use strict;
 
 use List::MoreUtils qw(any none uniq);
-use List::Util qw(first);
+use List::Util qw(sum first);
 use POSIX qw(strftime);
 
 use SL::BankAccount;
@@ -105,14 +105,19 @@ sub bank_transfer_create {
     $form->error($locale->text('You have selected none of the invoices.'));
   }
 
+  my $total_trans = sum map { $_->{open_amount} } @bank_transfers;
+
   my ($vc_bank_info);
   my $error_message;
 
+  my @bank_columns    = qw(iban bic);
+  push @bank_columns, qw(mandator_id mandate_date_of_signature) if $vc eq 'customer';
+
   if ($form->{confirmation}) {
     $vc_bank_info = { map { $_->{id} => $_ } @{ $form->{vc_bank_info} || [] } };
 
     foreach my $info (values %{ $vc_bank_info }) {
-      if (any { !$info->{$_} } qw(iban bic)) {
+      if (any { !$info->{$_} } @bank_columns) {
         $error_message = $locale->text('The bank information must not be empty.');
         last;
       }
@@ -136,11 +141,12 @@ sub bank_transfer_create {
                                        'bank_account_label' => $bank_account_label_sub,
                                        'error_message'      => $error_message,
                                        'vc'                 => $vc,
+                                       'total_trans'        => $total_trans,
                                      });
 
   } else {
     foreach my $bank_transfer (@bank_transfers) {
-      foreach (qw(iban bic)) {
+      foreach (@bank_columns) {
         $bank_transfer->{"vc_${_}"}  = $vc_bank_info->{ $bank_transfer->{vc_id} }->{$_};
         $bank_transfer->{"our_${_}"} = $bank_account->{$_};
       }
@@ -493,6 +499,7 @@ sub bank_transfer_download_sepa_xml {
 
   foreach my $item (@items) {
     my $requested_execution_date;
+    my $mandator_id;
     if ($item->{requested_execution_date}) {
       my ($yy, $mm, $dd)        = $locale->parse_date($myconfig, $item->{requested_execution_date});
       $requested_execution_date = sprintf '%04d-%02d-%02d', $yy, $mm, $dd;
@@ -501,6 +508,11 @@ sub bank_transfer_download_sepa_xml {
     if ($vc eq 'customer') {
       my ($yy, $mm, $dd)      = $locale->parse_date($myconfig, $item->{reference_date});
       $item->{reference_date} = sprintf '%04d-%02d-%02d', $yy, $mm, $dd;
+      $mandator_id = $item->{mandator_id};
+      if ($item->{mandate_date_of_signature}) {
+        ($yy, $mm, $dd)                    = $locale->parse_date($myconfig, $item->{mandate_date_of_signature});
+        $item->{mandate_date_of_signature} = sprintf '%04d-%02d-%02d', $yy, $mm, $dd;
+      }
     }
 
     $sepa_xml->add_transaction({ 'src_iban'       => $item->{our_iban},
@@ -511,9 +523,11 @@ sub bank_transfer_download_sepa_xml {
                                  'company_number' => $item->{vc_number},
                                  'amount'         => $item->{amount},
                                  'reference'      => $item->{reference},
+                                 'mandator_id'    => $mandator_id,
                                  'reference_date' => $item->{reference_date},
                                  'execution_date' => $requested_execution_date,
-                                 'end_to_end_id'  => $item->{end_to_end_id} });
+                                 'end_to_end_id'  => $item->{end_to_end_id},
+                                 'date_of_signature' => $item->{mandate_date_of_signature}, });
   }
 
   my $xml = $sepa_xml->to_xml();
diff --git a/css/kivitendo/bwa.css b/css/kivitendo/bwa.css
new file mode 100644 (file)
index 0000000..4357a97
--- /dev/null
@@ -0,0 +1,64 @@
+/* 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; }
+h3 { font-size:120%; }
+h3 { 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;
+}
index e8f412a..59c0735 100644 (file)
@@ -44,32 +44,25 @@ namespace('kivi.CustomerVendor', function(ns) {
   this.selectContact = function(params) {
     var contactId = $('#contact_cp_id').val();
 
-    if( contactId ) {
-      var url = 'controller.pl?action=CustomerVendor/ajaj_get_contact&id='+ $('#cv_id').val() +'&db='+ $('#db').val() +'&contact_id='+ contactId;
+         var url = 'controller.pl?action=CustomerVendor/ajaj_get_contact&id='+ $('#cv_id').val() +'&db='+ $('#db').val() +'&contact_id='+ contactId;
 
-      $.getJSON(url, function(data) {
-        var contact = data.contact;
-        for(var key in contact)
-          $(document.getElementById('contact_'+ key)).val(contact[key])
+    $.getJSON(url, function(data) {
+      var contact = data.contact;
+      for(var key in contact)
+        $(document.getElementById('contact_'+ key)).val(contact[key])
 
-        var cvars = data.contact_cvars;
-        for(var key in cvars)
-          $(document.getElementById('contact_cvar_'+ key)).val(cvars[key]);
+      var cvars = data.contact_cvars;
+      for(var key in cvars)
+        $(document.getElementById('contact_cvars_'+ key)).val(cvars[key]);
 
+      if ( contactId )
         $('#action_delete_contact').show();
+      else
+        $('#action_delete_contact').hide();
 
-        if( params.onFormSet )
-          params.onFormSet();
-      });
-    }
-    else {
-      $('#contacts :input').not(':button, :submit, :reset, :hidden').val('').removeAttr('checked').removeAttr('selected');
-
-      $('#action_delete_contact').hide();
-
-      if( params.onFormSet )
+      if ( params.onFormSet )
         params.onFormSet();
-    }
+    });
 
     $('#contact_cp_title_select, #contact_cp_abteilung_select').val('');
   };
index ce6c027..98d6920 100755 (executable)
@@ -10,6 +10,7 @@ use utf8;
 # run locales.pl from this directory to rebuild the translation files
 
 $self->{texts} = {
+  ' (in use so no change allowed)' => ' (Faktor wird verwendet, keine Änderung erlaubt)',
   ' Date missing!'              => ' Datum fehlt!',
   ' Part Number missing!'       => ' Artikelnummer fehlt!',
   ' missing!'                   => ' fehlt!',
@@ -131,7 +132,6 @@ $self->{texts} = {
   'Add Delivery Note'           => 'Lieferschein erfassen',
   'Add Delivery Order'          => 'Lieferschein erfassen',
   'Add Dunning'                 => 'Mahnung erzeugen',
-  'Add Exchangerate'            => 'Wechselkurs erfassen',
   'Add Follow-Up'               => 'Wiedervorlage erstellen',
   'Add Follow-Up for #1'        => 'Wiedervorlage f&uuml;r #1 erstellen',
   'Add General Ledger Transaction' => 'Dialogbuchen',
@@ -278,6 +278,7 @@ $self->{texts} = {
   'Bank Code Number'            => 'Bankleitzahl',
   'Bank Connection Tax Office'  => 'Bankverbindung des Finanzamts',
   'Bank Connections'            => 'Bankverbindungen',
+  'Bank account'                => 'Bankkonto',
   'Bank accounts'               => 'Bankkonten',
   'Bank code'                   => 'Bankleitzahl',
   'Bank collection amount'      => 'Einzugsbetrag',
@@ -1286,6 +1287,8 @@ $self->{texts} = {
   'Make default profile'        => 'Zu Standardprofil machen',
   'Manage Custom Variables'     => 'Benutzerdefinierte Variablen',
   'Mandantennummer'             => 'Mandantennummer',
+  'Mandate Date of Signature'   => 'Mandat-Unterschriftsdatum',
+  'Mandator ID'                 => 'Mandanten-ID',
   'Mandatory Departments'       => 'Benutzer muss Abteilungen vergeben',
   'Map'                         => 'Karte',
   'Mar'                         => 'März',
@@ -1495,6 +1498,7 @@ $self->{texts} = {
   'Outputformat'                => 'Ausgabeformat',
   'Overdue sales quotations and requests for quotations' => 'Überfällige Angebote und Preisanfragen',
   'Override invoice language'   => 'Diese Sprache verwenden',
+  'Owner of account'            => 'Kontoinhaber',
   'PAYMENT POSTED'              => 'Rechung gebucht',
   'PDF'                         => 'PDF',
   'PDF (OpenDocument/OASIS)'    => 'PDF (OpenDocument/OASIS)',
@@ -1605,6 +1609,7 @@ $self->{texts} = {
   'Portrait'                    => 'Hochformat',
   'Post'                        => 'Buchen',
   'Post Payment'                => 'Zahlung buchen',
+  'Post and E-mail'             => 'Buchen und E-Mail',
   'Post payments'               => 'Zahlungen buchen',
   'Posting Configuration'       => 'Buchungskonfiguration',
   'Postscript'                  => 'Postscript',
@@ -2002,6 +2007,7 @@ $self->{texts} = {
   'Sum Credit'                  => 'Summe Haben',
   'Sum Debit'                   => 'Summe Soll',
   'Sum for'                     => 'Summe für',
+  'Sum open amount'             => 'Summierter offener Betrag',
   'Sum per'                     => 'Summe per',
   'Summen- und Saldenliste'     => 'Summen- und Saldenliste',
   'Superuser name'              => 'Datenbankadministrator',
@@ -2225,6 +2231,8 @@ $self->{texts} = {
   'The project type has been deleted.' => 'Der Projekttyp wurde gelöscht.',
   'The project type has been saved.' => 'Der Projekttyp wurde gespeichert.',
   'The project type is in use and cannot be deleted.' => 'Der Projekttyp wird verwendet und kann nicht gelöscht werden.',
+  'The required information consists of the IBAN and the BIC.' => 'Die benötigten Informationen bestehen aus der IBAN und der BIC.',
+  'The required information consists of the IBAN, the BIC, the mandator ID and the mandate\'s date of signature.' => 'Die benötigten Informationen bestehen aus IBAN, BIC, Mandanten-ID und dem Unterschriftsdatum des Mandates.',
   'The second reason is that kivitendo allowed the user to enter the tax amount manually regardless of the taxkey used.' => 'Der zweite Grund war, dass kivitendo zuließ, dass die Benutzer beliebige, von den tatsächlichen Steuerschlüsseln unabhängige Steuerbeträge eintrugen.',
   'The second way is to use Perl\'s CPAN module and let it download and install the module for you.' => 'Die zweite Variante besteht darin, Perls CPAN-Modul zu benutzen und es das Modul f&uuml;r Sie installieren zu lassen.',
   'The selected bank account does not exist anymore.' => 'Das ausgewählte Bankkonto existiert nicht mehr.',
diff --git a/sql/Austria-chart.sql b/sql/Austria-chart.sql
deleted file mode 100644 (file)
index 255d866..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
--- Kontoplan für Österreich
--- Ferdinand Gassauer, Tue, 5 Feb 2002
--- checked and completed, Thu, 7 Feb 2002, Dieter Simader
---
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0000','AUFWENDUNGEN FÜR INGANGSETZEN UND ERWEITERN DES BETRIEBES','H','00','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0010','Firmenwert','A','015','A','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0100','IMMATERIELLE VERMÖGENSGEGENSTÄNDE','H','01','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0110','Rechte','A','011','A','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0200','GRUNDSTÜCKE','H','02-03','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0210','unbebaute Grundstücke','A','020','A','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0220','bebaute Grundstücke','A','021','A','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0229','kum. Abschreibung bebaute Grundstücke','A','039','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0400','MASCHINEN','H','04-05','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0410','Maschinen','A','041','A','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0419','kum. Abschreibung Maschinen','A','069','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0500','FAHRZEUGE','H','06','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0510','Fahrzeuge','A','063','A','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0519','kum. Abschreibung Fahrzeuge','A','069','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0600','BETRIEBS- UND GESCHÄFTSAUSSTATTUNG','H','06','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0620','Büroeinrichtungen','A','066','A','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0625','kum. Abschreibung Betriebs- und Geschäftsausstattung','A','069','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0700','GELEISTETE ANZAHLUNGEN','H','07','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0800','FINANZANLAGEN','H','08-09','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0810','Beteiligungen','A','081','A','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('0820','Wertpapiere','A','080','A','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('1100','ROHSTOFFE','H','1','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('1120','Vorräte - Rohstoffe','A','110-119','A','IC');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('1200','BEZOGENE TEILE','H','1','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('1220','Vorräte - bezogene Teile','A','120-129','A','IC');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('1300','HILFS- UND BETRIEBSSTOFFE','H','1','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('1320','Hilfsstoffe','A','130-134','A','IC');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('1350','Betriebssstoffe','A','135-139','A','IC');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('1400','UNFERTIGE ERZEUGNISSE','H','1','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('1420','Vorräte - unfertige Erzeugnisse','A','140-149','A','IC');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('1500','FERTIGE ERZEUGNISSE','H','1','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('1520','Vorräte - Hardware','A','150-159','A','IC');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('1530','Vorräte - Software','A','150-159','A','IC');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('1540','Vorräte - Ersatzteile','A','150-159','A','IC');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('1600','WAREN','H','1','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('1700','NOCH NICHT ABGERECHNETE LEISTUNGEN','H','1','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('1800','GELEISTETE ANZAHLUNGEN','H','1','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('1900','WERTBERICHTIGUNGEN','H','1','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('2000','FORDEUNGEN AUS LIEFERUNGEN UND LEISTUNGEN','H','2','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('2010','Forderungen Lieferung & Leistung','A','200-207','A','AR');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('2019','Wertberichtigung uneinbringliche Forderungen','A','20-21','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('2300','SONSTIGE FORDERUNGEN','H','2','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('2320','sonstige Forderungen','A','23-24','A','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('2500','FORDERUNGEN AUS ABGABENVERRECHNUNG','H','2','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('2520','sonstige Forderungen aus Abgebenverrechnung','A','25','A','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('2600','WERTPAPIERE UND ANTEILE','H','2','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('2620','Wertpapiere Umlaufvermögen','A','26','A','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('2700','KASSABESTAND','H','2','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('2701','Kassa','A','27-28','A','AR_paid:AP_paid');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('2800','SCHECKS, GUTHABEN BEI KREDITINSTITUTEN','H','2','A','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('2810','Schecks','A','27-28','A','AR_paid:AP_paid');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('2820','Bankguthaben','A','280-288','A','AR_paid:AP_paid');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('3100','LANGFRISTIGE VERBINDLICHKEITEN','H','3','L','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('3110','Bank Verbindlichkeiten','A','31','L','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('3120','Kredite von Eigentümern','A','310','L','AP_paid');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('3300','VERBINDLICHKEITEN AUS LIEFERUNGEN UND LEISTUNGEN','H','33','L','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('3310','Verbindlichkeiten aus Lieferungen und Leistungen','A','330-335','L','AP');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('3500','VERBINDLICHKEITEN FINANZAMT','H','35','L','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('3510','Finanzamt Verrechnung Körperschaftssteuer','A','350-359','L','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('3520','Finanzamt Verrechnung Umsatzsteuer','A','350-359','L','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('3530','Mehrwertsteuer 0%','A','350-359','L','AR_tax:AP_tax:IC_taxpart:IC_taxservice');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('3531','Mehrwertsteuer 10%','A','350-359','L','AR_tax:AP_tax:IC_taxpart:IC_taxservice');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('3532','Mehrwertsteuer 20%','A','350-359','L','AR_tax:AP_tax:IC_taxpart:IC_taxservice');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('3540','Vorsteuer 0%','A','350-359','L','AR_tax:AP_tax:IC_taxpart:IC_taxservice');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('3541','Vorsteuer 10%','A','350-359','L','AR_tax:AP_tax:IC_taxpart:IC_taxservice');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('3542','Vorsteuer 20%','A','350-359','L','AR_tax:AP_tax:IC_taxpart:IC_taxservice');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('4000','UMSATZ','H','4','I','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('4020','Verkauf - Hardware','A','40-44','I','AR_amount:IC_sale');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('4030','Verkauf - Software ','A','40-44','I','AR_amount:IC_sale');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('4040','Verkauf - Ersatzteile','A','40-44','I','AR_amount:IC_sale');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('4300','UMSATZ BERATUNG','H','4','I','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('4320','Erlöse Beratung','A','40-44','I','AR_amount:IC_income');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('4330','Erlöse Programmierung','A','40-44','I','AR_amount:IC_income');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('4600','SONSTIGE ERLÖSE','H','4','I','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('4630','Frachterlöse','A','46-49','I','IC_income');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('5000','WARENEINSATZ','H','5','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('5020','Wareneinsatz / Hardware','A','500-509','E','AP_amount:IC_cogs');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('5030','Wareneinsatz / Software','A','500-509','E','AP_amount:IC_cogs');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('5040','Wareneinsatz / Ersatzteile','A','520-529','E','AP_amount:IC_cogs');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('5600','VERBRAUCH BRENN- UND TREIBSTOFFEN, ENERGIE UND WASSER','H','5','I','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('5610','Energie, Wasser','A','560-569','E','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('6000','LOHNAUFWAND','H','6','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('6010','Lohn ','A','600-619','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('6200','GEAHLTSAUFWAND','H','6','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('6210','Gehalt ','A','620-639','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('6500','GESETZLICHER SOZIALAUFWAND','H','6','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('6510','Dienstgeberanteile','A','645-649','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('6700','FREIWILLIGER SOZIALAUFWAND','H','6','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('6710','freiwilliger Sozialaufwand','A','660-665','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7000','ABSCHREIBUNGEN','H','7','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7010','Abschreibungen','A','700','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7020','geringwertige Wirtschaftsgüter','A','701-708','E','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7100','SONSTIGE STEUERN','H','71','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7110','Ertragssteuern','A','710-719','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7120','Grundsteuern','A','710-719','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7200','INSTANDHALTUNGSAUFWAND','H','7','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7210','Reparatur und Instandhaltung','A','720-729','E','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7300','TRANSPORTKOSTEN','H','73','L','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7310','Frachtaufwand','A','730-731','E','AP_amount:IC_expense');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7400','MIET-,PACHT-,LEASING-, LIZENZAUFWAND','H','74','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7410','Miete','A','740-743','E','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7411','Lizenzen','A','748-749','E','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7600','VERWALTUNGSKOSTEN','H','76','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7610','Beratungsaufwand','A','775-776','E','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7611','Büromaterialien','A','760','E','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7615','Werbung und Marketing','A','765-768','E','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7620','uneinbringliche Forderungen','A','799','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7630','Telephonkosten','A','738-739','E','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7631','Internetkosten','A','738-739','E','AP_amount:IC_expense');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7632','Reise- und Repräsentationsaufwand','A','734-735','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7634','Registrierungsgebühren','A','748-749','E','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7700','VERSICHERUNGEN','H','77-78','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('7710','Versicherung','A','770-774','E','AP_amount');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('8000','FINANZERTRÄGE UND FINANZAUFWENDUNGEN','H','8','L','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('8020','Bankzinsen und Gebühren','A','80-83','E','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('8100','BETEILIGUNGSERTRÄGE','H','8','I','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('8110','Erträge aus Beteiligungen','A','800-804','I','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('9000','KAPITAL','H','9','Q','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('9010','Aktien, Geschäftsanteile','A','900-918','Q','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('9020','nicht einbezahltes Kapital','A','919','Q','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('9200','KAPITALRÜCKLAGEN','H','9','Q','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('9210','freie Rücklage','A','920-929','Q','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('9300','GEWINN','H','939','Q','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('9310','Gewinnvortrag Vorjahr','A','980','Q','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('9320','Jahresgewinn','A','985','Q','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('9400','RÜCKSTELLUNGEN','H','3','L','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('9420','Abfertigungsrückstellung','A','300','L','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('9430','Urlaubsrückstellung','A','304-309','L','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('9700','EINLAGEN STILLER GESELLSCHAFTER','H','9','Q','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('9800','EB,SB,G+V KONTEN','H','9','Q','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('4640','Devisengewinne','A','80-83','I','');
-insert into chart (accno,description,charttype,gifi_accno,category,link) values ('8050','Devisenverluste','A','80-83','E','');
---
-insert into tax (chart_id,rate) values ((select id from chart where accno = '3530'),0.00);
-insert into tax (chart_id,rate) values ((select id from chart where accno = '3531'),0.10);
-insert into tax (chart_id,rate) values ((select id from chart where accno = '3532'),0.20);
---
-update defaults set inventory_accno_id = (select id from chart where accno = '1520'), income_accno_id = (select id from chart where accno = '4020'), expense_accno_id = (select id from chart where accno = '7610'), fxgain_accno_id = (select id from chart where accno = '4640'), fxloss_accno_id = (select id from chart where accno = '8050'), invnumber = '1000', sonumber = '1000', ponumber = '1000', curr = 'EUR:USD', weightunit = 'kg';
---
index 38b31c8..3d58ee5 100644 (file)
@@ -16,7 +16,7 @@ sub run {
   my $groups = $main::auth->read_groups();
 
   foreach my $group (values %{$groups}) {
-    $group->{rights}->{delivery_plan_rights} = $group->{rights}->{sales_order_edit};
+    $group->{rights}->{delivery_plan} = $group->{rights}->{sales_order_edit};
     $main::auth->save_group($group);
   }
 
diff --git a/sql/Pg-upgrade2/add_customer_mandator_id.sql b/sql/Pg-upgrade2/add_customer_mandator_id.sql
new file mode 100644 (file)
index 0000000..99a788e
--- /dev/null
@@ -0,0 +1,18 @@
+-- @tag: add_customer_mandator_id
+-- @description: Einführen einer Mandanten-ID- und Signatur-Datums-Spalte bei Kunden.
+-- @depends: release_3_0_0
+
+ALTER TABLE customer          ADD COLUMN mandator_id                  text;
+ALTER TABLE customer          ADD COLUMN mandate_date_of_signature    date;
+ALTER TABLE sepa_export_items ADD COLUMN vc_mandator_id               text;
+ALTER TABLE sepa_export_items ADD COLUMN vc_mandate_date_of_signature date;
+
+UPDATE sepa_export_items
+SET vc_mandator_id = (
+  SELECT c.customernumber
+  FROM ar
+  LEFT JOIN customer c ON (ar.customer_id = c.id)
+  WHERE ar.id = sepa_export_items.ar_id
+),
+vc_mandate_date_of_signature = '2010-01-01'::date
+WHERE ar_id IS NOT NULL;
diff --git a/sql/Pg-upgrade2/add_depositor_for_customer_vendor.sql b/sql/Pg-upgrade2/add_depositor_for_customer_vendor.sql
new file mode 100644 (file)
index 0000000..cba51d7
--- /dev/null
@@ -0,0 +1,11 @@
+-- @tag: add_depositor_for_customer_vendor
+-- @description: Einführen einer Depositor (Kontoinhaber) Spalte bei Customer bzw. Vendor
+-- @depends: sepa
+
+ALTER TABLE customer          ADD depositor     text;
+ALTER TABLE vendor            ADD depositor     text;
+ALTER TABLE sepa_export_items ADD our_depositor text;
+ALTER TABLE sepa_export_items ADD vc_depositor  text;
+
+UPDATE customer SET depositor = name;
+UPDATE vendor   SET depositor = name;
diff --git a/sql/Pg-upgrade2/fix_datepaid_for_sepa_transfers.sql b/sql/Pg-upgrade2/fix_datepaid_for_sepa_transfers.sql
new file mode 100644 (file)
index 0000000..dd2b06b
--- /dev/null
@@ -0,0 +1,19 @@
+-- @tag: fix_datepaid_for_sepa_transfers
+-- @description: Feld »datepaid« bei via SEPA durchgeführten Transfers richtig setzen
+-- @depends: release_3_0_0
+UPDATE ar
+SET datepaid = (
+  SELECT MAX(acc.transdate)
+  FROM acc_trans acc
+  LEFT JOIN chart c ON (c.id = acc.chart_id)
+  WHERE (acc.trans_id = ar.id)
+    AND (c.link LIKE '%paid%')
+)
+WHERE (ar.amount != 0)
+  AND NOT ar.storno
+  AND ar.id IN (
+    SELECT sei.ar_id
+    FROM sepa_export_items sei
+    WHERE (sei.ar_id IS NOT NULL)
+      AND sei.executed
+  );
diff --git a/templates/print/RB/bwa.html b/templates/print/RB/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/Standard/bwa.html b/templates/print/Standard/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/f-tex/bwa.html b/templates/print/f-tex/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>
index a219130..6ca175a 100644 (file)
 
     <tr>
      <td align="right">[% 'Factor' | $T8 %]</td>
+[% IF orphaned %]
      <td><input name="factor" value="[% HTML.escape(factor) %]"></td>
+[% ELSE %]
+     <td><input type="hidden" name="factor" value="[% HTML.escape(factor) %]">
+         [% HTML.escape(factor) %] [% ' (in use so no change allowed)' | $T8 %]</td>
+[% END %]
     </tr>
    </table>
   </p>
index a0d1ab9..ad2da05 100644 (file)
@@ -16,6 +16,7 @@
   <div class="tabwidget" id="customer_vendor_tabs">
     <ul>
       <li><a href="#billing">[% 'Billing Address' | $T8 %]</a></li>
+      <li><a href="#bank">[% 'Bank account' | $T8 %]</a></li>
       <li><a href="#shipto">[% 'Shipping Address' | $T8 %]</a></li>
       <li><a href="#contacts">[% 'Contacts' | $T8 %]</a></li>
       [% IF ( SELF.cv.id && AUTH.assert('sales_all_edit', 1) ) %]
@@ -29,6 +30,7 @@
     </ul>
 
     [% PROCESS "customer_vendor/tabs/billing.html" %]
+    [% PROCESS "customer_vendor/tabs/bank.html" %]
     [% PROCESS "customer_vendor/tabs/shipto.html" %]
     [% PROCESS "customer_vendor/tabs/contacts.html" %]
     [% IF ( SELF.cv.id && AUTH.assert('sales_all_edit', 1) ) %]
   }
 -->
 </script>
-
diff --git a/templates/webpages/customer_vendor/tabs/bank.html b/templates/webpages/customer_vendor/tabs/bank.html
new file mode 100644 (file)
index 0000000..1f08af4
--- /dev/null
@@ -0,0 +1,63 @@
+[%- USE T8 %]
+[%- USE HTML %]
+[%- USE LxERP %]
+[%- USE L %]
+
+<div id="bank">
+  <table>
+    <tr>
+      <th align="right">[% 'Owner of account' | $T8 %]</th>
+
+      <td>
+        [% L.input_tag('cv.depositor', SELF.cv.depositor, size = 20) %]
+      </td>
+
+    [%- IF ( SELF.is_customer ) %]
+      <th align="right">[% 'Mandator ID' | $T8 %]</th>
+      <td>
+        [% L.input_tag('cv.mandator_id', SELF.cv.mandator_id, size = 20) %]
+      </td>
+
+      <th align="right">[% 'Mandate Date of Signature' | $T8 %]</th>
+      <td>
+        [% L.date_tag('cv.mandate_date_of_signature', SELF.cv.mandate_date_of_signature) %]
+      </td>
+    [%- END %]
+    </tr>
+
+    <tr>
+      <th align="right">[% 'IBAN' | $T8 %]</th>
+
+      <td>
+        [% L.input_tag('cv.iban', SELF.cv.iban, size = 34, maxlength = 100) %]
+      </td>
+
+
+      <th align="right">[% 'BIC' | $T8 %]</th>
+      <td>
+        [% L.input_tag('cv.bic', SELF.cv.bic, size = 20, maxlength = 100) %]
+      </td>
+
+      <th align="right">[% 'Bank' | $T8 %]</th>
+
+      <td>
+        [% L.input_tag('cv.bank', SELF.cv.bank, size = 20) %]
+      </td>
+    </tr>
+
+    <tr>
+      <th align="right">[% 'Account Number' | $T8 %]</th>
+
+      <td>
+        [% L.input_tag('cv.account_number', SELF.cv.account_number, size = 20, maxlength = 100) %]
+      </td>
+
+
+      <th align="right">[% 'Bank Code Number' | $T8 %]</th>
+
+      <td>
+        [% L.input_tag('cv.bank_code', SELF.cv.bank_code, size = 20, maxlength = 100) %]
+      </td>
+    </tr>
+  </table>
+</div>
index 5c036e0..c65bed0 100644 (file)
       [%- END %]
     </tr>
 
+  [% IF ( SELF.all_currencies.size ) %]
     <tr>
-      <th align="right">[% 'Account Number' | $T8 %]</th>
-
-      <td>
-        [% L.input_tag('cv.account_number', SELF.cv.account_number, size = 20, maxlength = 100) %]
-      </td>
-
-
-      <th align="right">[% 'Bank Code Number' | $T8 %]</th>
-
-      <td>
-        [% L.input_tag('cv.bank_code', SELF.cv.bank_code, size = 20, maxlength = 100) %]
-      </td>
-
-
-      <th align="right">[% 'Bank' | $T8 %]</th>
-
-      <td>
-        [% L.input_tag('cv.bank', SELF.cv.bank, size = 20) %]
-      </td>
-    </tr>
-
-    <tr>
-      <th align="right">[% 'IBAN' | $T8 %]</th>
-
-      <td>
-        [% L.input_tag('cv.iban', SELF.cv.iban, size = 34, maxlength = 100) %]
-      </td>
-
-
-      <th align="right">[% 'BIC' | $T8 %]</th>
-      <td>
-        [% L.input_tag('cv.bic', SELF.cv.bic, size = 11, maxlength = 100) %]
-      </td>
-
-
-      [% IF ( SELF.all_currencies.size ) %]
         <th align="right">[% 'Currency' | $T8 %]</th>
 
         <td>
           [% L.select_tag('cv.currency_id', SELF.all_currencies, title_key = 'name', value_key = 'id', default = SELF.cv.currency_id) %]
         </td>
-      [% END %]
     </tr>
+  [% END %]
 
     <tr>
       [% IF ( !INSTANCE_CONF.get_vertreter ) %]
index 6b3426b..5ab55b7 100644 (file)
       <input class="submit" type="submit" name="action" id="update_button" value="[% 'Update' | $T8 %]">
       <input class="submit" type="submit" name="action" value="[% 'Ship to' | $T8 %]">
       <input class="submit" type="submit" name="action" value="[% 'Preview' | $T8 %]">
-      <input class="submit" type="submit" name="action" value="[% 'E-mail' | $T8 %]">
+      <input class="submit" type="submit" name="action" value="[% 'Post and E-mail' | $T8 %]">
       <input class="submit" type="submit" name="action" value="[% 'Print and Post' | $T8 %]">
       <input class="submit" type="submit" name="action" value="[% 'Post' | $T8 %]">
       <input class="submit" type="submit" name="action" value="[% 'Save Draft' | $T8 %]">
index 8a06042..7346ca3 100644 (file)
@@ -27,8 +27,8 @@ $(function() {
 [% END %]
 });
 
-function fokus() {
 [%- IF focus -%]
+function fokus() {
   $('[% focus %]').focus();
-[%- END -%]
 }
+[%- END -%]
index 9ec39e0..52cd782 100644 (file)
@@ -2,9 +2,9 @@
 [%- USE L %][%- USE P %]
 [%- USE HTML %][%- USE LxERP %]
 
-[%- INCLUDE 'common/flash.html' %]
+<h1>[% title %]</h1>
 
- <div class="listtop">[% title %]</div>
+[%- INCLUDE 'common/flash.html' %]
 
  <form method="post" action="controller.pl">
   [% L.hidden_tag("callback", callback) %]
diff --git a/templates/webpages/rp/bwa.html b/templates/webpages/rp/bwa.html
new file mode 100644 (file)
index 0000000..52d291e
--- /dev/null
@@ -0,0 +1,517 @@
+[%- USE T8 %]
+[%- USE HTML %]
+[%- USE LxERP %]
+
+<link rel="stylesheet" type="text/css" href="css/kivitendo/bwa.css">
+
+<table border=0 cellpadding=0 cellspacing=0>
+<tr class="headline">
+  <td class="left">[% company %]</td>
+  <td class=center colspan="9">
+    <h3>[% title | $T8 %] [% period %]</h3>
+    <h3>[% accounting_method %] - [% report_date %]</h3>
+  </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: Kivitendo ERP
+(Version [% version %]) - Formular: 11.01.2007</td>
+</tr>
+
+</table>
index e5f00ba..af0f19b 100644 (file)
 
 <tr>
   <td>
-       Umsatzerl&ouml;se  
+    Umsatzerl&ouml;se  
   </td>
   <td>
-       [% eur1 %]
+    [% eur1 %]
   </td>
 </tr>
 <tr>
   <td>
-       sonstige Erl&ouml;se  
+    sonstige Erl&ouml;se  
   </td>
   <td>
-       [% eur2 %]  
+    [% eur2 %]  
   </td>
 </tr>
 <tr>
   <td>
-       Privatanteile
+    Privatanteile
   </td>
   <td>
-       [% eur3 %]  
+    [% eur3 %]  
   </td>
 </tr>
 <tr>
   <td>
-       Zinsertr&auml;ge
+    Zinsertr&auml;ge
   </td>
   <td>
-       [% eur4 %]  
+    [% eur4 %]  
   </td>
 </tr>
 <tr>
   <td>
-       Au&szlig;erordentliche Ertr&auml;ge
+    Au&szlig;erordentliche Ertr&auml;ge
   </td>
   <td>
-       [% eur5 %]  
+    [% eur5 %]  
   </td>
 </tr>
 <tr>
   <td>
-       Vereinnahmte Umsatzsteuer
+    Vereinnahmte Umsatzsteuer
   </td>
   <td>
-       [% eur6 %]  
+    [% eur6 %]  
   </td>
 </tr>
 <tr>
   <td>
-       Umsatzsteuererstattungen
+    Umsatzsteuererstattungen
   </td>
   <td>
-       [% eur7 %]  
+    [% eur7 %]  
   </td>
 </tr>
 
 
 <tr>
   <td>
-       Wareneing&auml;nge
+    Wareneing&auml;nge
   </td>
   <td>
-       [% eur8 %]  
+    [% eur8 %]  
   </td>
 </tr>
 <tr>
   <td>
-       L&ouml;hne und Geh&auml;ter
+    L&ouml;hne und Geh&auml;ter
   </td>
   <td>
-       [% eur9 %]  
+    [% eur9 %]  
   </td>
 </tr>
 <tr>
   <td>
-       Gesetzlicher sozialer Aufwand
+    Gesetzlicher sozialer Aufwand
   </td>
   <td>
-       [% eur10 %]  
+    [% eur10 %]  
   </td>
 </tr>
 <tr>
   <td>
-       Mieten
+    Mieten
   </td>
   <td>
-       [% eur11 %]  
+    [% eur11 %]  
   </td>
 </tr>
 <tr>
   <td>
-       Gas, Strom, Wasser
+    Gas, Strom, Wasser
   </td>
   <td>
-       [% eur12 %]  
+    [% eur12 %]  
   </td>
 </tr>
 <tr>
   <td>
-       Instandhaltung
+    Instandhaltung
   </td>
   <td>
-       [% eur13 %]  
+    [% eur13 %]  
   </td>
 </tr>
 <tr>
   <td>
-       Steuern, Versicherungen, Beitr&auml;ge
+    Steuern, Versicherungen, Beitr&auml;ge
   </td>
   <td>
-       [% eur14 %]  
+    [% eur14 %]  
   </td>
 </tr>
 <tr>
   <td>
-       Kfz-Steuern
+    Kfz-Steuern
   </td>
   <td>
-       [% eur15 %]  
+    [% eur15 %]  
   </td>
 </tr><tr>
   <td>
-       Kfz-Versicherungen
+    Kfz-Versicherungen
   </td>
   <td>
-       [% eur16 %]  
+    [% eur16 %]  
   </td>
 </tr><tr>
   <td>
-       Sonstige Fahrzeugkosten
+    Sonstige Fahrzeugkosten
   </td>
   <td>
-       [% eur17 %]  
+    [% eur17 %]  
   </td>
 </tr><tr>
   <td>
-       Werbe- und Reisekosten
+    Werbe- und Reisekosten
   </td>
   <td>
-       [% eur18 %]  
+    [% eur18 %]  
   </td>
 </tr><tr>
   <td>
-       Instandhaltung und Werkzeuge
+    Instandhaltung und Werkzeuge
   </td>
   <td>
-       [% eur19 %]  
+    [% eur19 %]  
   </td>
 </tr><tr>
   <td>
-       Fachzeitschriften, B&uuml;cher
+    Fachzeitschriften, B&uuml;cher
   </td>
   <td>
-       [% eur20 %]  
+    [% eur20 %]  
   </td>
 </tr><tr>
   <td>
-       Miete f&uuml;r Einrichtungen
+    Miete f&uuml;r Einrichtungen
   </td>
   <td>
-       [% eur21 %]  
+    [% eur21 %]  
   </td>
 </tr><tr>
   <td>
-       Rechts- und Beratungskosten
+    Rechts- und Beratungskosten
   </td>
   <td>
-       [% eur22 %]  
+    [% eur22 %]  
   </td>
 </tr><tr>
   <td>
-       B&uuml;robedarf, Porto, Telefon
+    B&uuml;robedarf, Porto, Telefon
   </td>
   <td>
-       [% eur23 %]  
+    [% eur23 %]  
   </td>
 </tr><tr>
   <td>
-       Sonstige Aufwendungen
+    Sonstige Aufwendungen
   </td>
   <td>
-       [% eur24 %]  
+    [% eur24 %]  
   </td>
 </tr><tr>
   <td>
-       Abschreibungen auf Anlageverm&ouml;gen
+    Abschreibungen auf Anlageverm&ouml;gen
   </td>
   <td>
-       [% eur25 %]  
+    [% eur25 %]  
   </td>
 </tr><tr>
   <td>
-       Abschreibungen auf GWG
+    Abschreibungen auf GWG
   </td>
   <td>
-       [% eur26 %]  
+    [% eur26 %]  
   </td>
 </tr><tr>
   <td>
-       Vorsteuer
+    Vorsteuer
   </td>
   <td>
-       [% eur27 %]  
+    [% eur27 %]  
   </td>
 </tr><tr>
   <td>
-       Umsatzsteuerzahlungen
+    Umsatzsteuerzahlungen
   </td>
   <td>
-       [% eur28 %]  
+    [% eur28 %]  
   </td>
 </tr><tr>
   <td>
-       Zinsaufwand
+    Zinsaufwand
   </td>
   <td>
-       [% eur29 %]  
+    [% eur29 %]  
   </td>
 </tr><tr>
   <td>
-       Au&szlig;erordentlicher Aufwand
+    Au&szlig;erordentlicher Aufwand
   </td>
   <td>
-       [% eur30 %]  
+    [% eur30 %]  
   </td>
 </tr><tr>
   <td>
-       Betriebliche Steuern
+    Betriebliche Steuern
   </td>
   <td>
-       [% eur31 %]  
+    [% eur31 %]  
   </td>
 </tr>
 
index fe2d441..4ae82d1 100644 (file)
@@ -77,7 +77,7 @@
        <input name="bank_transfers[].reference" value="[% HTML.escape(reference.substr(0, 140)) %]" maxlength="140" size="60">
       </td>
       <td align="right">
-       <input name="bank_transfers[].amount" value="[% LxERP.format_amount(invoice.invoice_amount, -2) %]" style="text-align: right" size="12">
+       <input name="bank_transfers[].amount" value="[% LxERP.format_amount(invoice.invoice_amount, 2) %]" style="text-align: right" size="12">
       </td>
      </tr>
     [%- END %]
     <sup>(1)</sup>
     [%- IF is_vendor %]
      [%- 'No bank information has been entered in this vendor\'s master data entry. You cannot create bank transfers unless you enter bank information.' | $T8 %]
+     [% "The required information consists of the IBAN and the BIC." | $T8 %]
     [%- ELSE %]
      [%- 'No bank information has been entered in this customer\'s master data entry. You cannot create bank collections unless you enter bank information.' | $T8 %]
+     [% "The required information consists of the IBAN, the BIC, the mandator ID and the mandate's date of signature." | $T8 %]
     [%- END %]
    </p>
   [%- END %]
index 561baec..80af4c4 100644 (file)
      <th class="listheading">[% 'IBAN' | $T8 %]</th>
      <th class="listheading">[% 'BIC' | $T8 %]</th>
      <th class="listheading">[% 'Bank' | $T8 %]</th>
+     [% IF vc == 'customer' %]
+      <th class="listheading">[% 'Mandator ID' | $T8 %]</th>
+      <th class="listheading">[% 'Mandate Date of Signature' | $T8 %]</th>
+     [%- END %]
     </tr>
 
     [%- FOREACH vbi = VC_BANK_INFO %]
      <td><input name="vc_bank_info[].iban" size="34" value="[% HTML.escape(vbi.iban.substr(0, 34)) %]" maxlength="34"></td>
      <td><input name="vc_bank_info[].bic" size="20" value="[% HTML.escape(vbi.bic.substr(0, 20)) %]" maxlength="20"></td>
      <td><input name="vc_bank_info[].bank" size="30" value="[% HTML.escape(vbi.bank) %]"></td>
+     [% IF vc == 'customer' %]
+      <td><input name="vc_bank_info[].mandator_id" size="30" value="[% HTML.escape(vbi.mandator_id) %]"></td>
+      <td>[% L.date_tag("vc_bank_info[].mandate_date_of_signature", vbi.mandate_date_of_signature) %]</td>
+     [%- END %]
     </tr>
     [%- END %]
    </table>
    </table>
   </p>
 
+  <p>
+   [% 'Sum open amount' | $T8 %]: [% LxERP.format_amount(total_trans, -2) %]
+  </p>
+
   <p>
    [%- IF is_vendor %]
     <input type="submit" class="submit" name="action_bank_transfer_create" value="[% 'Create bank transfer' | $T8 %]">
index b8f209d..589b358 100644 (file)
@@ -33,6 +33,9 @@
       <th class="listheading" colspan="2">[% 'Source bank account' | $T8 %]</th>
      [%- END %]
      <th class="listheading" align="right">[% 'Amount' | $T8 %]</th>
+     [% IF vc == 'customer' %]
+      <th class="listheading" align="right">[% 'Mandator ID' | $T8 %]</th>
+     [%- END %]
      <th class="listheading">[% 'Reference' | $T8 %]</th>
      <th class="listheading" align="right">[% 'Requested execution date' | $T8 %]</th>
      <th class="listheading" align="right">[% 'Execution date' | $T8 %]</th>
@@ -44,7 +47,7 @@
      <th class="listheading">[% 'IBAN' | $T8 %]</th>
      <th class="listheading">[% 'BIC' | $T8 %]</th>
      [%- IF show_post_payments_button %]
-      <th class="listheading" colspan="3">&nbsp;</th>
+      <th class="listheading" colspan="[% IF vc == 'customer' %]4[% ELSE %]3[% END %]">&nbsp;</th>
       <th class="listheading">
         [% L.date_tag('set_all_execution_date', '', onchange='set_all_execution_date_fields(this);') %]
       </th>
@@ -73,6 +76,9 @@
       <td>[% HTML.escape(item.vc_iban) %]</td>
       <td>[% HTML.escape(item.vc_bic) %]</td>
       <td align="right">[% HTML.escape(LxERP.format_amount(item.amount, 2)) %]</td>
+      [% IF vc == 'customer' %]
+       <td>[% HTML.escape(item.mandator_id) %]</td>
+      [%- END %]
       <td>[% HTML.escape(item.reference) %]</td>
       <td align="right">[% HTML.escape(item.requested_execution_date) %]</td>
       <td align="right" nowrap>