From ddf6b21857f3b1cfbc9efe74004d5faa8e03d23c Mon Sep 17 00:00:00 2001 From: Philip Reetz <p.reetz@linet-services.de> Date: Sat, 19 Jan 2008 17:48:17 +0000 Subject: [PATCH] Umbau der bisherigen Saldenbilanz zu einer richtigen Summen- Saldenliste unter Benutzung des Reportgenerator Frameworks --- SL/RP.pm | 237 +++++++++-- bin/mozilla/rp.pl | 369 ++++++++++++++++-- locale/de/admin | 2 +- locale/de/all | 21 +- locale/de/am | 2 +- locale/de/amcvar | 2 +- locale/de/amtemplates | 2 +- locale/de/ap | 2 +- locale/de/ar | 2 +- locale/de/arap | 2 +- locale/de/bp | 2 +- locale/de/ca | 2 +- locale/de/common | 2 +- locale/de/cp | 2 +- locale/de/ct | 2 +- locale/de/datev | 2 +- locale/de/dn | 2 +- locale/de/do | 2 +- locale/de/drafts | 2 +- locale/de/fu | 2 +- locale/de/gl | 2 +- locale/de/ic | 2 +- locale/de/io | 2 +- locale/de/ir | 2 +- locale/de/is | 2 +- locale/de/licenses | 2 +- locale/de/login | 2 +- locale/de/menu | 4 +- locale/de/menuXML | 2 +- locale/de/menunew | 4 +- locale/de/menuv3 | 2 +- locale/de/oe | 2 +- locale/de/pe | 2 +- locale/de/rc | 2 +- locale/de/reportgenerator | 2 +- locale/de/rp | 14 +- locale/de/todo | 2 +- locale/de/ustva | 2 +- locale/de/wh | 2 +- .../report_generator/html_report_susa_de.html | 120 ++++++ .../html_report_susa_master.html | 120 ++++++ 41 files changed, 851 insertions(+), 104 deletions(-) create mode 100644 templates/webpages/report_generator/html_report_susa_de.html create mode 100644 templates/webpages/report_generator/html_report_susa_master.html diff --git a/SL/RP.pm b/SL/RP.pm index 19af9d8a7..76c44e12e 100644 --- a/SL/RP.pm +++ b/SL/RP.pm @@ -804,32 +804,36 @@ sub trial_balance { } # get beginning balances - if ($form->{fromdate}) { - $query = - qq|SELECT c.accno, c.category, SUM(ac.amount) AS amount, c.description - FROM acc_trans ac - JOIN chart c ON (ac.chart_id = c.id) - $dpt_join - WHERE (ac.transdate < ?) - $dpt_where - $project - GROUP BY c.accno, c.category, c.description |; + $query = + qq|SELECT c.accno, c.category, SUM(ac.amount) AS amount, c.description + FROM acc_trans ac + JOIN chart c ON (ac.chart_id = c.id) + $dpt_join + WHERE (ac.transdate < (select date_trunc('year', date ?))) + $dpt_where + $project + GROUP BY c.accno, c.category, c.description |; - $sth = prepare_execute_query($form, $dbh, $query, $form->{fromdate}); + $sth = prepare_execute_query($form, $dbh, $query, $form->{fromdate}); - while (my $ref = $sth->fetchrow_hashref(NAME_lc)) { - $balance{ $ref->{accno} } = $ref->{amount}; + while (my $ref = $sth->fetchrow_hashref(NAME_lc)) { - if ($ref->{amount} != 0 && $form->{all_accounts}) { - $trb{ $ref->{accno} }{description} = $ref->{description}; - $trb{ $ref->{accno} }{charttype} = 'A'; - $trb{ $ref->{accno} }{category} = $ref->{category}; + if ($ref->{amount} != 0 || $form->{all_accounts}) { + $trb{ $ref->{accno} }{description} = $ref->{description}; + $trb{ $ref->{accno} }{charttype} = 'A'; + if ($ref->{category} ne "I" && $ref->{category} ne "E") { + if ($ref->{amount} > 0) { + $trb{ $ref->{accno} }{haben_eb} = $ref->{amount}; + } else { + $trb{ $ref->{accno} }{soll_eb} = $ref->{amount} * -1; + } } - + $trb{ $ref->{accno} }{category} = $ref->{category}; } - $sth->finish; } + $sth->finish; + # get headings $query = @@ -851,6 +855,8 @@ sub trial_balance { $sth->finish; $where = " 1 = 1 "; + $saldowhere = " 1 = 1 "; + $sumwhere = " 1 = 1 "; my $tofrom; if ($form->{fromdate} || $form->{todate}) { @@ -858,19 +864,27 @@ sub trial_balance { my $fromdate = conv_dateq($form->{fromdate}); $tofrom .= " AND (ac.transdate >= $fromdate)"; $subwhere .= " AND (transdate >= $fromdate)"; + $sumsubwhere .= " AND (transdate >= (select date_trunc('year', date $fromdate))) "; + $saldosubwhere .= " AND (((c.category='I' OR c.category='E') AND transdate>=(select date_trunc('year', date $fromdate))) OR (c.category NOT IN ('I', 'E'))) "; $invwhere .= " AND (a.transdate >= $fromdate)"; + $glsaldowhere .= " AND (((c.category='I' OR c.category='E') AND ac.transdate>=(select date_trunc('year', date $fromdate))) OR (c.category NOT IN ('I', 'E'))) "; $glwhere = " AND (ac.transdate >= $fromdate)"; + $glsumwhere = " AND (ac.transdate >= (select date_trunc('year', date $fromdate))) "; } if ($form->{todate}) { my $todate = conv_dateq($form->{todate}); $tofrom .= " AND (ac.transdate <= $todate)"; $invwhere .= " AND (a.transdate <= $todate)"; + $saldosubwhere .= " AND (transdate <= $todate)"; + $sumsubwhere .= " AND (transdate <= $todate)"; $subwhere .= " AND (transdate <= $todate)"; $glwhere .= " AND (ac.transdate <= $todate)"; - } + $glsumwhere .= " AND (ac.transdate <= $todate) "; + $glsaldowhere .= " AND (ac.transdate <= $todate) "; + } } - if ($form->{eur}) { + if ($form->{method} eq "cash") { $where .= qq| AND ((ac.trans_id IN (SELECT id from ar) AND ac.trans_id IN @@ -897,8 +911,63 @@ sub trial_balance { (ac.trans_id in (SELECT id from gl) $glwhere) )|; + $saldowhere .= +qq| AND ((ac.trans_id IN (SELECT id from ar) AND + ac.trans_id IN + ( + SELECT trans_id + FROM acc_trans + JOIN chart ON (chart_id = id) + WHERE (link LIKE '%AR_paid%') + $saldosubwhere + ) + ) + OR + (ac.trans_id in (SELECT id from ap) AND + ac.trans_id IN + ( + SELECT trans_id + FROM acc_trans + JOIN chart ON (chart_id = id) + WHERE (link LIKE '%AP_paid%') + $saldosubwhere + ) + ) + OR + (ac.trans_id in (SELECT id from gl) + $glsaldowhere) + )|; + $sumwhere .= +qq| AND ((ac.trans_id IN (SELECT id from ar) AND + ac.trans_id IN + ( + SELECT trans_id + FROM acc_trans + JOIN chart ON (chart_id = id) + WHERE (link LIKE '%AR_paid%') + $sumsubwhere + ) + ) + OR + (ac.trans_id in (SELECT id from ap) AND + ac.trans_id IN + ( + SELECT trans_id + FROM acc_trans + JOIN chart ON (chart_id = id) + WHERE (link LIKE '%AP_paid%') + $sumsubwhere + ) + ) + OR + (ac.trans_id in (SELECT id from gl) + $glsumwhere) + )|; + } else { $where .= $tofrom; + $saldowhere .= $glsaldowhere; + $sumwhere .= $glsumwhere; } $query = qq| @@ -979,7 +1048,46 @@ sub trial_balance { $dpt_where $project AND ac.amount > 0 - AND c.accno = ?) AS credit |; + AND c.accno = ?) AS credit, + (SELECT SUM(ac.amount) + FROM acc_trans ac + JOIN chart c ON (ac.chart_id = c.id) + $dpt_join + WHERE $saldowhere + $dpt_where + $project + AND c.accno = ?) AS saldo, + + (SELECT SUM(ac.amount) + FROM acc_trans ac + JOIN chart c ON (ac.chart_id = c.id) + $dpt_join + WHERE $sumwhere + $dpt_where + $project + AND amount > 0 + AND c.accno = ?) AS sum_credit, + + (SELECT SUM(ac.amount) + FROM acc_trans ac + JOIN chart c ON (ac.chart_id = c.id) + $dpt_join + WHERE $sumwhere + $dpt_where + $project + AND amount < 0 + AND c.accno = ?) AS sum_debit, + + (SELECT max(ac.transdate) FROM acc_trans ac + JOIN chart c ON (ac.chart_id = c.id) + $dpt_join + WHERE $where + $dpt_where + $project + AND c.accno = ?) AS last_transaction + + + |; $drcr = prepare_query($form, $dbh, $q_drcr); @@ -1007,50 +1115,108 @@ sub trial_balance { WHERE $invwhere $dpt_where $project - AND c.accno = ?) AS credit |; + AND c.accno = ?) AS credit, + + (SELECT SUM(ac.amount) + FROM acc_trans ac + JOIN chart c ON (ac.chart_id = c.id) + $dpt_join + WHERE $saldowhere + $dpt_where + $project + AND c.accno = ?) AS saldo, + + (SELECT SUM(ac.amount) + FROM acc_trans ac + JOIN chart c ON (ac.chart_id = c.id) + $dpt_join + WHERE $sumwhere + $dpt_where + $project + AND amount > 0 + AND c.accno = ?) AS sum_credit, + + (SELECT SUM(ac.amount) + FROM acc_trans ac + JOIN chart c ON (ac.chart_id = c.id) + $dpt_join + WHERE $sumwhere + $dpt_where + $project + AND amount < 0 + AND c.accno = ?) AS sum_debit, + + + (SELECT max(ac.transdate) FROM acc_trans ac + JOIN chart c ON (ac.chart_id = c.id) + $dpt_join + WHERE $where + $dpt_where + $project + AND c.accno = ?) AS last_transaction + |; $project_drcr = prepare_query($form, $dbh, $q_project_drcr); } - my ($debit, $credit); + my ($debit, $credit, $saldo, $soll_saldo, $haben_saldo,$soll_kummuliert, $haben_kummuliert, $last_transaction); foreach my $accno (sort keys %trb) { $ref = {}; $ref->{accno} = $accno; map { $ref->{$_} = $trb{$accno}{$_} } - qw(description category charttype amount); + qw(description category charttype amount soll_eb haben_eb); $ref->{balance} = $form->round_amount($balance{ $ref->{accno} }, 2); if ($trb{$accno}{charttype} eq 'A') { # get DR/CR - do_statement($form, $drcr, $q_drcr, $ref->{accno}, $ref->{accno}); + do_statement($form, $drcr, $q_drcr, $ref->{accno}, $ref->{accno}, $ref->{accno}, $ref->{accno}, $ref->{accno}, $ref->{accno}); - ($debit, $credit) = (0, 0); - while (($debit, $credit) = $drcr->fetchrow_array) { + ($debit, $credit, $saldo, $haben_saldo, $soll_saldo, $soll_kumuliert, $haben_kumuliert) = (0, 0, 0, 0, 0, 0, 0); + $last_transaction = ""; + while (($debit, $credit, $saldo, $haben_kumuliert, $soll_kumuliert, $last_transaction) = $drcr->fetchrow_array) { $ref->{debit} += $debit; $ref->{credit} += $credit; + if ($saldo >= 0) { + $ref->{haben_saldo} += $saldo; + } else { + $ref->{soll_saldo} += $saldo * -1; + } + $ref->{last_transaction} = $last_transaction; + $ref->{soll_kumuliert} = $soll_kumuliert * -1; + $ref->{haben_kumuliert} = $haben_kumuliert; } $drcr->finish; if ($form->{project_id}) { # get DR/CR - do_statement($form, $project_drcr, $q_project_drcr, $ref->{accno}, $ref->{accno}); + do_statement($form, $project_drcr, $q_project_drcr, $ref->{accno}, $ref->{accno}, $ref->{accno}, $ref->{accno}, $ref->{accno}, $ref->{accno}); ($debit, $credit) = (0, 0); - while (($debit, $credit) = $project_drcr->fetchrow_array) { + while (($debit, $credit, $saldo, $haben_kumuliert, $soll_kumuliert, $last_transaction) = $project_drcr->fetchrow_array) { $ref->{debit} += $debit; $ref->{credit} += $credit; + if ($saldo >= 0) { + $ref->{haben_saldo} += $saldo; + } else { + $ref->{soll_saldo} += $saldo * -1; + } + $ref->{soll_kumuliert} += $soll_kumuliert * -1; + $ref->{haben_kumuliert} += $haben_kumuliert; } $project_drcr->finish; } $ref->{debit} = $form->round_amount($ref->{debit}, 2); $ref->{credit} = $form->round_amount($ref->{credit}, 2); - + $ref->{haben_saldo} = $form->round_amount($ref->{haben_saldo}, 2); + $ref->{soll_saldo} = $form->round_amount($ref->{soll_saldo}, 2); + $ref->{haben_kumuliert} = $form->round_amount($ref->{haben_kumuliert}, 2); + $ref->{soll_kumuliert} = $form->round_amount($ref->{soll_kumuliert}, 2); } # add subtotal @@ -1059,6 +1225,10 @@ sub trial_balance { if ($accno) { $trb{$accno}{debit} += $ref->{debit}; $trb{$accno}{credit} += $ref->{credit}; + $trb{$accno}{soll_saldo} += $ref->{soll_saldo}; + $trb{$accno}{haben_saldo} += $ref->{haben_saldo}; + $trb{$accno}{soll_kumuliert} += $ref->{soll_kumuliert}; + $trb{$accno}{haben_kumuliert} += $ref->{haben_kumuliert}; } push @{ $form->{TB} }, $ref; @@ -1073,7 +1243,10 @@ sub trial_balance { if ($accno eq $ref->{accno}) { $ref->{debit} = $trb{$accno}{debit}; $ref->{credit} = $trb{$accno}{credit}; - } + $ref->{soll_saldo} = $trb{$accno}{soll_saldo}; + $ref->{haben_saldo} = $trb{$accno}{haben_saldo}; + $ref->{soll_kumuliert} = $trb{$accno}{soll_kumuliert}; + $ref->{haben_kumuliert} = $trb{$accno}{haben_kumuliert}; } } } diff --git a/bin/mozilla/rp.pl b/bin/mozilla/rp.pl index 88283d0d0..7fef683c3 100644 --- a/bin/mozilla/rp.pl +++ b/bin/mozilla/rp.pl @@ -586,36 +586,122 @@ $jsscript if ($form->{report} eq "trial_balance") { print qq| + <tr> + <th align=right nowrap>| . $locale->text('Project') . qq|</th> + <td colspan=3>$projectnumber</td> + </tr> <input type=hidden name=nextsub value=generate_trial_balance> - <input type=hidden name=eur value=$eur> - <tr> - <th align=right>| . $locale->text('From') . qq|</th> - <td> - $button1 - $button1_2 - </td> - <th align=right>| . $locale->text('Bis') . qq|</th> - <td> - $button2 - $button2_2 - </td> +</table> +<table> + <tr> + <th align=left><input name=reporttype class=radio type=radio value="custom" checked> | + . $locale->text('Customized Report') . qq|</th> </tr> - </table> - </td> - </tr> - <tr> - <td> - <table> <tr> - <th align=right nowrap>| . $locale->text('Include in Report') . qq|</th> - <td><input name=l_heading class=checkbox type=checkbox value=Y> | - . $locale->text('Heading') . qq| - <input name=l_subtotal class=checkbox type=checkbox value=Y> | - . $locale->text('Subtotal') . qq| - <input name=all_accounts class=checkbox type=checkbox value=Y> | - . $locale->text('All Accounts') . qq|</td> + <th colspan=1>| . $locale->text('Year') . qq|</th> + <td><input name=year size=11 title="| + . $locale->text('YYYY') . qq|" value="$year"></td> + </tr> +|; + + print qq| + <tr> + <td align=right> +<b> | . $locale->text('Yearly') . qq|</b> </td> + <th align=left>| . $locale->text('Quarterly') . qq|</th> + <th align=left colspan=3>| . $locale->text('Monthly') . qq|</th> + </tr> + <tr> + <td align=right> <input name=duetyp class=radio type=radio value="13" +$checked></td> + <td><input name=duetyp class=radio type=radio value="A" $checked > 1. | + . $locale->text('Quarter') . qq|</td> +|; + $checked = "checked"; + print qq| + <td><input name=duetyp class=radio type=radio value="1" $checked > | + . $locale->text('January') . qq|</td> +|; + $checked = ""; + print qq| + <td><input name=duetyp class=radio type=radio value="5" $checked > | + . $locale->text('May') . qq|</td> + <td><input name=duetyp class=radio type=radio value="9" $checked > | + . $locale->text('September') . qq|</td> + + </tr> + <tr> + <td align= right> </td> + <td><input name=duetyp class=radio type=radio value="B" $checked> 2. | + . $locale->text('Quarter') . qq|</td> + <td><input name=duetyp class=radio type=radio value="2" $checked > | + . $locale->text('February') . qq|</td> + <td><input name=duetyp class=radio type=radio value="6" $checked > | + . $locale->text('June') . qq|</td> + <td><input name=duetyp class=radio type=radio value="10" $checked > | + . $locale->text('October') . qq|</td> + </tr> + <tr> + <td> </td> + <td><input name=duetyp class=radio type=radio value="C" $checked> 3. | + . $locale->text('Quarter') . qq|</td> + <td><input name=duetyp class=radio type=radio value="3" $checked > | + . $locale->text('March') . qq|</td> + <td><input name=duetyp class=radio type=radio value="7" $checked > | + . $locale->text('July') . qq|</td> + <td><input name=duetyp class=radio type=radio value="11" $checked > | + . $locale->text('November') . qq|</td> + </tr> + <tr> + <td> </td> + <td><input name=duetyp class=radio type=radio value="D" $checked> 4. | + . $locale->text('Quarter') . qq| </td> + <td><input name=duetyp class=radio type=radio value="4" $checked > | + . $locale->text('April') . qq|</td> + <td><input name=duetyp class=radio type=radio value="8" $checked > | + . $locale->text('August') . qq|</td> + <td><input name=duetyp class=radio type=radio value="12" $checked > | + . $locale->text('December') . qq|</td> + </tr> + <tr> + <td colspan=5><hr size=3 noshade></td> + </tr> + <tr> + <th align=left><input name=reporttype class=radio type=radio value="free" $checked> | + . $locale->text('Free report period') . qq|</th> + <td align=left colspan=4>| . $locale->text('From') . qq| + $button1 + $button1_2 + | . $locale->text('Bis') . qq| + $button2 + $button2_2 + </td> + </tr> + <tr> + <td colspan=5><hr size=3 noshade></td> + </tr> + <tr> + <th align=leftt>| . $locale->text('Method') . qq|</th> + <td colspan=3><input name=method class=radio type=radio value=accrual $accrual>| + . $locale->text('Accrual') . qq| + <input name=method class=radio type=radio value=cash $cash>| + . $locale->text('EUR') . qq|</td> + </tr> + <tr> + <th align=right colspan=4>| + . $locale->text('All Accounts') + . qq|</th> + <td><input name=all_accounts type=checkbox value=1></td> + </tr> + <tr> + <th align=right colspan=4>| + . $locale->text('Decimalplaces') + . qq|</th> + <td><input name=decimalplaces size=3 value="2"></td> + </tr> + $jsscript |; } @@ -1168,14 +1254,241 @@ sub generate_trial_balance { $auth->assert('report'); + if ($form->{reporttype} eq "custom") { + + #forgotten the year --> thisyear + if ($form->{year} !~ m/^\d\d\d\d$/) { + $locale->date(\%myconfig, $form->current_date(\%myconfig), 0) =~ + /(\d\d\d\d)/; + $form->{year} = $1; + } + + #yearly report + if ($form->{duetyp} eq "13") { + $form->{fromdate} = "1.1.$form->{year}"; + $form->{todate} = "31.12.$form->{year}"; + } + + #Quater reports + if ($form->{duetyp} eq "A") { + $form->{fromdate} = "1.1.$form->{year}"; + $form->{todate} = "31.3.$form->{year}"; + } + if ($form->{duetyp} eq "B") { + $form->{fromdate} = "1.4.$form->{year}"; + $form->{todate} = "30.6.$form->{year}"; + } + if ($form->{duetyp} eq "C") { + $form->{fromdate} = "1.7.$form->{year}"; + $form->{todate} = "30.9.$form->{year}"; + } + if ($form->{duetyp} eq "D") { + $form->{fromdate} = "1.10.$form->{year}"; + $form->{todate} = "31.12.$form->{year}"; + } + + #Monthly reports + SWITCH: { + $form->{duetyp} eq "1" && do { + $form->{fromdate} = "1.1.$form->{year}"; + $form->{todate} = "31.1.$form->{year}"; + last SWITCH; + }; + $form->{duetyp} eq "2" && do { + $form->{fromdate} = "1.2.$form->{year}"; + + #this works from 1901 to 2099, 1900 and 2100 fail. + $leap = ($form->{year} % 4 == 0) ? "29" : "28"; + $form->{todate} = "$leap.2.$form->{year}"; + last SWITCH; + }; + $form->{duetyp} eq "3" && do { + $form->{fromdate} = "1.3.$form->{year}"; + $form->{todate} = "31.3.$form->{year}"; + last SWITCH; + }; + $form->{duetyp} eq "4" && do { + $form->{fromdate} = "1.4.$form->{year}"; + $form->{todate} = "30.4.$form->{year}"; + last SWITCH; + }; + $form->{duetyp} eq "5" && do { + $form->{fromdate} = "1.5.$form->{year}"; + $form->{todate} = "31.5.$form->{year}"; + last SWITCH; + }; + $form->{duetyp} eq "6" && do { + $form->{fromdate} = "1.6.$form->{year}"; + $form->{todate} = "30.6.$form->{year}"; + last SWITCH; + }; + $form->{duetyp} eq "7" && do { + $form->{fromdate} = "1.7.$form->{year}"; + $form->{todate} = "31.7.$form->{year}"; + last SWITCH; + }; + $form->{duetyp} eq "8" && do { + $form->{fromdate} = "1.8.$form->{year}"; + $form->{todate} = "31.8.$form->{year}"; + last SWITCH; + }; + $form->{duetyp} eq "9" && do { + $form->{fromdate} = "1.9.$form->{year}"; + $form->{todate} = "30.9.$form->{year}"; + last SWITCH; + }; + $form->{duetyp} eq "10" && do { + $form->{fromdate} = "1.10.$form->{year}"; + $form->{todate} = "31.10.$form->{year}"; + last SWITCH; + }; + $form->{duetyp} eq "11" && do { + $form->{fromdate} = "1.11.$form->{year}"; + $form->{todate} = "30.11.$form->{year}"; + last SWITCH; + }; + $form->{duetyp} eq "12" && do { + $form->{fromdate} = "1.12.$form->{year}"; + $form->{todate} = "31.12.$form->{year}"; + last SWITCH; + }; + } + } + + # get for each account initial balance, debits and credits RP->trial_balance(\%myconfig, \%$form); - $form->{nextsub} = "generate_trial_balance"; - $form->{title} = $locale->text('Trial Balance'); - list_accounts('generate_trial_balance'); + + $form->{rowcount} = scalar @{ $form->{TB} }; + + my @columns = ( + "accno", "description", + "last_transaction", "soll_eb", + "haben_eb", + "soll", "haben", + "soll_kumuliert", "haben_kumuliert", + "soll_saldo", "haben_saldo" + ); + + + my $attachment_basename; + + my $report = SL::ReportGenerator->new(\%myconfig, $form); + + my @hidden_variables = (); + push @hidden_variables, qw(fromdate todate year cash ); + + my $href = build_std_url('action=orders', grep { $form->{$_} } @hidden_variables); + + my %column_defs = ( + 'accno' => { 'text' => $locale->text('Account Number'), }, + 'description' => { 'text' => $locale->text('Description'), }, + 'last_transaction' => { 'text' => $locale->text('Last Transaction'), }, + 'soll_eb' => { 'text' => $locale->text('Debit Starting Balance'), }, + 'haben_eb' => { 'text' => $locale->text('Credit Starting Balance'), }, + 'soll' => { 'text' => $locale->text('Debit'), }, + 'haben' => { 'text' => $locale->text('Credit'), }, + 'soll_kumuliert' => { 'text' => $locale->text('Sum Debit'), }, + 'haben_kumuliert' => { 'text' => $locale->text('Sum Credit'), }, + 'soll_saldo' => { 'text' => $locale->text('Saldo Debit'), }, + 'haben_saldo' => { 'text' => $locale->text('Saldo Credit'), } + ); + + + + my %column_alignment = map { $_ => 'right' } qw(soll_eb haben_eb soll haben soll_kumuliert haben_kumuliert soll_saldo haben_saldo); + + map { $column_defs{$_}->{visible} = 1 } @columns; + + $report->set_columns(%column_defs); + $report->set_column_order(@columns); + + $report->set_export_options('trial_balance', @hidden_variables); + + $report->set_sort_indicator($form->{sort}, 1); + + my @options; + + + $form->{template_fromto} = $locale->date(\%myconfig, $form->{fromdate}, 0) . " - " . $locale->date(\%myconfig, $form->{todate}, 0); + $form->{template_to} = $locale->date(\%myconfig, $form->{todate}, 0); + + $report->set_options('output_format' => 'HTML', + 'title' => $form->{title}, + 'attachment_basename' => $attachment_basename . strftime('_%Y%m%d', localtime time), + ); + $report->set_options_from_form(); + # $form->parse_html_template('report_generator/html_report_susa', $variables)); + $form->{report_template} = 'report_generator/html_report_susa'; + # add sort and escape callback, this one we use for the add sub + $form->{callback} = $href .= "&sort=$form->{sort}"; + + # escape callback for href + $callback = $form->escape($href); + + my @subtotal_columns = qw(soll_eb haben_eb soll haben soll_kumuliert haben_kumuliert soll_saldo haben_saldo); + + my %totals = map { $_ => 0 } @subtotal_columns; + + my $edit_url = build_std_url('action=edit', 'type', 'vc'); + + foreach $accno (@{ $form->{TB} }) { + + $accno->{soll} = $accno->{debit}; + $accno->{haben} = $accno->{credit}; + map { $totals{$_} += $accno->{$_} } @subtotal_columns; + + map { $accno->{$_} = $form->format_amount(\%myconfig, $accno->{$_}, 2) } qw(soll_eb haben_eb soll haben soll_kumuliert haben_kumuliert soll_saldo haben_saldo); + + map { $accno->{$_} = ($accno->{$_} == 0) ? '' : $accno->{$_} } qw(soll_eb haben_eb soll haben soll_kumuliert haben_kumuliert soll_saldo haben_saldo); + + my $row = { }; + + foreach my $column (@columns) { + $row->{$column} = { + 'data' => $accno->{$column}, + 'align' => $column_alignment{$column}, + }; + } + + + $row->{$ordnumber}->{link} = $edit_url . "&id=" . E($oe->{id}) . "&callback=${callback}"; + + my $row_set = [ $row ]; + + + $report->add_data($row_set); + + $idx++; + } + + $report->add_separator(); + + $report->add_data(create_subtotal_row(\%totals, \@columns, \%column_alignment, \@subtotal_columns, 'listtotal')); + + $report->generate_with_headers(); + + $lxdebug->leave_sub(); + +} + +sub create_subtotal_row { + $lxdebug->enter_sub(); + + my ($totals, $columns, $column_alignment, $subtotal_columns, $class) = @_; + + my $row = { map { $_ => { 'data' => '', 'class' => $class, 'align' => $column_alignment->{$_}, } } @{ $columns } }; + + map { $row->{$_}->{data} = $form->format_amount(\%myconfig, $totals->{$_}, 2) } @{ $subtotal_columns }; + + $row->{tax}->{data} = $form->format_amount(\%myconfig, $totals->{amount} - $totals->{netamount}, 2); + + map { $totals->{$_} = 0 } @{ $subtotal_columns }; $lxdebug->leave_sub(); + + return $row; } sub create_list_accounts_subtotal_row { diff --git a/locale/de/admin b/locale/de/admin index 966708ec1..a78f616aa 100644 --- a/locale/de/admin +++ b/locale/de/admin @@ -11,7 +11,7 @@ $self->{texts} = { 'Address' => 'Adresse', 'Administration' => 'Administration', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.', 'Authentification database creation' => 'Anlegen der Datenbank zur Benutzerauthentifizierung', 'Authentification tables creation' => 'Anlegen der Tabellen zur Benutzerauthentifizierung', diff --git a/locale/de/all b/locale/de/all index a01295ad7..68feab4ce 100644 --- a/locale/de/all +++ b/locale/de/all @@ -148,11 +148,11 @@ $self->{texts} = { 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', 'Aktion' => 'Aktion', 'All' => 'Alle', - 'All Accounts' => 'Alle Konten', + 'All Accounts' => '', 'All Datasets up to date!' => 'Alle Datenbanken sind auf aktuellem Stand.', 'All changes in that file have been reverted.' => 'Alle Änderungen in dieser Datei wurden rückgängig gemacht.', 'All database upgrades have been applied.' => 'Alle Datenbankupdates wurden eingespielt.', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Allow access' => 'Zugriff erlauben', 'Allow the following users access to my follow-ups:' => 'Erlaube den folgenden Benutzern Zugriff auf meine Wiedervorlagen:', 'Alternatively you can create a new part which will then be selected.' => 'Sie können auch einen neuen Artikel anlegen, der dann automatisch ausgewählt wird.', @@ -181,6 +181,7 @@ aktualisieren wollen?', 'Assemblies' => 'Erzeugnisse', 'Assembly Number missing!' => 'Erzeugnisnummer fehlt!', 'Asset' => 'Aktiva/Mittelverwendung', + 'Assets' => 'Aktiva', 'Assign new units' => 'Neue Einheiten zuweisen', 'Assign units' => 'Einheiten zuweisen', 'Assume Tax Consultant Data in Tax Computation?' => 'Beraterdaten in UStVA übernehmen?', @@ -365,6 +366,7 @@ aktualisieren wollen?', 'Credit Note' => 'Gutschrift', 'Credit Note Date' => 'Gutschriftdatum', 'Credit Note Number' => 'Gutschriftnummer', + 'Credit Starting Balance' => 'Eröffnungsbilanzwert Aktiva', 'Credit Tax' => 'Umsatzsteuer', 'Credit Tax Account' => 'Umsatzsteuerkonto', 'Credit note (one letter abbreviation)' => 'G', @@ -420,6 +422,7 @@ aktualisieren wollen?', 'Datum von' => 'Datum von', 'Debit' => 'Soll', 'Debit Account' => 'Sollkonto', + 'Debit Starting Balance' => 'Eröffnungsbilanzwert Passiva', 'Debit Tax' => 'Vorsteuer', 'Debit Tax Account' => 'Vorsteuerkonto', 'Debit and credit out of balance!' => 'Soll und Haben müssen gleich sein.', @@ -791,6 +794,7 @@ aktualisieren wollen?', 'Last Sales Order Number' => 'Letzte Auftragsnummer', 'Last Sales Quotation Number' => 'Letzte Angebotsnummer', 'Last Service Number' => 'Letzte Dienstleistungsnr.', + 'Last Transaction' => 'Letzte Buchung', 'Last Vendor Number' => 'Letzte Lieferantennummer', 'Lead' => 'Kundenquelle', 'Leave host and port field empty unless you want to make a remote connection.' => 'Für lokale Verbindungen "Rechner" und "Port" freilassen.', @@ -907,7 +911,7 @@ aktualisieren wollen?', 'No backup file has been uploaded.' => 'Es wurde keine Sicherungsdatei hochgeladen.', 'No bins have been added to this warehouse yet.' => 'Es wurden zu diesem Lager noch keine Lagerplätze angelegt.', 'No customer has been selected yet.' => 'Es wurde noch kein Kunde ausgewählt.', - 'No data was found.' => 'Es wurden keine Daten gefunden.', + 'No data was found.' => 'Keine Daten gefunden', 'No databases have been found on this server.' => 'Auf diesem Server wurden keine Datenbanken gefunden.', 'No datasets have been selected.' => 'Es wurden keine Datenbanken ausgewählt.', 'No dunnings have been selected for printing.' => 'Es wurden keine Mahnungen zum Drucken ausgewählt.', @@ -1169,6 +1173,9 @@ aktualisieren wollen?', 'SAVED FOR DUNNING' => 'Gespeichert', 'SCREENED' => 'Angezeigt', 'SIC' => 'SIC', + 'Saldo Credit' => 'Saldo Haben', + 'Saldo Debit' => 'Saldo Soll', + 'Saldo per' => 'Saldo per', 'Sales Invoice' => 'Rechnung', 'Sales Invoices' => 'Kundenrechnung', 'Sales Order' => 'Kundenauftrag', @@ -1258,6 +1265,7 @@ aktualisieren wollen?', 'Spoolfile' => 'Druckdatei', 'Start Dunning Process' => 'Mahnprozess starten', 'Startdate_coa' => 'Gültig ab', + 'Starting Balance' => 'Eröffnungsbilanzwerte', 'Statement' => 'Sammelrechnung', 'Statement Balance' => 'Sammelrechnungsbilanz', 'Statement sent to' => 'Sammelrechnung verschickt an', @@ -1277,6 +1285,11 @@ aktualisieren wollen?', 'Subject' => 'Betreff', 'Subject:' => 'Betreff:', 'Subtotal' => 'Zwischensumme', + 'Sum Credit' => 'Summe Haben', + 'Sum Debit' => 'Summe Soll', + 'Sum for' => 'Summe für', + 'Sum per' => 'Summe per', + 'Summen- und Saldenliste' => 'Summen- und Saldenliste', 'Superuser name' => 'Datenbankadministrator', 'System' => 'System', 'TODO list' => 'Aufgabenliste', @@ -1472,7 +1485,7 @@ aktualisieren wollen?', 'Transfer out and close' => 'Auslagern und abschließen', 'Transfer qty' => 'Umlagermenge', 'Translation (%s)' => 'Übersetzung (%s)', - 'Trial Balance' => 'Saldenbilanz', + 'Trial Balance' => 'Summen- u. Saldenliste', 'Trying to call a sub without a name' => 'Es wurde versucht, eine Unterfunktion ohne Namen aufzurufen.', 'Type' => 'Typ', 'Type of Business' => 'Kunden-/Lieferantentyp', diff --git a/locale/de/am b/locale/de/am index 0079ac547..6e31d9c86 100644 --- a/locale/de/am +++ b/locale/de/am @@ -63,7 +63,7 @@ $self->{texts} = { 'Add and edit %s' => '%s hinzufügen und bearbeiten', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Article Code' => 'Artikelkürzel', 'Article Code missing!' => 'Artikelkürzel fehlt', 'Asset' => 'Aktiva/Mittelverwendung', diff --git a/locale/de/amcvar b/locale/de/amcvar index 45925483b..760072213 100644 --- a/locale/de/amcvar +++ b/locale/de/amcvar @@ -7,7 +7,7 @@ $self->{texts} = { 'Add custom variable' => 'Benutzerdefinierte Variable erfassen', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.', 'Bcc' => 'Bcc', 'Bin List' => 'Lagerliste', diff --git a/locale/de/amtemplates b/locale/de/amtemplates index ba13aedbe..f3dd32f85 100644 --- a/locale/de/amtemplates +++ b/locale/de/amtemplates @@ -6,7 +6,7 @@ $self->{texts} = { 'AR' => 'Verkauf', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.', 'BWA' => 'BWA', 'Balance Sheet' => 'Bilanz', diff --git a/locale/de/ap b/locale/de/ap index db6c676c4..0964cab02 100644 --- a/locale/de/ap +++ b/locale/de/ap @@ -12,7 +12,7 @@ $self->{texts} = { 'Add Accounts Payables Transaction' => 'Kreditorenbuchung erfassen', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Amount' => 'Betrag', 'Amount Due' => 'Betrag fällig', 'Apr' => 'Apr', diff --git a/locale/de/ar b/locale/de/ar index 8608db8e6..53be45f9e 100644 --- a/locale/de/ar +++ b/locale/de/ar @@ -13,7 +13,7 @@ $self->{texts} = { 'Add Accounts Receivables Transaction' => 'Debitorenbuchung erfassen', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Amount' => 'Betrag', 'Amount Due' => 'Betrag fällig', 'Apr' => 'Apr', diff --git a/locale/de/arap b/locale/de/arap index 0498897f0..068cb1bff 100644 --- a/locale/de/arap +++ b/locale/de/arap @@ -6,7 +6,7 @@ $self->{texts} = { 'AR' => 'Verkauf', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.', 'Bcc' => 'Bcc', 'Bin List' => 'Lagerliste', diff --git a/locale/de/bp b/locale/de/bp index 4673bb70b..87b77da1a 100644 --- a/locale/de/bp +++ b/locale/de/bp @@ -7,7 +7,7 @@ $self->{texts} = { 'Account' => 'Konto', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Are you sure you want to remove the marked entries from the queue?' => 'Sind Sie sicher, dass die markierten Einträge von der Warteschlange gelöscht werden sollen?', 'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.', 'Bcc' => 'Bcc', diff --git a/locale/de/ca b/locale/de/ca index e56b7881c..904212167 100644 --- a/locale/de/ca +++ b/locale/de/ca @@ -6,7 +6,7 @@ $self->{texts} = { 'AR' => 'Verkauf', 'Account' => 'Konto', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Apr' => 'Apr', 'April' => 'April', 'Aug' => 'Aug', diff --git a/locale/de/common b/locale/de/common index 38b565b7e..cf87ba772 100644 --- a/locale/de/common +++ b/locale/de/common @@ -6,7 +6,7 @@ $self->{texts} = { 'AR' => 'Verkauf', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.', 'Bcc' => 'Bcc', 'Bin List' => 'Lagerliste', diff --git a/locale/de/cp b/locale/de/cp index 16bb41775..00afc3a52 100644 --- a/locale/de/cp +++ b/locale/de/cp @@ -8,7 +8,7 @@ $self->{texts} = { 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', 'All' => 'Alle', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Amount' => 'Betrag', 'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.', 'Bcc' => 'Bcc', diff --git a/locale/de/ct b/locale/de/ct index 5aa02c6cc..3736ef270 100644 --- a/locale/de/ct +++ b/locale/de/ct @@ -11,7 +11,7 @@ $self->{texts} = { 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', 'All' => 'Alle', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.', 'Bcc' => 'Bcc', 'Bin List' => 'Lagerliste', diff --git a/locale/de/datev b/locale/de/datev index 74875a01c..bc7fe333d 100644 --- a/locale/de/datev +++ b/locale/de/datev @@ -7,7 +7,7 @@ $self->{texts} = { 'Abrechnungsnummer' => 'Abrechnungsnummer', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'April' => 'April', 'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.', 'August' => 'August', diff --git a/locale/de/dn b/locale/de/dn index 5641b7144..ac2cf83a3 100644 --- a/locale/de/dn +++ b/locale/de/dn @@ -14,7 +14,7 @@ $self->{texts} = { 'Add Sales Order' => 'Auftrag erfassen', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Amount' => 'Betrag', 'Apr' => 'Apr', 'April' => 'April', diff --git a/locale/de/do b/locale/de/do index 122f3952a..ba458233b 100644 --- a/locale/de/do +++ b/locale/de/do @@ -19,7 +19,7 @@ $self->{texts} = { 'Add Vendor Invoice' => 'Einkaufsrechnung erfassen', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Apr' => 'Apr', 'April' => 'April', 'Attachment' => 'als Anhang', diff --git a/locale/de/drafts b/locale/de/drafts index 2bf4f105e..be0ee4838 100644 --- a/locale/de/drafts +++ b/locale/de/drafts @@ -6,7 +6,7 @@ $self->{texts} = { 'AR' => 'Verkauf', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.', 'Bcc' => 'Bcc', 'Bin List' => 'Lagerliste', diff --git a/locale/de/fu b/locale/de/fu index 7ef5e3ecf..ca14827ea 100644 --- a/locale/de/fu +++ b/locale/de/fu @@ -9,7 +9,7 @@ $self->{texts} = { 'Add Follow-Up' => 'Wiedervorlage erstellen', 'Add Follow-Up for #1' => 'Wiedervorlage für #1 erstellen', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', '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.', diff --git a/locale/de/gl b/locale/de/gl index ad9ad91cb..526d49d26 100644 --- a/locale/de/gl +++ b/locale/de/gl @@ -11,7 +11,7 @@ $self->{texts} = { 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', 'All' => 'Alle', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Apr' => 'Apr', 'April' => 'April', 'Are you sure you want to delete Transaction' => 'Buchung wirklich löschen?', diff --git a/locale/de/ic b/locale/de/ic index ff3055df3..73ae4c160 100644 --- a/locale/de/ic +++ b/locale/de/ic @@ -21,7 +21,7 @@ $self->{texts} = { 'Add Service' => 'Dienstleistung erfassen', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Apr' => 'Apr', 'April' => 'April', 'Assemblies' => 'Erzeugnisse', diff --git a/locale/de/io b/locale/de/io index 87c6af758..7642289f5 100644 --- a/locale/de/io +++ b/locale/de/io @@ -14,7 +14,7 @@ $self->{texts} = { 'Add Sales Order' => 'Auftrag erfassen', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Apr' => 'Apr', 'April' => 'April', 'Attachment' => 'als Anhang', diff --git a/locale/de/ir b/locale/de/ir index c83a94737..04b39ed45 100644 --- a/locale/de/ir +++ b/locale/de/ir @@ -16,7 +16,7 @@ $self->{texts} = { 'Add Vendor Invoice' => 'Einkaufsrechnung erfassen', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Amount' => 'Betrag', 'Apr' => 'Apr', 'April' => 'April', diff --git a/locale/de/is b/locale/de/is index 95b610168..8ed1ad3fe 100644 --- a/locale/de/is +++ b/locale/de/is @@ -18,7 +18,7 @@ $self->{texts} = { 'Add Storno Credit Note' => 'Gutschrift Storno hinzufügen', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Amount' => 'Betrag', 'Apr' => 'Apr', 'April' => 'April', diff --git a/locale/de/licenses b/locale/de/licenses index 43351b139..bc77d6a6d 100644 --- a/locale/de/licenses +++ b/locale/de/licenses @@ -9,7 +9,7 @@ $self->{texts} = { 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', 'All' => 'Alle', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.', 'Bcc' => 'Bcc', 'Bin List' => 'Lagerliste', diff --git a/locale/de/login b/locale/de/login index 94772d2de..19f133b2b 100644 --- a/locale/de/login +++ b/locale/de/login @@ -23,7 +23,7 @@ $self->{texts} = { 'Add Vendor Invoice' => 'Einkaufsrechnung erfassen', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Amount' => 'Betrag', 'Apr' => 'Apr', 'April' => 'April', diff --git a/locale/de/menu b/locale/de/menu index ff2fc13af..f172c7a3b 100644 --- a/locale/de/menu +++ b/locale/de/menu @@ -41,7 +41,7 @@ $self->{texts} = { 'Add Warehouse' => 'Lager erfassen', 'Administration area' => 'Administrationsbereich', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Assemblies' => 'Erzeugnisse', 'Audit Control' => 'Bücherkontrolle', 'BWA' => 'BWA', @@ -171,7 +171,7 @@ $self->{texts} = { 'To (email)' => 'An', 'Transactions, AR transactions, AP transactions' => 'Dialogbuchen, Debitorenrechnungen, Kreditorenrechnungen', 'Transfer' => 'Umlagern', - 'Trial Balance' => 'Saldenbilanz', + 'Trial Balance' => 'Summen- u. Saldenliste', 'Type of Business' => 'Kunden-/Lieferantentyp', 'UStVa' => 'UStVa', 'UStVa Einstellungen' => 'UStVa Einstellungen', diff --git a/locale/de/menuXML b/locale/de/menuXML index 2e784b2e1..688e24c50 100755 --- a/locale/de/menuXML +++ b/locale/de/menuXML @@ -4,7 +4,7 @@ $self->{texts} = { 'AP' => 'Einkauf', 'AR' => 'Verkauf', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Bcc' => 'Bcc', '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.', 'Cc' => 'Cc', diff --git a/locale/de/menunew b/locale/de/menunew index bb322fa8f..1749c1e78 100644 --- a/locale/de/menunew +++ b/locale/de/menunew @@ -40,7 +40,7 @@ $self->{texts} = { 'Add Warehouse' => 'Lager erfassen', 'Administration area' => 'Administrationsbereich', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Assemblies' => 'Erzeugnisse', 'Audit Control' => 'Bücherkontrolle', 'BWA' => 'BWA', @@ -170,7 +170,7 @@ $self->{texts} = { 'To (email)' => 'An', 'Transactions, AR transactions, AP transactions' => 'Dialogbuchen, Debitorenrechnungen, Kreditorenrechnungen', 'Transfer' => 'Umlagern', - 'Trial Balance' => 'Saldenbilanz', + 'Trial Balance' => 'Summen- u. Saldenliste', 'Type of Business' => 'Kunden-/Lieferantentyp', 'UStVa' => 'UStVa', 'UStVa Einstellungen' => 'UStVa Einstellungen', diff --git a/locale/de/menuv3 b/locale/de/menuv3 index c84f999a4..9607ab38e 100644 --- a/locale/de/menuv3 +++ b/locale/de/menuv3 @@ -4,7 +4,7 @@ $self->{texts} = { 'AP' => 'Einkauf', 'AR' => 'Verkauf', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Bcc' => 'Bcc', '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.', 'Cc' => 'Cc', diff --git a/locale/de/oe b/locale/de/oe index 167e196fa..b4dfe9220 100644 --- a/locale/de/oe +++ b/locale/de/oe @@ -20,7 +20,7 @@ $self->{texts} = { 'Add Vendor Invoice' => 'Einkaufsrechnung erfassen', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Amount' => 'Betrag', 'Apr' => 'Apr', 'April' => 'April', diff --git a/locale/de/pe b/locale/de/pe index f23f1f531..d2305925f 100644 --- a/locale/de/pe +++ b/locale/de/pe @@ -12,7 +12,7 @@ $self->{texts} = { 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', 'All' => 'Alle', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.', 'Bcc' => 'Bcc', 'Bin List' => 'Lagerliste', diff --git a/locale/de/rc b/locale/de/rc index 926374310..e0484e92c 100644 --- a/locale/de/rc +++ b/locale/de/rc @@ -7,7 +7,7 @@ $self->{texts} = { 'Account' => 'Konto', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.', 'Balance' => 'Bilanz', 'Bcc' => 'Bcc', diff --git a/locale/de/reportgenerator b/locale/de/reportgenerator index 6adb2a636..4e481f7b5 100644 --- a/locale/de/reportgenerator +++ b/locale/de/reportgenerator @@ -5,7 +5,7 @@ $self->{texts} = { 'AP' => 'Einkauf', 'AR' => 'Verkauf', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', '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.', diff --git a/locale/de/rp b/locale/de/rp index 7b1ae483f..32149f784 100644 --- a/locale/de/rp +++ b/locale/de/rp @@ -11,8 +11,8 @@ $self->{texts} = { 'Accrual' => 'Bilanzierung', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All Accounts' => 'Alle Konten', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All Accounts' => 'All Accounts', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Amount' => 'Betrag', 'Apr' => 'Apr', 'April' => 'April', @@ -53,6 +53,7 @@ $self->{texts} = { 'Create and edit vendor invoices' => 'Eingangsrechnungen erfassen und bearbeiten', 'Credit' => 'Haben', 'Credit Note' => 'Gutschrift', + 'Credit Starting Balance' => 'Eröffnungsbilanzwert Aktiva', 'Current' => 'Betrag', 'Current Earnings' => 'Gewinn', 'Customer' => 'Kunde', @@ -67,6 +68,7 @@ $self->{texts} = { 'Dataset upgrade' => 'Datenbankaktualisierung', 'Date' => 'Datum', 'Debit' => 'Soll', + 'Debit Starting Balance' => 'Eröffnungsbilanzwert Passiva', 'Dec' => 'Dez', 'December' => 'Dezember', 'Decimalplaces' => 'Dezimalstellen', @@ -104,6 +106,7 @@ $self->{texts} = { 'July' => 'Juli', 'Jun' => 'Jun', 'June' => 'Juni', + 'Last Transaction' => 'Letzte Buchung', 'MAILED' => 'Gesendet', 'Manage license keys' => 'Lizenzschlüssel verwalten', 'Mar' => 'März', @@ -171,6 +174,8 @@ $self->{texts} = { 'SAVED' => 'Gespeichert', 'SAVED FOR DUNNING' => 'Gespeichert', 'SCREENED' => 'Angezeigt', + 'Saldo Credit' => 'Saldo Haben', + 'Saldo Debit' => 'Saldo Soll', 'Screen' => 'Bildschirm', 'Select a Customer' => 'Endkunde auswählen', 'Select a customer' => 'Einen Kunden auswählen', @@ -189,6 +194,8 @@ $self->{texts} = { 'Storno Packing List' => 'Stornolieferschein', 'Subject' => 'Betreff', 'Subtotal' => 'Zwischensumme', + 'Sum Credit' => 'Summe Haben', + 'Sum Debit' => 'Summe Soll', 'Tax' => 'Steuer', 'Tax collected' => 'vereinnahmte Steuer', 'Tax paid' => 'Vorsteuer', @@ -204,7 +211,7 @@ $self->{texts} = { 'To (email)' => 'An', 'Total' => 'Summe', 'Transactions, AR transactions, AP transactions' => 'Dialogbuchen, Debitorenrechnungen, Kreditorenrechnungen', - 'Trial Balance' => 'Saldenbilanz', + 'Trial Balance' => 'Summen- u. Saldenliste', 'Trying to call a sub without a name' => 'Es wurde versucht, eine Unterfunktion ohne Namen aufzurufen.', 'Unit' => 'Einheit', 'Unknown dependency \'%s\'.' => 'Unbekannte Abhängigkeit \'%s\'.', @@ -268,6 +275,7 @@ $self->{subs} = { 'cov_selection_internal' => 'cov_selection_internal', 'create_aging_subtotal_row' => 'create_aging_subtotal_row', 'create_list_accounts_subtotal_row' => 'create_list_accounts_subtotal_row', + 'create_subtotal_row' => 'create_subtotal_row', 'delivery_customer_selection' => 'delivery_customer_selection', 'e_mail' => 'e_mail', 'format_dates' => 'format_dates', diff --git a/locale/de/todo b/locale/de/todo index 7f02fb7e5..8e943a5a2 100644 --- a/locale/de/todo +++ b/locale/de/todo @@ -22,7 +22,7 @@ $self->{texts} = { 'Add Vendor Invoice' => 'Einkaufsrechnung erfassen', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Amount' => 'Betrag', 'Apr' => 'Apr', 'April' => 'April', diff --git a/locale/de/ustva b/locale/de/ustva index d49f574d7..de73773e1 100644 --- a/locale/de/ustva +++ b/locale/de/ustva @@ -10,7 +10,7 @@ $self->{texts} = { 'AR' => 'Verkauf', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Amended Advance Turnover Tax Return' => 'Berichtigte Anmeldung', 'Amended Advance Turnover Tax Return (Nr. 10)' => 'Ist dies eine berichtigte Anmeldung? (Nr. 10/Zeile 15 Steuererklärung)', 'Application Error. No Format given' => 'Fehler in der Anwendung. Das Ausgabeformat fehlt.', diff --git a/locale/de/wh b/locale/de/wh index 9f7ec371c..e0937e81c 100644 --- a/locale/de/wh +++ b/locale/de/wh @@ -8,7 +8,7 @@ $self->{texts} = { 'AR Transaction' => 'Debitorenbuchung', 'Address' => 'Adresse', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', - 'All reports' => 'Alle Berichte (Kontenübersicht, Saldenbilanz, GuV, BWA, Bilanz, Projektbuchungen)', + 'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)', 'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.', 'Bcc' => 'Bcc', 'Bin' => 'Lagerplatz', diff --git a/templates/webpages/report_generator/html_report_susa_de.html b/templates/webpages/report_generator/html_report_susa_de.html new file mode 100644 index 000000000..fd72a837d --- /dev/null +++ b/templates/webpages/report_generator/html_report_susa_de.html @@ -0,0 +1,120 @@ +[% USE HTML %]<body> + + <script type="text/javascript"> + <!-- + function submit_report_generator_form(nextsub) { + document.report_generator_form.report_generator_dispatch_to.value = nextsub; + document.report_generator_form.submit(); + } + + --> + </script> + + <style type="text/css"> + <!-- +.top_border { + border-top: solid black; + border-width: 4px; +} +.bottom_border { + border-bottom: solid black; + border-width: 4px; +} + --> + </style> + + [% IF MESSAGE %] + <p>[% MESSAGE %]</p> + [% END %] + + <div class="listtop" width="100%">Summen- und Saldenliste [% template_fromto %]</div> + + [% IF TOP_INFO_TEXT %] + <p>[% TOP_INFO_TEXT %]</p> + [% END %] + + [% RAW_TOP_INFO_TEXT %] + + [% IF DATA_PRESENT %] + <p> + <table width="100%"> + <tr> + <th class="listheading" rowspan=2>Kontonummer</th> + <th class="listheading" rowspan=2>Beschreibung</th> + <th class="listheading" rowspan=2>Letzte Buchung</th> + <th class="listheading" colspan=2>Eröffnungsbilanzwerte</th> + <th class="listheading" colspan=2>Summe für [% template_fromto %]</th> + <th class="listheading" colspan=2>Summe per [% template_to %]</th> + <th class="listheading" colspan=2>Saldo per [% template_to %]</th> + </tr> + <tr> + <th class="listheading">Aktiva</th> + <th class="listheading">Passiva</th> + <th class="listheading">Soll</th> + <th class="listheading">Haben</th> + <th class="listheading">Soll</th> + <th class="listheading">Haben</th> + <th class="listheading">Soll</th> + <th class="listheading">Haben</th> + + [% FOREACH row = ROWS %] + [% IF row.IS_CONTROL %] + [% IF row.IS_COLSPAN_DATA %]<tr><td colspan="[% row.NUM_COLUMNS %]">[% row.data %]</td></tr>[% END %] + [% ELSE %] + <tr class="listrow[% row.outer_idx_odd %]"> + [%- FOREACH col = row.COLUMNS %] + <td[% IF col.align %] align="[% col.align %]"[% END %] + [%- IF col.valign %] valign="[% col.valign %]"[%- END %] + [%- SET tdclass = '' %] + [%- IF row.BORDER_TOP %][%- SET tdclass = "$tdclass top_border" %][%- END %] + [%- IF row.BORDER_BOTTOM %][%- SET tdclass = "$tdclass bottom_border" %][%- END %] + [%- IF col.class %][%- SET tdclass = "$tdclass $col.class" %][%- END %] + [%- IF tdclass %] class="[% tdclass %]"[%- END %]> + [%- IF col.raw_data %][%- col.raw_data %][%- END %] + [%- USE iterator(col.CELL_ROWS) %][%- FOREACH cell_row = iterator %] + [%- IF cell_row.data != '' %] + [%- IF cell_row.link %]<a href="[% cell_row.link %]">[%- END %] + [%- cell_row.data %] + [%- IF cell_row.link %]</a>[%- END %] + [%- END %] + [%- UNLESS iterator.last %]<br>[%- END %] + [%- END %] + </td> + [%- END %] + </tr> + [% END %] + [% END %] + + <tr><td colspan="[% NUM_COLUMNS %]"><hr size="3" noshade></td></tr> + + </table> + </p> + [% ELSE %] + <p>Keine Daten gefunden</p> + [% END %] + + [% RAW_BOTTOM_INFO_TEXT %] + + [% IF BOTTOM_INFO_TEXT %] + <p>[% BOTTOM_INFO_TEXT %]</p> + [% END %] + + [% IF SHOW_EXPORT_BUTTONS %] + <form action="[% HTML.escape(script) %]" name="report_generator_form" method="post"> + [% FOREACH var = EXPORT_VARIABLES %]<input type="hidden" name="report_generator_hidden_[% var.key %]" value="[% HTML.escape(var.value) %]"> + [% END %] + + <input type="hidden" name="report_generator_nextsub" value="[% HTML.escape(EXPORT_NEXTSUB) %]"> + <input type="hidden" name="report_generator_variable_list" value="[% HTML.escape(EXPORT_VARIABLE_LIST) %]"> + <input type="hidden" name="report_generator_dispatch_to" value=""> + <input type="hidden" name="action" value="report_generator_dispatcher"> + + <p> + Listenexport<br> + [% IF ALLOW_PDF_EXPORT %]<button type="button" class="submit" onclick="submit_report_generator_form('report_generator_export_as_pdf')">Als PDF exportieren</button>[% END %] + [% IF ALLOW_CSV_EXPORT %]<button type="button" class="submit" onclick="submit_report_generator_form('report_generator_export_as_csv')">Als CSV exportieren</button>[% END %] + </p> + </form> + [% END %] + +</body> diff --git a/templates/webpages/report_generator/html_report_susa_master.html b/templates/webpages/report_generator/html_report_susa_master.html new file mode 100644 index 000000000..dbaf4129e --- /dev/null +++ b/templates/webpages/report_generator/html_report_susa_master.html @@ -0,0 +1,120 @@ +[% USE HTML %]<body> + + <script type="text/javascript"> + <!-- + function submit_report_generator_form(nextsub) { + document.report_generator_form.report_generator_dispatch_to.value = nextsub; + document.report_generator_form.submit(); + } + + --> + </script> + + <style type="text/css"> + <!-- +.top_border { + border-top: solid black; + border-width: 4px; +} +.bottom_border { + border-bottom: solid black; + border-width: 4px; +} + --> + </style> + + [% IF MESSAGE %] + <p>[% MESSAGE %]</p> + [% END %] + + <div class="listtop" width="100%"><translate>Summen- und Saldenliste</translate> [% template_fromto %]</div> + + [% IF TOP_INFO_TEXT %] + <p>[% TOP_INFO_TEXT %]</p> + [% END %] + + [% RAW_TOP_INFO_TEXT %] + + [% IF DATA_PRESENT %] + <p> + <table width="100%"> + <tr> + <th class="listheading" rowspan=2><translate>Account Number</translate></th> + <th class="listheading" rowspan=2><translate>Description</translate></th> + <th class="listheading" rowspan=2><translate>Last Transaction</translate></th> + <th class="listheading" colspan=2><translate>Starting Balance</translate></th> + <th class="listheading" colspan=2><translate>Sum for</translate> [% template_fromto %]</th> + <th class="listheading" colspan=2><translate>Sum per</translate> [% template_to %]</th> + <th class="listheading" colspan=2><translate>Saldo per</translate> [% template_to %]</th> + </tr> + <tr> + <th class="listheading"><translate>Assets</translate></th> + <th class="listheading"><translate>Equity</translate></th> + <th class="listheading"><translate>Debit</translate></th> + <th class="listheading"><translate>Credit</translate></th> + <th class="listheading"><translate>Debit</translate></th> + <th class="listheading"><translate>Credit</translate></th> + <th class="listheading"><translate>Debit</translate></th> + <th class="listheading"><translate>Credit</translate></th> + + [% FOREACH row = ROWS %] + [% IF row.IS_CONTROL %] + [% IF row.IS_COLSPAN_DATA %]<tr><td colspan="[% row.NUM_COLUMNS %]">[% row.data %]</td></tr>[% END %] + [% ELSE %] + <tr class="listrow[% row.outer_idx_odd %]"> + [%- FOREACH col = row.COLUMNS %] + <td[% IF col.align %] align="[% col.align %]"[% END %] + [%- IF col.valign %] valign="[% col.valign %]"[%- END %] + [%- SET tdclass = '' %] + [%- IF row.BORDER_TOP %][%- SET tdclass = "$tdclass top_border" %][%- END %] + [%- IF row.BORDER_BOTTOM %][%- SET tdclass = "$tdclass bottom_border" %][%- END %] + [%- IF col.class %][%- SET tdclass = "$tdclass $col.class" %][%- END %] + [%- IF tdclass %] class="[% tdclass %]"[%- END %]> + [%- IF col.raw_data %][%- col.raw_data %][%- END %] + [%- USE iterator(col.CELL_ROWS) %][%- FOREACH cell_row = iterator %] + [%- IF cell_row.data != '' %] + [%- IF cell_row.link %]<a href="[% cell_row.link %]">[%- END %] + [%- cell_row.data %] + [%- IF cell_row.link %]</a>[%- END %] + [%- END %] + [%- UNLESS iterator.last %]<br>[%- END %] + [%- END %] + </td> + [%- END %] + </tr> + [% END %] + [% END %] + + <tr><td colspan="[% NUM_COLUMNS %]"><hr size="3" noshade></td></tr> + + </table> + </p> + [% ELSE %] + <p><translate>No data was found.</translate></p> + [% END %] + + [% RAW_BOTTOM_INFO_TEXT %] + + [% IF BOTTOM_INFO_TEXT %] + <p>[% BOTTOM_INFO_TEXT %]</p> + [% END %] + + [% IF SHOW_EXPORT_BUTTONS %] + <form action="[% HTML.escape(script) %]" name="report_generator_form" method="post"> + [% FOREACH var = EXPORT_VARIABLES %]<input type="hidden" name="report_generator_hidden_[% var.key %]" value="[% HTML.escape(var.value) %]"> + [% END %] + + <input type="hidden" name="report_generator_nextsub" value="[% HTML.escape(EXPORT_NEXTSUB) %]"> + <input type="hidden" name="report_generator_variable_list" value="[% HTML.escape(EXPORT_VARIABLE_LIST) %]"> + <input type="hidden" name="report_generator_dispatch_to" value=""> + <input type="hidden" name="action" value="report_generator_dispatcher"> + + <p> + Listenexport<br> + [% IF ALLOW_PDF_EXPORT %]<button type="button" class="submit" onclick="submit_report_generator_form('report_generator_export_as_pdf')">Als PDF exportieren</button>[% END %] + [% IF ALLOW_CSV_EXPORT %]<button type="button" class="submit" onclick="submit_report_generator_form('report_generator_export_as_csv')">Als CSV exportieren</button>[% END %] + </p> + </form> + [% END %] + +</body> -- 2.20.1