From 09f6472492fd33fbca181838c48b4c83136172b1 Mon Sep 17 00:00:00 2001 From: Philip Reetz Date: Wed, 6 May 2009 13:44:42 +0000 Subject: [PATCH] Bug #826 behoben, Kontenuebersicht angepasst, zusaetzliche Spalte mit dem fortlaufenden Saldo --- bin/mozilla/ca.pl | 43 +++++++++++++++++++++++++++++++++++++++---- bin/mozilla/gl.pl | 10 +++++----- locale/de/ca | 1 + 3 files changed, 45 insertions(+), 9 deletions(-) diff --git a/bin/mozilla/ca.pl b/bin/mozilla/ca.pl index 1d431916a..b0bd5e878 100644 --- a/bin/mozilla/ca.pl +++ b/bin/mozilla/ca.pl @@ -495,6 +495,7 @@ sub list_transactions { my $saldo_old = format_debit_credit($form->{saldo_old}); my $eb_string = format_debit_credit($form->{beginning_balance}); + $form->{balance} = $form->{saldo_old}; my @options; if ($form->{department}) { @@ -524,7 +525,7 @@ sub list_transactions { push @options, $period; - my @columns = qw(transdate reference description gegenkonto debit credit ustkonto ustrate); + my @columns = qw(transdate reference description gegenkonto debit credit ustkonto ustrate balance); my %column_defs = ( 'transdate' => { 'text' => $locale->text('Date'), }, 'reference' => { 'text' => $locale->text('Reference'), }, @@ -533,7 +534,8 @@ sub list_transactions { 'credit' => { 'text' => $locale->text('Credit'), }, 'gegenkonto' => { 'text' => $locale->text('Gegenkonto'), }, 'ustkonto' => { 'text' => $locale->text('USt-Konto'), }, - 'ustrate' => { 'text' => $locale->text('Satz %'), }, + 'balance' => { 'text' => $locale->text('Balance'), }, + 'ustrate' => { 'text' => $locale->text('Satz %'), }, ); my @hidden_variables = qw(accno fromdate todate description accounttype l_heading subtotal department projectnumber project_id sort); @@ -571,6 +573,7 @@ sub list_transactions { { 'text' => $locale->text('Credit'), }, { 'text' => $locale->text('USt-Konto'), }, { 'text' => $locale->text('Satz %'), }, + { 'text' => $locale->text('Balance'), }, ]; @@ -595,7 +598,7 @@ sub list_transactions { $report->set_sort_indicator($form->{sort}, 1); - $column_defs->{balance}->{visible} = $form->{accno} ? 1 : 0; + $column_defs->{balance}->{visible} = 1; my $ml = ($form->{category} =~ /(A|E)/) ? -1 : 1; @@ -610,6 +613,12 @@ sub list_transactions { foreach (qw(debit credit)) { $subtotals{$_} += $ca->{$_}; $totals{$_} += $ca->{$_}; + if ($_ =~ /debit.*/) { + $ml = -1; + } else { + $ml = 1; + } + $form->{balance}= $form->{balance} + $ca->{$_} * $ml; $ca->{$_} = $form->format_amount(\%myconfig, $ca->{$_}, 2) if ($ca->{$_} != 0); } @@ -645,6 +654,19 @@ sub list_transactions { }; } + my $sh = ""; + if ($form->{balance} < 0) { + $sh = " S"; + $ml = -1; + } elsif ($form->{balance} > 0) { + $sh = " H"; + $ml = 1; + } + my $data = $form->format_amount(\%myconfig, ($form->{balance} * $ml), 2); + $data .= $sh; + + $row->{balance}->{data} = $data; + if ($ca->{index} ne $previous_index) { # $report->add_data($row_set) if ($row_set); @@ -675,7 +697,20 @@ sub list_transactions { $report->add_separator(); my $row = create_subtotal_row(\%totals, \@columns, \%column_alignment, 'listtotal'); - $row->{balance}->{data} = $form->format_amount(\%myconfig, $form->{balance} * $ml, 2); + + my $sh = ""; + if ($form->{balance} < 0) { + $sh = " S"; + $ml = -1; + } elsif ($form->{balance} > 0) { + $sh = " H"; + $ml = 1; + } + my $data = $form->format_amount(\%myconfig, ($form->{balance} * $ml), 2); + $data .= $sh; + + $row->{balance}->{data} = $data; + $report->add_data($row); diff --git a/bin/mozilla/gl.pl b/bin/mozilla/gl.pl index 15b49d2e1..e38796c75 100644 --- a/bin/mozilla/gl.pl +++ b/bin/mozilla/gl.pl @@ -507,7 +507,7 @@ sub generate_report { map { $column_defs{$_}->{visible} = 0 } qw(debit_accno credit_accno debit_tax_accno credit_tax_accno) if $form->{accno}; my %column_alignment; - map { $column_alignment{$_} = 'right' } qw(balance id debit credit debit_tax credit_tax); + map { $column_alignment{$_} = 'right' } qw(balance id debit credit debit_tax credit_tax balance); map { $column_alignment{$_} = 'center' } qw(transdate reference description source notes debit_accno credit_accno debit_tax_accno credit_tax_accno); map { $column_defs{$_}->{align} = $column_alignment{$_} } keys %column_alignment; @@ -566,10 +566,10 @@ sub generate_report { my $sh = ""; if ($form->{balance} < 0) { - $sh = "(S)"; + $sh = " S"; $ml = -1; } elsif ($form->{balance} > 0) { - $sh = "(H)"; + $sh = " H"; $ml = 1; } my $data = $form->format_amount(\%myconfig, ($form->{balance} * $ml), 2); @@ -612,10 +612,10 @@ sub generate_report { my $sh = ""; if ($form->{balance} < 0) { - $sh = "(S)"; + $sh = " S"; $ml = -1; } elsif ($form->{balance} > 0) { - $sh = "(H)"; + $sh = " H"; $ml = 1; } my $data = $form->format_amount(\%myconfig, ($form->{balance} * $ml), 2); diff --git a/locale/de/ca b/locale/de/ca index 9c747c61f..33ac0d789 100644 --- a/locale/de/ca +++ b/locale/de/ca @@ -13,6 +13,7 @@ $self->{texts} = { 'April' => 'April', 'Aug' => 'Aug', 'August' => 'August', + 'Balance' => 'Bilanz', 'Bcc' => 'Bcc', 'Bin List' => 'Lagerliste', 'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Die Anmeldung am LDAP-Server als "#1" schlug fehl. Bitte überprüfen Sie die Angaben in config/authentication.pl.', -- 2.20.1