-
+
$department
|;
@@ -806,6 +805,18 @@ $jsscript
| . $locale->text($label) . qq| |
$vc |
+
+ | . $locale->text('Review of Aging list') . qq| |
+
+ |
+
| . $locale->text('From') . qq|
$button1
@@ -1053,7 +1064,8 @@ sub generate_income_statement {
last SWITCH;
};
}
- }
+ hotfix_reformat_date();
+ } # Ende Bericht für vorgewählten Zeitraum (warum auch immer die Prüfung (custom eq true) ist ...
RP->income_statement(\%myconfig, \%$form);
@@ -1283,6 +1295,7 @@ sub generate_trial_balance {
last SWITCH;
};
}
+ hotfix_reformat_date();
}
@@ -1357,6 +1370,7 @@ sub generate_trial_balance {
'pdf_template' => 'rp/html_report_susa',
);
$report->set_options_from_form();
+ $locale->set_numberformat_wo_thousands_separator(\%myconfig) if lc($report->{options}->{output_format}) eq 'csv';
# add sort and escape callback, this one we use for the add sub
$form->{callback} = $href .= "&sort=$form->{sort}";
@@ -1371,7 +1385,7 @@ sub generate_trial_balance {
my $edit_url = build_std_url('action=edit', 'type', 'vc');
my $idx;
- foreach my $accno (@{ $form->{TB} }) {
+ foreach my $accno (@{ $form->{TB} || [] }) {
$accno->{soll} = $accno->{debit};
$accno->{haben} = $accno->{credit};
@@ -1508,6 +1522,7 @@ sub list_accounts {
'std_column_visibility' => 1,
);
$report->set_options_from_form();
+ $locale->set_numberformat_wo_thousands_separator(\%myconfig) if lc($report->{options}->{output_format}) eq 'csv';
$report->set_columns(%column_defs);
$report->set_column_order(@columns);
@@ -1518,7 +1533,7 @@ sub list_accounts {
my %subtotals = map { $_ => 0 } @totals_columns;
my %totals = map { $_ => 0 } @totals_columns;
my $found_heading = 0;
- my @tb = sort { $a->{accno} cmp $b->{accno} } @{ $form->{TB} };
+ my @tb = sort { $a->{accno} cmp $b->{accno} } @{ $form->{TB} || [] };
# sort the whole thing by account numbers and display
foreach my $idx (0 .. scalar(@tb) - 1) {
@@ -1708,6 +1723,8 @@ sub aging {
'title' => $form->{title},
'attachment_basename' => $attachment_basename . strftime('_%Y%m%d', localtime time),
);
+ $report->set_options_from_form();
+ $locale->set_numberformat_wo_thousands_separator(\%myconfig) if lc($report->{options}->{output_format}) eq 'csv';
my $previous_ctid = 0;
my $row_idx = 0;
@@ -1764,8 +1781,6 @@ sub aging {
'raw_bottom_info_text' => $raw_bottom_info_text);
}
- $report->set_options_from_form();
-
$report->generate_with_headers();
$main::lxdebug->leave_sub();
@@ -2066,7 +2081,7 @@ sub print_form {
$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();
@@ -2115,19 +2130,19 @@ sub generate_tax_report {
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";
@@ -2138,6 +2153,7 @@ sub generate_tax_report {
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") {
@@ -2242,7 +2258,7 @@ sub generate_tax_report {
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} };
}
}
@@ -2258,6 +2274,7 @@ sub generate_tax_report {
$ref->{$_} = $form->format_amount(\%myconfig, $ref->{$_}, 2, " ");
} qw(netamount tax amount);
+ my %column_data;
$column_data{id} = qq| | $ref->{id} | |;
$column_data{invnumber} =
qq|{id}&callback=$callback>$ref->{invnumber} | |;
@@ -2282,9 +2299,10 @@ sub generate_tax_report {
}
if ($form->{l_subtotal} eq 'Y') {
- &tax_subtotal;
+ tax_subtotal(\@column_index, \$subtotalnetamount, \$subtotaltax, \$subtotal);
}
+ my %column_data;
map { $column_data{$_} = qq| | | } @column_index;
print qq|
@@ -2322,27 +2340,30 @@ sub generate_tax_report {
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{$_} = " | " } @column_index;
+ my %column_data;
+ map { $column_data{$_} = " | " } @{ $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} = "$subtotalnetamount | ";
- $column_data{tax} = "$subtotaltax | ";
- $column_data{amount} = "$subtotal | ";
+ $column_data{netamount} = "$$subtotalnetamount | ";
+ $column_data{tax} = "$$subtotaltax | ";
+ $column_data{amount} = "$$subtotal | ";
- $subtotalnetamount = 0;
- $subtotaltax = 0;
+ $$subtotalnetamount = 0;
+ $$subtotaltax = 0;
print qq|
|;
- map { print "\n$column_data{$_}" } @column_index;
+ map { print "\n$column_data{$_}" } @{ $column_index };
print qq|
@@ -2416,6 +2437,8 @@ sub list_payments {
);
$report->set_options_from_form();
+ $locale->set_numberformat_wo_thousands_separator(\%myconfig) if lc($report->{options}->{output_format}) eq 'csv';
+
$report->set_columns(%column_defs);
$report->set_column_order(@columns);
@@ -2707,6 +2730,7 @@ sub generate_bwa {
last SWITCH;
};
}
+ hotfix_reformat_date();
} else {
# die konvertierungen nur dann durchführen, wenn auch daten gesetzt sind.
# ansonsten ist die prüfung in RP.pm
@@ -2714,12 +2738,12 @@ sub generate_bwa {
# 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";
+ my $datetime = $locale->parse_date_to_object(\%myconfig, $form->{fromdate});
+ $datetime->set( month => 1,
+ day => 1);
+ $form->{comparefromdate} = $locale->format_date(\%::myconfig, $datetime);
}
if ($form->{todate}){
- my ($yy, $mm, $dd) = $locale->parse_date(\%myconfig, $form->{todate});
- $form->{todate} = "${dd}.${mm}.${yy}";
$form->{comparetodate} = $form->{todate};
}
}
@@ -2766,5 +2790,32 @@ sub generate_bwa {
$main::lxdebug->leave_sub();
}
+###
+# Hotfix, um das Datumsformat, die unten hart auf deutsches Datumsformat eingestellt
+# sind, entsprechend mit anderem Formaten (z.B. iso-kodiert) zum Laufen zu bringen (S.a.: Bug 1388)
+sub hotfix_reformat_date {
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+ my $locale = $main::locale;
+
+ if ($myconfig{dateformat} ne 'dd.mm.yyyy'){
+ my $current_dateformat = $myconfig{dateformat};
+ $myconfig{dateformat} = 'dd.mm.yyyy';
+ $form->{fromdate} = $main::locale->reformat_date(\%myconfig, $form->{fromdate}, $current_dateformat);
+ $form->{todate} = $main::locale->reformat_date(\%myconfig, $form->{todate}, $current_dateformat);
+ $form->{comparefromdate} = $main::locale->reformat_date(\%myconfig, $form->{comparefromdate}, $current_dateformat)
+ unless (!defined ($form->{comparefromdate}));
+ $form->{comparetodate} = $main::locale->reformat_date(\%myconfig, $form->{comparetodate}, $current_dateformat)
+ unless (!defined ($form->{comparetodate}));
+
+ # Und wieder zurücksetzen
+ $myconfig{dateformat} = $current_dateformat; #'dd.mm.yyyy';
+ } # Ende Hotifx Bug 1388
+
+ $main::lxdebug->leave_sub();
+
+}
1;
|