# $locale->text('Trial Balance')
# $locale->text('AR Aging')
# $locale->text('AP Aging')
+# $locale->text('Search AR Aging')
+# $locale->text('Search AP Aging')
# $locale->text('Tax collected')
# $locale->text('Tax paid')
# $locale->text('Receipts')
# $locale->text('Project Transactions')
# $locale->text('Non-taxable Sales')
# $locale->text('Non-taxable Purchases')
+# $locale->text('Business evaluation')
# $form->parse_html_template('rp/html_report_susa')
'balance_sheet' => 'report',
};
-# subs use these pretty freely, so declare them here
-our (%column_data, @column_index);
-our ($subtotalnetamount, $subtotaltax, $subtotal);
-
sub check_rp_access {
my $form = $main::form;
'balance_sheet' => 'Balance Sheet',
'income_statement' => 'Income Statement',
'trial_balance' => 'Trial Balance',
- 'ar_aging' => 'AR Aging',
- 'ap_aging' => 'Offene Verbindlichkeiten',
+ 'ar_aging' => 'Search AR Aging',
+ 'ap_aging' => 'Search AP Aging',
'tax_collected' => 'Tax collected',
'tax_paid' => 'Tax paid',
'nontaxable_sales' => 'Non-taxable Sales',
'receipts' => 'Receipts',
'payments' => 'Payments',
'projects' => 'Project Transactions',
- 'bwa' => 'Betriebswirtschaftliche Auswertung',
+ 'bwa' => 'Business evaluation',
);
$form->{title} = $locale->text($title{ $form->{report} });
}
sub generate_balance_sheet {
- $main::lxdebug->enter_sub();
+ $::lxdebug->enter_sub;
+ $::auth->assert('report');
- $main::auth->assert('report');
-
- my $form = $main::form;
- my %myconfig = %main::myconfig;
- my $locale = $main::locale;
-
- $form->{decimalplaces} = $form->{decimalplaces} * 1 || 2;
- $form->{padding} = " ";
- $form->{bold} = "<b>";
- $form->{endbold} = "</b>";
- $form->{br} = "<br>";
+ $::form->{decimalplaces} = $::form->{decimalplaces} * 1 || 2;
+ $::form->{padding} = " ";
+ $::form->{bold} = "<b>";
+ $::form->{endbold} = "</b>";
+ $::form->{br} = "<br>";
- my $data = RP->balance_sheet(\%myconfig, \%$form);
+ 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->{asofdate} ||= $::form->current_date;
+ $::form->{period} = $::locale->date(\%::myconfig, $::form->current_date, 1);
- ($form->{department}) = split /--/, $form->{department};
+ ($::form->{department}) = split /--/, $::form->{department};
# define Current Earnings account
- my $padding = ($form->{l_heading}) ? $form->{padding} : "";
- push(@{ $form->{equity_account} }, $padding . $locale->text('Current Earnings'));
+ my $padding = $::form->{l_heading} ? $::form->{padding} : "";
+ 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);
+ $::form->{this_period} = $::locale->date(\%::myconfig, $::form->{asofdate}, 0);
+ $::form->{last_period} = $::locale->date(\%::myconfig, $::form->{compareasofdate}, 0);
- $form->{IN} = "balance_sheet.html";
+# $::form->{IN} = "balance_sheet.html";
# setup company variables for the form
- map { $form->{$_} = $myconfig{$_}; } (qw(company address businessnumber nativecurr));
+ map { $::form->{$_} = $::myconfig{$_} } qw(company address businessnumber nativecurr);
- $form->{templates} = $myconfig{templates};
+ $::form->{templates} = $::myconfig{templates};
- $form->header();
- print $form->parse_html_template('rp/balance_sheet', $data);
-# $form->parse_template();
+ $::form->header;
+ print $::form->parse_html_template('rp/balance_sheet', $data);
- $main::lxdebug->leave_sub();
+ $::lxdebug->leave_sub;
}
sub generate_projects {
'invnumber' => { 'text' => $locale->text('Invoice'), },
'transdate' => { 'text' => $locale->text('Date'), },
'duedate' => { 'text' => $locale->text('Due'), },
- 'amount' => { 'text' => $locale->text('Amount'), },
- 'open' => { 'text' => $locale->text('Open'), },
+ 'amount' => { 'text' => $locale->text('Amount'), },
+ 'open' => { 'text' => $locale->text('Open'), },
);
my %column_alignment = ('statement' => 'center',
$form->{snumbers} = qq|ordnumber_| . $form->{ordnumber};
$form->{addition} = "PRINTED";
$form->{what_done} = $form->{type};
- $form->save_history($form->dbconnect(\%myconfig));
+ $form->save_history;
}
# /saving the history
$main::lxdebug->leave_sub();
my $descvar = "$form->{accno}_description";
my $description = $form->escape($form->{$descvar});
my $ratevar = "$form->{accno}_rate";
- our $taxrate; # most likely error
+ my ($subtotalnetamount, $subtotaltax, $subtotal) = (0, 0, 0);
my $department = $form->escape($form->{department});
# construct href
my $href =
- "$form->{script}?&action=generate_tax_report&fromdate=$form->{fromdate}&todate=$form->{todate}&db=$form->{db}&method=$form->{method}&accno=$form->{accno}&$descvar=$description&department=$department&$ratevar=$taxrate&report=$form->{report}";
+ "$form->{script}?&action=generate_tax_report&fromdate=$form->{fromdate}&todate=$form->{todate}&db=$form->{db}&method=$form->{method}&accno=$form->{accno}&$descvar=$description&department=$department&report=$form->{report}";
# construct callback
$description = $form->escape($form->{$descvar}, 1);
$department = $form->escape($form->{department}, 1);
my $callback =
- "$form->{script}?&action=generate_tax_report&fromdate=$form->{fromdate}&todate=$form->{todate}&db=$form->{db}&method=$form->{method}&accno=$form->{accno}&$descvar=$description&department=$department&$ratevar=$taxrate&report=$form->{report}";
+ "$form->{script}?&action=generate_tax_report&fromdate=$form->{fromdate}&todate=$form->{todate}&db=$form->{db}&method=$form->{method}&accno=$form->{accno}&$descvar=$description&department=$department&report=$form->{report}";
my $title = $form->escape($form->{title});
$href .= "&title=$title";
my @columns =
$form->sort_columns(qw(id transdate invnumber name netamount tax amount));
+ my @column_index;
foreach my $item (@columns) {
if ($form->{"l_$item"} eq "Y") {
if ($form->{l_subtotal} eq 'Y') {
if ($sameitem ne $ref->{ $form->{sort} }) {
- &tax_subtotal;
+ tax_subtotal(\@column_index, \$subtotalnetamount, \$subtotaltax, \$subtotal);
$sameitem = $ref->{ $form->{sort} };
}
}
$ref->{$_} = $form->format_amount(\%myconfig, $ref->{$_}, 2, " ");
} qw(netamount tax amount);
+ my %column_data;
$column_data{id} = qq|<td>$ref->{id}</td>|;
$column_data{invnumber} =
qq|<td><a href=$module?action=edit&id=$ref->{id}&callback=$callback>$ref->{invnumber}</a></td>|;
}
if ($form->{l_subtotal} eq 'Y') {
- &tax_subtotal;
+ tax_subtotal(\@column_index, \$subtotalnetamount, \$subtotaltax, \$subtotal);
}
+ my %column_data;
map { $column_data{$_} = qq|<th> </th>| } @column_index;
print qq|
sub tax_subtotal {
$main::lxdebug->enter_sub();
+ my ($column_index, $subtotalnetamount, $subtotaltax, $subtotal) = @_;
+
my $form = $main::form;
my %myconfig = %main::myconfig;
my $locale = $main::locale;
- map { $column_data{$_} = "<td> </td>" } @column_index;
+ my %column_data;
+ map { $column_data{$_} = "<td> </td>" } @{ $column_index };
- $subtotalnetamount = $form->format_amount(\%myconfig, $subtotalnetamount, 2, " ");
- $subtotaltax = $form->format_amount(\%myconfig, $subtotaltax, 2, " ");
- $subtotal = $form->format_amount(\%myconfig, $subtotalnetamount + $subtotaltax, 2, " ");
+ $$subtotalnetamount = $form->format_amount(\%myconfig, $$subtotalnetamount, 2, " ");
+ $$subtotaltax = $form->format_amount(\%myconfig, $$subtotaltax, 2, " ");
+ $$subtotal = $form->format_amount(\%myconfig, $$subtotalnetamount + $$subtotaltax, 2, " ");
- $column_data{netamount} = "<th class=listsubtotal align=right>$subtotalnetamount</th>";
- $column_data{tax} = "<th class=listsubtotal align=right>$subtotaltax</th>";
- $column_data{amount} = "<th class=listsubtotal align=right>$subtotal</th>";
+ $column_data{netamount} = "<th class=listsubtotal align=right>$$subtotalnetamount</th>";
+ $column_data{tax} = "<th class=listsubtotal align=right>$$subtotaltax</th>";
+ $column_data{amount} = "<th class=listsubtotal align=right>$$subtotal</th>";
- $subtotalnetamount = 0;
- $subtotaltax = 0;
+ $$subtotalnetamount = 0;
+ $$subtotaltax = 0;
print qq|
<tr class=listsubtotal>
|;
- map { print "\n$column_data{$_}" } @column_index;
+ map { print "\n$column_data{$_}" } @{ $column_index };
print qq|
</tr>
};
}
} else {
- my ($yy, $mm, $dd) = $locale->parse_date(\%myconfig, $form->{fromdate});
- $form->{fromdate} = "${dd}.${mm}.${yy}";
- ($yy, $mm, $dd) = $locale->parse_date(\%myconfig, $form->{todate});
- $form->{todate} = "${dd}.${mm}.${yy}";
- $form->{comparefromdate} = "01.01.$yy";
- $form->{comparetodate} = $form->{todate};
+ # die konvertierungen nur dann durchführen, wenn auch daten gesetzt sind.
+ # ansonsten ist die prüfung in RP.pm
+ # if (defined ($form->{fromdate|todate}=='..'))
+ # immer wahr
+ if ($form->{fromdate}){
+ my ($yy, $mm, $dd) = $locale->parse_date(\%myconfig, $form->{fromdate});
+ $form->{fromdate} = "${dd}.${mm}.${yy}";
+ $form->{comparefromdate} = "01.01.$yy";
+ }
+ if ($form->{todate}){
+ my ($yy, $mm, $dd) = $locale->parse_date(\%myconfig, $form->{todate});
+ $form->{todate} = "${dd}.${mm}.${yy}";
+ $form->{comparetodate} = $form->{todate};
+ }
}
RP->bwa(\%myconfig, \%$form);