# $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} });
<input type=hidden name=title value="$form->{title}">
-<table width=100%>
+<table width=100% border="0">
<tr>
<th class=listtop>$form->{title}</th>
</tr>
<tr height="5"></tr>
<tr>
<td>
- <table>
+ <table border="0">
$department
|;
<th align=right>| . $locale->text($label) . qq|</th>
<td>$vc</td>
</tr>
+ <tr>
+ <td>| . $locale->text('Review of Aging list') . qq|</td>
+ <td><select name="review_of_aging_list">
+ <option></option>
+ <option>0-30</option>
+ <option>30-60</option>
+ <option>60-90</option>
+ <option>90-120</option>
+ <option>> 120</option>
+ </select>
+ </td>
+ </tr>
<tr>
<td align=left colspan=4>| . $locale->text('From') . qq|
$button1
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);
last SWITCH;
};
}
+ hotfix_reformat_date();
}
'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}";
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};
'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);
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) {
'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',
'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;
'raw_bottom_info_text' => $raw_bottom_info_text);
}
- $report->set_options_from_form();
-
$report->generate_with_headers();
$main::lxdebug->leave_sub();
$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>
);
$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);
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
# 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};
}
}
$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;