#
# Contributors: Antonio Gallardo <agssa@ibw.com.ni>
# Benjamin Lee <benjaminlee@consultant.com>
-# Philip Reetz <p.reetz@linet-services.de>
-# Udo Spallek
+# Philip Reetz <p.reetz@linet-services.de>
+# Udo Spallek
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# $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} });
# get departments
$form->all_departments(\%myconfig);
- if (@{ $form->{all_departments} }) {
+ if (@{ $form->{all_departments} || [] }) {
$form->{selectdepartment} = "<option>\n";
- map { $form->{selectdepartment} .= "<option>$_->{description}--$_->{id}\n" } @{ $form->{all_departments} };
+ map { $form->{selectdepartment} .= "<option>$_->{description}--$_->{id}\n" } @{ $form->{all_departments} || [] };
}
my $department = qq|
- <tr>
- <th align=right nowrap>| . $locale->text('Department') . qq|</th>
- <td colspan=3><select name=department>$form->{selectdepartment}</select></td>
- </tr>
+ <tr>
+ <th align=right nowrap>| . $locale->text('Department') . qq|</th>
+ <td colspan=3><select name=department>$form->{selectdepartment}</select></td>
+ </tr>
| if $form->{selectdepartment};
$form->get_lists("projects" => { "key" => "ALL_PROJECTS",
<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
|;
if ($form->{report} eq "projects") {
print qq|
- <tr>
- <th align=right nowrap>| . $locale->text('Project') . qq|</th>
- <td colspan=5><input name=projectnumber size=25</td>
- </tr>
+ <tr>
+ <th align=right nowrap>| . $locale->text('Project') . qq|</th>
+ <td colspan=5><input name=projectnumber size=25</td>
+ </tr>
<input type=hidden name=nextsub value=generate_projects>
<tr>
- <th align=right>| . $locale->text('From') . qq|</th>
+ <th align=right>| . $locale->text('From') . qq|</th>
<td>$button1</td>
<td>$button1_2</td>
- <th align=right>| . $locale->text('Bis') . qq|</th>
+ <th align=right>| . $locale->text('Bis') . qq|</th>
<td>$button2</td>
<td>$button2_2</td>
- </tr>
+ </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|</td>
- </tr>
+ <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|</td>
+ </tr>
$jsscript
|;
if ($form->{report} eq "income_statement") {
print qq|
- <tr>
- <th align=right nowrap>| . $locale->text('Project') . qq|</th>
- <td colspan=3>$projectnumber</td>
- </tr>
+ <tr>
+ <th align=right nowrap>| . $locale->text('Project') . qq|</th>
+ <td colspan=3>$projectnumber</td>
+ </tr>
<input type=hidden name=nextsub value=generate_income_statement>
</table>
<table>
- <tr>
- <th align=left><input name=reporttype class=radio type=radio value="custom" checked> | . $locale->text('Customized Report') . qq|</th>
- </tr>
- <tr>
- <th colspan=1>| . $locale->text('Year') . qq|</th>
- <td><input name=year size=11 title="| . $locale->text('YYYY') . qq|" value="$year"></td>
- </tr>
+ <tr>
+ <th align=left><input name=reporttype class=radio type=radio value="custom" checked> | . $locale->text('Customized Report') . qq|</th>
+ </tr>
+ <tr>
+ <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>
+ <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 = "";
print qq|
- <td><input name=duetyp class=radio type=radio value="1" $checked > | . $locale->text('January') . qq|</td>
+ <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>
+ <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
+ <td align=left colspan=4>| . $locale->text('From') . qq|
+ $button1
$button1_2
- | . $locale->text('Bis') . qq|
+ | . $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>
+ <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>
$jsscript
|;
if ($form->{report} eq "bwa") {
print qq|
- <tr>
- <th align=right nowrap>| . $locale->text('Project') . qq|</th>
- <td colspan=3>$projectnumber</td>
- </tr>
+ <tr>
+ <th align=right nowrap>| . $locale->text('Project') . qq|</th>
+ <td colspan=3>$projectnumber</td>
+ </tr>
<input type=hidden name=nextsub value=generate_bwa>
</table>
<table>
- <tr>
- <th align=left><input name=reporttype class=radio type=radio value="custom" checked> | . $locale->text('Customized Report') . qq|</th>
- </tr>
- <tr>
- <th colspan=1>| . $locale->text('Year') . qq|</th>
- <td><input name=year size=11 title="| . $locale->text('YYYY') . qq|" value="$year"></td>
- </tr>
+ <tr>
+ <th align=left><input name=reporttype class=radio type=radio value="custom" checked> | . $locale->text('Customized Report') . qq|</th>
+ </tr>
+ <tr>
+ <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"
+ <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>
+ <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>
+ <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>
+ <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
+ <td align=left colspan=4>| . $locale->text('From') . qq|
+ $button1
$button1_2
- | . $locale->text('Bis') . qq|
- $button2
+ | . $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>
+ <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('Decimalplaces') . qq|</th>
<td><input name=decimalplaces size=3 value="2"></td>
if ($form->{report} eq "balance_sheet") {
print qq|
<input type=hidden name=nextsub value=generate_balance_sheet>
- <tr>
- <th align=right>| . $locale->text('as at') . qq|</th>
- <td>
+ <tr>
+ <th align=right>| . $locale->text('as at') . qq|</th>
+ <td>
$button1
$button1_2
</td>
- <th align=right nowrap>| . $locale->text('Compare to') . qq|</th>
- <td>
+ <th align=right nowrap>| . $locale->text('Compare to') . qq|</th>
+ <td>
$button2
$button2_2
</td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Decimalplaces') . qq|</th>
- <td><input name=decimalplaces size=3 value="2"></td>
- </tr>
+ </tr>
+ <tr>
+ <th align=right>| . $locale->text('Decimalplaces') . qq|</th>
+ <td><input name=decimalplaces size=3 value="2"></td>
+ </tr>
</table>
</td>
</tr>
<tr>
<td>
<table>
- <tr>
- <th align=right>| . $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 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=l_accno class=checkbox type=checkbox value=Y> | . $locale->text('Account Number') . qq|</td>
- </tr>
+ <tr>
+ <th align=right>| . $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 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=l_accno class=checkbox type=checkbox value=Y> | . $locale->text('Account Number') . qq|</td>
+ </tr>
$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>
+ <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>
</table>
<table>
- <tr>
- <th align=left><input name=reporttype class=radio type=radio value="custom" checked> | . $locale->text('Customized Report') . qq|</th>
- </tr>
- <tr>
- <th colspan=1>| . $locale->text('Year') . qq|</th>
- <td><input name=year size=11 title="| . $locale->text('YYYY') . qq|" value="$year"></td>
- </tr>
+ <tr>
+ <th align=left><input name=reporttype class=radio type=radio value="custom" checked> | . $locale->text('Customized Report') . qq|</th>
+ </tr>
+ <tr>
+ <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>
+ <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>
+ <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>
+ <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
+ <td align=left colspan=4>| . $locale->text('From') . qq|
+ $button1
$button1_2
- | . $locale->text('Bis') . qq|
- $button2
+ | . $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>
+ <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>
print qq|
<input type=hidden name=nextsub value=generate_tax_report>
- <tr>
- <th align=right>| . $locale->text('From') . qq|</th>
- <td><input name=fromdate size=11 title="$myconfig{dateformat}" value=$form->{fromdate}></td>
- <th align=right>| . $locale->text('Bis') . qq|</th>
- <td><input name=todate size=11 title="$myconfig{dateformat}"></td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Report for') . qq|</th>
- <td colspan=3>
+ <tr>
+ <th align=right>| . $locale->text('From') . qq|</th>
+ <td><input name=fromdate size=11 title="$myconfig{dateformat}" value=$form->{fromdate}></td>
+ <th align=right>| . $locale->text('Bis') . qq|</th>
+ <td><input name=todate size=11 title="$myconfig{dateformat}"></td>
+ </tr>
+ <tr>
+ <th align=right>| . $locale->text('Report for') . qq|</th>
+ <td colspan=3>
|;
$checked = "checked";
<input type=hidden name=db value=$form->{db}>
<input type=hidden name=sort value=transdate>
- </td>
- </tr>
- <tr>
- <th align=right>| . $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>
+ </td>
+ </tr>
+ <tr>
+ <th align=right>| . $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>
</table>
</td>
</tr>
<td>
<table>
<tr>
- <th align=right>| . $locale->text('Include in Report') . qq|</th>
- <td>
- <table>
- <tr>
- <td><input name="l_id" class=checkbox type=checkbox value=Y></td>
- <td>| . $locale->text('ID') . qq|</td>
- <td><input name="l_invnumber" class=checkbox type=checkbox value=Y checked></td>
- <td>| . $locale->text('Invoice') . qq|</td>
- <td><input name="l_transdate" class=checkbox type=checkbox value=Y checked></td>
- <td>| . $locale->text('Date') . qq|</td>
- </tr>
- <tr>
- <td><input name="l_name" class=checkbox type=checkbox value=Y checked></td>
- <td>|;
+ <th align=right>| . $locale->text('Include in Report') . qq|</th>
+ <td>
+ <table>
+ <tr>
+ <td><input name="l_id" class=checkbox type=checkbox value=Y></td>
+ <td>| . $locale->text('ID') . qq|</td>
+ <td><input name="l_invnumber" class=checkbox type=checkbox value=Y checked></td>
+ <td>| . $locale->text('Invoice') . qq|</td>
+ <td><input name="l_transdate" class=checkbox type=checkbox value=Y checked></td>
+ <td>| . $locale->text('Date') . qq|</td>
+ </tr>
+ <tr>
+ <td><input name="l_name" class=checkbox type=checkbox value=Y checked></td>
+ <td>|;
if ($form->{db} eq 'ar') {
print $locale->text('Customer');
print qq|</td>
<td><input name="l_netamount" class=checkbox type=checkbox value=Y checked></td>
- <td>| . $locale->text('Amount') . qq|</td>
- <td><input name="l_tax" class=checkbox type=checkbox value=Y checked></td>
- <td>| . $locale->text('Tax') . qq|</td>
- <td><input name="l_amount" class=checkbox type=checkbox value=Y></td>
- <td>| . $locale->text('Total') . qq|</td>
- </tr>
- <tr>
- <td><input name="l_subtotal" class=checkbox type=checkbox value=Y></td>
- <td>| . $locale->text('Subtotal') . qq|</td>
- </tr>
- </table>
- </td>
- </tr>
+ <td>| . $locale->text('Amount') . qq|</td>
+ <td><input name="l_tax" class=checkbox type=checkbox value=Y checked></td>
+ <td>| . $locale->text('Tax') . qq|</td>
+ <td><input name="l_amount" class=checkbox type=checkbox value=Y></td>
+ <td>| . $locale->text('Total') . qq|</td>
+ </tr>
+ <tr>
+ <td><input name="l_subtotal" class=checkbox type=checkbox value=Y></td>
+ <td>| . $locale->text('Subtotal') . qq|</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
|;
}
<input type=hidden name=sort value=transdate>
<input type=hidden name=report value=$form->{report}>
- <tr>
- <th align=right>| . $locale->text('From') . qq|</th>
- <td><input name=fromdate size=11 title="$myconfig{dateformat}" value=$form->{fromdate}></td>
- <th align=right>| . $locale->text('Bis') . qq|</th>
- <td><input name=todate size=11 title="$myconfig{dateformat}"></td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Method') . qq|</th>
- <td colspan=3><input name=method class=radio type=radio value=accrual $accrual>|
+ <tr>
+ <th align=right>| . $locale->text('From') . qq|</th>
+ <td><input name=fromdate size=11 title="$myconfig{dateformat}" value=$form->{fromdate}></td>
+ <th align=right>| . $locale->text('Bis') . qq|</th>
+ <td><input name=todate size=11 title="$myconfig{dateformat}"></td>
+ </tr>
+ <tr>
+ <th align=right>| . $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>|
+ <input name=method class=radio type=radio value=cash $cash>|
. $locale->text('EUR') . qq|</td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('Include in Report') . qq|</th>
- <td colspan=3>
- <table>
- <tr>
- <td><input name="l_id" class=checkbox type=checkbox value=Y></td>
- <td>| . $locale->text('ID') . qq|</td>
- <td><input name="l_invnumber" class=checkbox type=checkbox value=Y checked></td>
- <td>| . $locale->text('Invoice') . qq|</td>
- <td><input name="l_transdate" class=checkbox type=checkbox value=Y checked></td>
- <td>| . $locale->text('Date') . qq|</td>
- </tr>
- <tr>
- <td><input name="l_name" class=checkbox type=checkbox value=Y checked></td>
- <td>|;
+ </tr>
+ <tr>
+ <th align=right>| . $locale->text('Include in Report') . qq|</th>
+ <td colspan=3>
+ <table>
+ <tr>
+ <td><input name="l_id" class=checkbox type=checkbox value=Y></td>
+ <td>| . $locale->text('ID') . qq|</td>
+ <td><input name="l_invnumber" class=checkbox type=checkbox value=Y checked></td>
+ <td>| . $locale->text('Invoice') . qq|</td>
+ <td><input name="l_transdate" class=checkbox type=checkbox value=Y checked></td>
+ <td>| . $locale->text('Date') . qq|</td>
+ </tr>
+ <tr>
+ <td><input name="l_name" class=checkbox type=checkbox value=Y checked></td>
+ <td>|;
if ($form->{db} eq 'ar') {
print $locale->text('Customer');
print qq|</td>
<td><input name="l_netamount" class=checkbox type=checkbox value=Y checked></td>
- <td>| . $locale->text('Amount') . qq|</td>
- <td><input name="l_amount" class=checkbox type=checkbox value=Y></td>
- <td>| . $locale->text('Total') . qq|</td>
- </tr>
- <tr>
- <td><input name="l_subtotal" class=checkbox type=checkbox value=Y></td>
- <td>| . $locale->text('Subtotal') . qq|</td>
- </tr>
- </table>
- </td>
- </tr>
+ <td>| . $locale->text('Amount') . qq|</td>
+ <td><input name="l_amount" class=checkbox type=checkbox value=Y></td>
+ <td>| . $locale->text('Total') . qq|</td>
+ </tr>
+ <tr>
+ <td><input name="l_subtotal" class=checkbox type=checkbox value=Y></td>
+ <td>| . $locale->text('Subtotal') . qq|</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
|;
}
: qq|<input name=$form->{vc} size=35>|;
print qq|
- <tr>
- <th align=right>| . $locale->text($label) . qq|</th>
- <td>$vc</td>
- </tr>
- <tr>
- <td align=left colspan=4>| . $locale->text('From') . qq|
- $button1
+ <tr>
+ <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
$button1_2
- | . $locale->text('Bis') . qq|
- $button2
+ | . $locale->text('Bis') . qq|
+ $button2
$button2_2
</td>
- </tr>
+ </tr>
<input type=hidden name=type value=statement>
<input type=hidden name=format value=html>
- <input type=hidden name=media value=screen>
+ <input type=hidden name=media value=screen>
- <input type=hidden name=nextsub value=$nextsub>
- <input type=hidden name=action value=$nextsub>
+ <input type=hidden name=nextsub value=$nextsub>
+ <input type=hidden name=action value=$nextsub>
$jsscript
|;
print qq|
<input type=hidden name=nextsub value=list_payments>
<tr>
- <th align=right nowrap>| . $locale->text('Account') . qq|</th>
+ <th align=right nowrap>| . $locale->text('Account') . qq|</th>
<td colspan=3><select name=account>$selection</select>
- <input type=hidden name=paymentaccounts value="$paymentaccounts">
- </td>
- </tr>
+ <input type=hidden name=paymentaccounts value="$paymentaccounts">
+ </td>
+ </tr>
<tr>
- <th align=right>| . $locale->text('Reference') . qq|</th>
+ <th align=right>| . $locale->text('Reference') . qq|</th>
<td colspan=3><input name=reference></td>
- </tr>
+ </tr>
<tr>
- <th align=right nowrap>| . $locale->text('Source') . qq|</th>
+ <th align=right nowrap>| . $locale->text('Source') . qq|</th>
<td colspan=3><input name=source></td>
- </tr>
+ </tr>
<tr>
- <th align=right nowrap>| . $locale->text('Memo') . qq|</th>
+ <th align=right nowrap>| . $locale->text('Memo') . qq|</th>
<td colspan=3><input name=memo size=30></td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('From') . qq|</th>
- <td>
+ </tr>
+ <tr>
+ <th align=right>| . $locale->text('From') . qq|</th>
+ <td>
$button1
$button1_2
</td>
- <th align=right>| . $locale->text('Bis') . qq|</th>
- <td>
+ <th align=right>| . $locale->text('Bis') . qq|</th>
+ <td>
$button2
$button2_2
</td>
- </tr>
+ </tr>
<tr>
- <td align=right><input type=checkbox style=checkbox name=fx_transaction value=1 checked></td>
- <th align=left colspan=3>| . $locale->text('Include Exchangerate Difference') . qq|</td>
- </tr>
+ <td align=right><input type=checkbox style=checkbox name=fx_transaction value=1 checked></td>
+ <th align=left colspan=3>| . $locale->text('Include Exchangerate Difference') . qq|</td>
+ </tr>
$jsscript
- <input type=hidden name=db value=$form->{db}>
- <input type=hidden name=sort value=transdate>
+ <input type=hidden name=db value=$form->{db}>
+ <input type=hidden name=sort value=transdate>
|;
}
}
sub generate_balance_sheet {
- $main::lxdebug->enter_sub();
+ $::lxdebug->enter_sub;
+ $::auth->assert('report');
- $main::auth->assert('report');
+ $::form->{decimalplaces} = $::form->{decimalplaces} * 1 || 2;
+ $::form->{padding} = " ";
+ $::form->{bold} = "<b>";
+ $::form->{endbold} = "</b>";
+ $::form->{br} = "<br>";
- my $form = $main::form;
- my %myconfig = %main::myconfig;
- my $locale = $main::locale;
+ my $data = RP->balance_sheet(\%::myconfig, $::form);
- $form->{decimalplaces} = $form->{decimalplaces} * 1 || 2;
- $form->{padding} = " ";
- $form->{bold} = "<b>";
- $form->{endbold} = "</b>";
- $form->{br} = "<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->{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',
if ($myconfig{role} eq 'admin') {
$bcc = qq|
<th align=right nowrap=true>| . $locale->text('Bcc') . qq|</th>
- <td><input name=bcc size=30 value="$form->{bcc}"></td>
+ <td><input name=bcc size=30 value="$form->{bcc}"></td>
|;
}
<td>
<table width=100%>
<tr>
- <th align=right nowrap>| . $locale->text('E-mail') . qq|</th>
- <td><input name=email size=30 value="$form->{email}"></td>
- <th align=right nowrap>| . $locale->text('Cc') . qq|</th>
- <td><input name=cc size=30 value="$form->{cc}"></td>
- </tr>
- <tr>
- <th align=right nowrap>| . $locale->text('Subject') . qq|</th>
- <td><input name=subject size=30 value="$form->{subject}"></td>
- $bcc
- </tr>
+ <th align=right nowrap>| . $locale->text('E-mail') . qq|</th>
+ <td><input name=email size=30 value="$form->{email}"></td>
+ <th align=right nowrap>| . $locale->text('Cc') . qq|</th>
+ <td><input name=cc size=30 value="$form->{cc}"></td>
+ </tr>
+ <tr>
+ <th align=right nowrap>| . $locale->text('Subject') . qq|</th>
+ <td><input name=subject size=30 value="$form->{subject}"></td>
+ $bcc
+ </tr>
</table>
</td>
</tr>
<td>
<table width=100%>
<tr>
- <th align=left nowrap>| . $locale->text('Message') . qq|</th>
- </tr>
- <tr>
- <td><textarea name=message rows=15 cols=60 wrap=soft>$form->{message}</textarea></td>
- </tr>
+ <th align=left nowrap>| . $locale->text('Message') . qq|</th>
+ </tr>
+ <tr>
+ <td><textarea name=message rows=15 cols=60 wrap=soft>$form->{message}</textarea></td>
+ </tr>
</table>
</td>
</tr>
# saving the history
if(!exists $form->{addition} && $form->{id} ne "") {
$form->{snumbers} = qq|ordnumber_| . $form->{ordnumber};
- $form->{addition} = "PRINTED";
- $form->{what_done} = $form->{type};
- $form->save_history($form->dbconnect(\%myconfig));
+ $form->{addition} = "PRINTED";
+ $form->{what_done} = $form->{type};
+ $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") {
<tr>
<td>
<table width=100%>
- <tr class=listheading>
+ <tr class=listheading>
|;
map { print "$column_header{$_}\n" } @column_index;
print qq|
- </tr>
+ </tr>
|;
# add sort and escape callback
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>|;
$i++;
$i %= 2;
print qq|
- <tr class=listrow$i>
+ <tr class=listrow$i>
|;
map { print "$column_data{$_}\n" } @column_index;
print qq|
- </tr>
+ </tr>
|;
}
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|
</tr>
- <tr class=listtotal>
+ <tr class=listtotal>
|;
my $total = $form->format_amount(\%myconfig, $totalnetamount + $totaltax, 2, " ");
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>
+ <tr class=listsubtotal>
|;
- map { print "\n$column_data{$_}" } @column_index;
+ map { print "\n$column_data{$_}" } @{ $column_index };
print qq|
</tr>
my ($media);
my $type = qq|
- <option value=statement $form->{PD}{statement}>|
- . $locale->text('Statement');
+ <option value=statement $form->{PD}{statement}>| . $locale->text('Statement');
if ($form->{media} eq 'email') {
$media = qq|
- <option value=attachment $form->{SM}{attachment}>|
- . $locale->text('Attachment') . qq|
- <option value=inline $form->{SM}{inline}>| . $locale->text('In-line');
+ <option value=attachment $form->{SM}{attachment}>| . $locale->text('Attachment') . qq|
+ <option value=inline $form->{SM}{inline}>| . $locale->text('In-line');
} else {
$media = qq|
- <option value=screen $form->{OP}{screen}>| . $locale->text('Screen');
+ <option value=screen $form->{OP}{screen}>| . $locale->text('Screen');
if ($myconfig{printer} && $main::latex_templates) {
$media .= qq|
- <option value=printer $form->{OP}{printer}>|
- . $locale->text('Printer');
+ <option value=printer $form->{OP}{printer}>| . $locale->text('Printer');
}
}
};
}
} 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);