sub delete_transaction {
my ($self, $myconfig, $form) = @_;
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
# connect to database
my $dbh = $form->dbconnect_noauto($myconfig);
# commit and redirect
my $rc = $dbh->commit;
$dbh->disconnect;
- $lxdebug->leave_sub();
+ $main::lxdebug->leave_sub();
$rc;
sub post_transaction {
my ($self, $myconfig, $form) = @_;
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
my ($debit, $credit) = (0, 0);
my $project_id;
# commit and redirect
my $rc = $dbh->commit;
$dbh->disconnect;
- $lxdebug->leave_sub();
+ $main::lxdebug->leave_sub();
$rc;
sub all_transactions {
my ($self, $myconfig, $form) = @_;
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
# connect to database
my $dbh = $form->dbconnect($myconfig);
($form->{gifi_account_description}) = $sth->fetchrow_array;
$sth->finish;
}
- $lxdebug->leave_sub();
+ $main::lxdebug->leave_sub();
$dbh->disconnect;
sub transaction {
my ($self, $myconfig, $form) = @_;
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
my ($query, $sth, $ref);
$sth->finish;
# retrieve individual rows
- $query = "SELECT c.accno, a.amount, project_id,
+ $query = "SELECT c.accno, c.taxkey_id AS accnotaxkey, a.amount, project_id,
(SELECT p.projectnumber FROM project p
- WHERE a.project_id = p.id) AS projectnumber, a.taxkey, (SELECT c1.accno FROM chart c1, tax t WHERE t.taxkey=a.taxkey AND c1.id=t.chart_id) AS taxaccno
+ WHERE a.project_id = p.id) AS projectnumber, a.taxkey, (SELECT c1.accno FROM chart c1, tax t WHERE t.taxkey=a.taxkey AND c1.id=t.chart_id) AS taxaccno, (SELECT t1.rate FROM tax t1 WHERE t1.taxkey=a.taxkey) AS taxrate
FROM acc_trans a, chart c
WHERE a.chart_id = c.id
AND a.trans_id = $form->{id}
$sth->finish;
$sth->finish;
- $lxdebug->leave_sub();
+ $main::lxdebug->leave_sub();
$dbh->disconnect;
$lxdebug->enter_sub();
GL->transaction(\%myconfig, \%$form);
-
map {
- if ($form->{debitaccno} eq $_->{accno}) {
- $form->{debitchart} .=
- "<option value=\"$_->{accno}--$_->{taxkey_id}\">$_->{accno}--$_->{description}";
- }
- } @{ $form->{chart} };
- map {
- if ($form->{creditaccno} eq $_->{accno}) {
- $form->{creditchart} .=
- "<option value=\"$_->{accno}--$_->{taxkey_id}\">$_->{accno}--$_->{description}";
- }
+ $chart .=
+ "<option value=\"$_->{accno}--$_->{taxkey_id}\">$_->{accno}--$_->{description}</option>"
} @{ $form->{chart} };
+
map {
$tax .=
qq|<option value="$_->{taxkey}--$_->{rate}">$_->{taxdescription} |
$form->{taxchart} = $tax;
- if ($form->{tax} < 0) {
- $form->{tax} = $form->{tax} * (-1);
- }
-
$form->{amount} = $form->format_amount(\%myconfig, $form->{amount}, 2);
# departments
} (@{ $form->{all_departments} });
}
- $i = 1;
+ my $i = 1;
+ my $tax = 0;
+ my $taxaccno = "";
foreach $ref (@{ $form->{GL} }) {
- $form->{"accno_$i"} = "$ref->{accno}--$ref->{description}";
-
$form->{"projectnumber_$i"} = "$ref->{projectnumber}--$ref->{project_id}";
- for (qw(fx_transaction source memo)) { $form->{"${_}_$i"} = $ref->{$_} }
- if ($ref->{amount} < 0) {
- $form->{totaldebit} -= $ref->{amount};
- $form->{"debit_$i"} = $ref->{amount} * -1;
+ $j = $i - 1;
+ if ($tax && ($ref->{accno} eq $taxaccno)) {
+ $form->{"tax_$j"} = abs($ref->{amount});
+ $form->{"taxchart_$j"} = $ref->{taxkey} . "--" . $ref->{taxrate};
} else {
- $form->{totalcredit} += $ref->{amount};
- $form->{"credit_$i"} = $ref->{amount};
+ $form->{"accno_$i"} = "$ref->{accno}--$ref->{accnotaxkey}";
+ for (qw(fx_transaction source memo)) { $form->{"${_}_$i"} = $ref->{$_} }
+ if ($ref->{amount} < 0) {
+ $form->{totaldebit} -= $ref->{amount};
+ $form->{"debit_$i"} = $ref->{amount} * -1;
+ } else {
+ $form->{totalcredit} += $ref->{amount};
+ $form->{"credit_$i"} = $ref->{amount};
+ }
+ $i++;
+ }
+ if ($ref->{taxaccno} && !$tax) {
+ $taxaccno = $ref->{taxaccno};
+ $tax = 1;
+ } else {
+ $taxaccno = "";
+ $tax = 0;
}
- $i++;
}
$form->{rowcount} = $i;
$button1 = qq|
<td><input name=datefrom id=datefrom size=11 title="$myconfig{dateformat}">
<input type=button name=datefrom id="trigger1" value=|
- . $locale->text('button')
- . qq|></td>
+ . $locale->text('button') . qq|></td>
|;
$button2 = qq|
<td><input name=dateto id=dateto size=11 title="$myconfig{dateformat}">
<input type=button name=dateto id="trigger2" value=|
- . $locale->text('button')
- . qq|></td>
+ . $locale->text('button') . qq|></td>
|;
#write Trigger
. $locale->date(\%myconfig, $form->{dateto}, 1);
}
- @columns =
- $form->sort_columns(
+ @columns = $form->sort_columns(
qw(transdate id reference description notes source debit debit_accno credit credit_accno debit_tax debit_tax_accno credit_tax credit_tax_accno accno gifi_accno)
- );
+ );
if ($form->{accno} || $form->{gifi_accno}) {
@columns = grep !/(accno|gifi_accno)/, @columns;
$source = qq|
<td><input name="source_$i" value="$form->{"source_$i"}" tabindex=|
- . ($i + 11 + (($i - 1) * 8))
- . qq|></td>|;
+ . ($i + 11 + (($i - 1) * 8)) . qq|></td>|;
$memo = qq|
<td><input name="memo_$i" value="$form->{"memo_$i"}" tabindex=|
- . ($i + 12 + (($i - 1) * 8))
- . qq|></td>|;
+ . ($i + 12 + (($i - 1) * 8)) . qq|></td>|;
if ($init) {
$accno = qq|
<td><select name="accno_$i" onChange="setTaxkey(this, $i)" style="width:300px" tabindex=|
- . ($i + 5 + (($i - 1) * 8))
- . qq|>$form->{chartinit}</select></td>|;
+ . ($i + 5 + (($i - 1) * 8)) . qq|>$form->{chartinit}</select></td>|;
$tax =
qq|<td><select id="taxchart_$i" name="taxchart_$i" tabindex=|
. ($i + 10 + (($i - 1) * 8))
$accno = qq|
<td><select name="accno_$i" onChange="setTaxkey(this, $i)" style="width:300px" tabindex=|
- . ($i + 5 + (($i - 1) * 8))
- . qq|>$chart</select></td>|;
+ . ($i + 5 + (($i - 1) * 8)) . qq|>$chart</select></td>|;
$tax = qq|
<td><select id="taxchart_$i" name="taxchart_$i" tabindex=|
- . ($i + 10 + (($i - 1) * 8))
- . qq|>$taxchart</select></td>|;
+ . ($i + 10 + (($i - 1) * 8)) . qq|>$taxchart</select></td>|;
if ($form->{selectprojectnumber}) {
$project = qq|
<td><select name="projectnumber_$i">$form->{selectprojectnumber}</select></td>|;
$accno
$fx_transaction
<td><input name="debit_$i" size=10 value="$form->{"debit_$i"}" accesskey=$i tabindex=|
- . ($i + 6 + (($i - 1) * 8))
- . qq|></td>
+ . ($i + 6 + (($i - 1) * 8)) . qq|></td>
<td><input name="credit_$i" size=10 value="$form->{"credit_$i"}" tabindex=|
- . ($i + 7 + (($i - 1) * 8))
- . qq|></td>
+ . ($i + 7 + (($i - 1) * 8)) . qq|></td>
<td><input name="tax_$i" size=8 value="$form->{"tax_$i"}" tabindex=|
- . ($i + 8 + (($i - 1) * 8))
- . qq|></td>
+ . ($i + 8 + (($i - 1) * 8)) . qq|></td>
$korrektur
$tax
$source
$taxincluded = "checked";
}
- $amount =
- qq|<input name=amount size=20 value="$form->{amount}" tabindex="4" $readonly>|;
-
$department = qq|
<tr>
<th align=right nowrap>| . $locale->text('Department') . qq|</th>
$button1 = qq|
<td><input name=transdate id=transdate size=11 title="$myconfig{dateformat}" value=$form->{transdate} tabindex="2" $readonly>
<input type=button name=transdate id="trigger1" value=|
- . $locale->text('button')
- . qq|></td>
+ . $locale->text('button') . qq|></td>
|;
#write Trigger
<tr>
<th align=right>| . $locale->text('Description') . qq|</th>
<td>$description</td>
+ <td>
+ <table>
+ <tr>
+ <th align=left>| . $locale->text('MwSt. inkl.') . qq|</th>
+ <td><input type=checkbox name=taxincluded value=1 tabindex="5" $taxincluded></td>
+ </tr>
+ </table>
+ </td>
<td align=left>
<table width=100%>
<tr>
<tr>
<th align=right>| . $locale->text('Description') . qq|</th>
<td colspan=2>$description</td>
- </tr>|;
- }
- print qq|
- <tr>
- <th align=right>| . $locale->text('Betrag') . qq|</th>
- <td>$amount</td>
- <td align=left>
+ <td>
<table>
<tr>
<th align=left>| . $locale->text('MwSt. inkl.') . qq|</th>
</tr>
</table>
</td>
- </tr>
+ </tr>|;
+ }
+ print qq|
<tr>
<table width=100%>
<tr class=listheading>
<th class=listheading style="width:15%">|
- . $locale->text('Account')
- . qq|</th>
+ . $locale->text('Account') . qq|</th>
<th class=listheading style="width:10%">|
- . $locale->text('Debit')
- . qq|</th>
+ . $locale->text('Debit') . qq|</th>
<th class=listheading style="width:10%">|
- . $locale->text('Credit')
- . qq|</th>
+ . $locale->text('Credit') . qq|</th>
<th class=listheading style="width:10%">|
- . $locale->text('Tax')
- . qq|</th>
+ . $locale->text('Tax') . qq|</th>
<th class=listheading style="width:5%">|
- . $locale->text('Korrektur')
- . qq|</th>
+ . $locale->text('Korrektur') . qq|</th>
<th class=listheading style="width:10%">|
- . $locale->text('Taxkey')
- . qq|</th>
+ . $locale->text('Taxkey') . qq|</th>
<th class=listheading style="width:20%">|
- . $locale->text('Source')
- . qq|</th>
+ . $locale->text('Source') . qq|</th>
<th class=listheading style="width:20%">| . $locale->text('Memo') . qq|</th>
$project
</tr>
if (!$form->{locked} && $radieren) {
print qq|
<input class=submit type=submit name=action value="|
- . $locale->text('Post')
- . qq|" accesskey="b">
+ . $locale->text('Post') . qq|" accesskey="b">
<input class=submit type=submit name=action value="|
. $locale->text('Delete') . qq|">|;
}