X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Frp.pl;h=bf1270ece208814a21cfb725197fdf166841e424;hb=1974df3353b9c43a8c53c699f430a8767438b341;hp=a6308c69308d7f25e07db0d969fc7f45a81e71e8;hpb=0cd403228559232bfcdd3090398a65dab0b8338b;p=kivitendo-erp.git diff --git a/bin/mozilla/rp.pl b/bin/mozilla/rp.pl index a6308c693..bf1270ece 100644 --- a/bin/mozilla/rp.pl +++ b/bin/mozilla/rp.pl @@ -41,6 +41,7 @@ use SL::PE; use SL::RP; use SL::Iconv; use SL::ReportGenerator; +use Data::Dumper; require "bin/mozilla/arap.pl"; require "bin/mozilla/common.pl"; @@ -189,10 +190,10 @@ sub report { $value_2 = ""; $trigger_2 = "trigger2"; } elsif (($form->{report} eq "ar_aging") || ($form->{report} eq "ap_aging")) { - $name_1 = ""; - $id_1 = ""; - $value_1 = ""; - $trigger_1 = ""; + $name_1 = "fromdate"; + $id_1 = "fromdate"; + $value_1 = "$form->{fromdate}"; + $trigger_1 = "trigger1"; $name_2 = "todate"; $id_2 = "todate"; $value_2 = ""; @@ -464,7 +465,7 @@ $checked> | . $locale->text('Decimalplaces') . qq| - + $jsscript |; } @@ -601,7 +602,7 @@ $jsscript | . $locale->text('Decimalplaces') . qq| - + $jsscript |; } @@ -788,10 +789,12 @@ $jsscript $vc - | . $locale->text('Bis') . qq| - - $button1 - $button1_2 + | . $locale->text('From') . qq|  + $button1 + $button1_2  + | . $locale->text('Bis') . qq|  + $button2 + $button2_2 @@ -905,7 +908,7 @@ sub get_project { $form->{projectnumber_1} = $form->{projectnumber}; delete $form->{sort}; - &check_project; + check_project('generate_projects'); # if there is one only, assign id $form->{project_id} = $form->{project_id_1}; @@ -1088,120 +1091,36 @@ sub generate_balance_sheet { $auth->assert('report'); - RP->balance_sheet(\%myconfig, \%$form); + $form->{decimalplaces} = $form->{decimalplaces} * 1 || 2; + $form->{padding} = "  "; + $form->{bold} = ""; + $form->{endbold} = ""; + $form->{br} = "
"; + + my $data = RP->balance_sheet(\%myconfig, \%$form); $form->{asofdate} = $form->current_date(\%myconfig) unless $form->{asofdate}; - $form->{period} = - $locale->date(\%myconfig, $form->current_date(\%myconfig), 1); + $form->{period} = $locale->date(\%myconfig, $form->current_date(\%myconfig), 1); ($form->{department}) = split /--/, $form->{department}; # define Current Earnings account $padding = ($form->{l_heading}) ? $form->{padding} : ""; - push(@{ $form->{equity_account} }, - $padding . $locale->text('Current Earnings')); + push(@{ $form->{equity_account} }, $padding . $locale->text('Current Earnings')); $form->{this_period} = $locale->date(\%myconfig, $form->{asofdate}, 0); - $form->{last_period} = - $locale->date(\%myconfig, $form->{compareasofdate}, 0); - - 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'), } - ); + $form->{last_period} = $locale->date(\%myconfig, $form->{compareasofdate}, 0); + $form->{IN} = "balance_sheet.html"; + # setup company variables for the form + map { $form->{$_} = $myconfig{$_}; } (qw(company address businessnumber nativecurr)); - 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_bilanz', $variables)); - $form->{report_template} = 'report_generator/html_report_bilanz'; - # 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(); + $form->{templates} = $myconfig{templates}; + $form->header(); + print $form->parse_html_template('rp/balance_sheet', $data); +# $form->parse_template(); $lxdebug->leave_sub(); } @@ -1337,7 +1256,7 @@ sub generate_trial_balance { # get for each account initial balance, debits and credits - RP->trial_balance(\%myconfig, \%$form); + RP->trial_balance(\%myconfig, \%$form, 'beginning_balances' => 1); $form->{rowcount} = scalar @{ $form->{TB} }; @@ -1347,33 +1266,31 @@ sub generate_trial_balance { "accno", "description", "last_transaction", "soll_eb", "haben_eb", - "soll", "haben", - "soll_kumuliert", "haben_kumuliert", - "soll_saldo", "haben_saldo" + "soll", "haben", + "soll_kumuliert", "haben_kumuliert", + "soll_saldo", "haben_saldo" ); - my $attachment_basename; - $attachment_basename = $locale->text('trial_balance'); - my $report = SL::ReportGenerator->new(\%myconfig, $form); + my $attachment_basename = $locale->text('trial_balance'); + my $report = SL::ReportGenerator->new(\%myconfig, $form); - my @hidden_variables = (); - push @hidden_variables, qw(fromdate todate year cash ); + my @hidden_variables = qw(fromdate todate year cash); - my $href = build_std_url('action=generate_trial_balance', grep { $form->{$_} } @hidden_variables); + my $href = build_std_url('action=generate_trial_balance', 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_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'), } ); @@ -1387,15 +1304,22 @@ sub generate_trial_balance { $report->set_export_options('generate_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->{print_date} = $locale->text('Create Date') . " " . $locale->date(\%myconfig, $form->current_date(\%myconfig), 0); + push (@options, $form->{print_date}); + + $form->{company} = $locale->text('Company') . " " . $myconfig{company}; + push (@options, $form->{company}); + + $form->{template_to} = $locale->date(\%myconfig, $form->{todate}, 0); $report->set_options('output_format' => 'HTML', + 'top_info_text' => join("\n", @options), 'title' => $form->{title}, 'attachment_basename' => $attachment_basename . strftime('_%Y%m%d', localtime time), 'html_template' => 'rp/html_report_susa', @@ -1436,6 +1360,7 @@ sub generate_trial_balance { $row->{$ordnumber}->{link} = $edit_url . "&id=" . E($oe->{id}) . "&callback=${callback}"; + $row->{accno}->{link} = build_std_url('script=ca.pl', 'action=list_transactions', 'accno=' . E($accno->{accno}), 'description=' . E($accno->{description}), 'fromdate=' . E($form->{fromdate}), 'todate=' . E($form->{todate}), 'method=' . E($form->{method})); my $row_set = [ $row ]; @@ -1548,8 +1473,6 @@ sub list_accounts { $report->set_export_options($action, @hidden_variables); - $report->set_sort_indicator('accno', 1); - my @totals_columns = qw(credit debit begbalance endbalance); my %subtotals = map { $_ => 0 } @totals_columns; my %totals = map { $_ => 0 } @totals_columns; @@ -1666,7 +1589,7 @@ sub create_aging_subtotal_row { sub aging { $lxdebug->enter_sub(); - print(STDERR "Bin in Aging\n"); + $auth->assert('general_ledger'); my $report = SL::ReportGenerator->new(\%myconfig, $form); @@ -1714,7 +1637,11 @@ sub aging { $form->{title} = sprintf($locale->text('Ap aging on %s'), $form->{todate}); } - push @options, $locale->text('for Period') . " " . $locale->text('Bis') . " " . $locale->date(\%myconfig, $form->{todate}, 1); + if ($form->{fromdate}) { + push @options, $locale->text('for Period') . " " . $locale->text('From') . " " .$locale->date(\%myconfig, $form->{fromdate}, 1) . " " . $locale->text('Bis') . " " . $locale->date(\%myconfig, $form->{todate}, 1); + } else { + push @options, $locale->text('for Period') . " " . $locale->text('Bis') . " " . $locale->date(\%myconfig, $form->{todate}, 1); + } my $attachment_basename = $form->{ct} eq 'customer' ? $locale->text('ar_aging_list') : $locale->text('ap_aging_list'); @@ -1755,8 +1682,8 @@ sub aging { if ($previous_ctid != $ref->{ctid}) { $row->{statement}->{raw_data} = - $cgi->hidden('-name' => "customer_id_${row_idx}", '-value' => $ref->{ctid}) - . $cgi->checkbox('-name' => "statement_${row_idx}", '-value' => 1, '-label' => '', 'checked' => $ref->{checked}); + $cgi->hidden('-name' => "customer_id_" . ($row_idx + 1), '-value' => $ref->{ctid}) + . $cgi->checkbox('-name' => "statement_" . ($row_idx + 1), '-value' => 1, '-label' => '', 'checked' => $ref->{checked}); $row->{ct}->{data} = $ref->{name}; $row_idx++; @@ -2059,7 +1986,7 @@ sub print_form { $form->{what_done} = $form->{type}; $form->save_history($form->dbconnect(\%myconfig)); } - # /saving the history + # /saving the history $lxdebug->leave_sub(); } @@ -2342,6 +2269,8 @@ sub list_payments { $option = $locale->text('Department') . " : $department"; } + report_generator_set_default_sort('transdate', 1); + RP->payments(\%myconfig, \%$form); my @hidden_variables = qw(account title department reference source memo fromdate todate @@ -2361,14 +2290,17 @@ sub list_payments { ); my %column_alignment = ('paid' => 'right'); - map { $column_defs{$_}->{link} = $href . "&sort=$_" } grep { $_ ne 'paid' } @columns; + foreach my $name (grep { $_ ne 'paid' } @columns) { + my $sortdir = $form->{sort} eq $name ? 1 - $form->{sortdir} : $form->{sortdir}; + $column_defs{$name}->{link} = $href . "&sort=${name}&sortdir=$sortdir"; + } my @options; if ($form->{fromdate}) { - push @options, $locale->text('From') . " " . $locale->date(\%myconfig, $form->{fromdate}, 1); + push @options, $locale->text('From') . " " . $locale->date(\%myconfig, $form->{fromdate}, 1); } if ($form->{todate}) { - push @options, $locale->text('bis') . " " . $locale->date(\%myconfig, $form->{todate}, 1); + push @options, $locale->text('bis') . " " . $locale->date(\%myconfig, $form->{todate}, 1); } my $report = SL::ReportGenerator->new(\%myconfig, $form); @@ -2386,9 +2318,9 @@ sub list_payments { $report->set_columns(%column_defs); $report->set_column_order(@columns); - $report->set_export_options('list_payments', @hidden_variables); + $report->set_export_options('list_payments', @hidden_variables, qw(sort sortdir)); - $report->set_sort_indicator($form->{sort}, 1); + $report->set_sort_indicator($form->{sort}, $form->{sortdir}); my $total_paid = 0;