X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fgl.pl;h=464fb0162669c049312cd6315fd0c19ee0511ddc;hb=98ad02ca3b8d9e9c00775b4768e7060388efbed1;hp=57c1b09ed94a257201298b87629a984afff34f46;hpb=a88b876c3d2941bdcd9429e887efcab2968c9285;p=kivitendo-erp.git
diff --git a/bin/mozilla/gl.pl b/bin/mozilla/gl.pl
index 57c1b09ed..464fb0162 100644
--- a/bin/mozilla/gl.pl
+++ b/bin/mozilla/gl.pl
@@ -35,6 +35,7 @@ use SL::GL;
use SL::PE;
require "$form->{path}/arap.pl";
+require "bin/mozilla/common.pl";
1;
@@ -80,24 +81,14 @@ sub add {
# we use this only to set a default date
GL->transaction(\%myconfig, \%$form);
- map {
- $chart .=
- ""
- } @{ $form->{chart} };
map {
$tax .=
qq|"
- } @{ $form->{chart} };
map {
$tax .=
@@ -133,10 +120,6 @@ sub edit {
. ($_->{rate} * 100) . qq| %|
} @{ $form->{TAX} };
- $form->{chart} = $chart;
-
- $form->{taxchart} = $tax;
-
$form->{amount} = $form->format_amount(\%myconfig, $form->{amount}, 2);
# departments
@@ -154,8 +137,6 @@ sub edit {
my $tax = 0;
my $taxaccno = "";
foreach $ref (@{ $form->{GL} }) {
- $form->{"projectnumber_$i"} = "$ref->{projectnumber}--$ref->{project_id}";
-
$j = $i - 1;
if ($tax && ($ref->{accno} eq $taxaccno)) {
$form->{"tax_$j"} = abs($ref->{amount});
@@ -167,6 +148,8 @@ sub edit {
$form->{"credit_$j"} += $form->{"tax_$j"};
}
}
+ $form->{"project_id_$j"} = $ref->{project_id};
+
} else {
$form->{"accno_$i"} = "$ref->{accno}--$ref->{tax_id}";
for (qw(fx_transaction source memo)) { $form->{"${_}_$i"} = $ref->{$_} }
@@ -178,6 +161,7 @@ sub edit {
$form->{"credit_$i"} = $ref->{amount};
}
$form->{"taxchart_$i"} = "0--0.00";
+ $form->{"project_id_$i"} = $ref->{project_id};
$i++;
}
if ($ref->{taxaccno} && !$tax) {
@@ -187,7 +171,6 @@ sub edit {
$taxaccno = "";
$tax = 0;
}
-
}
$form->{rowcount} = $i;
@@ -228,6 +211,21 @@ sub search {
| if $form->{selectdepartment};
+ $form->get_lists("projects" => { "key" => "ALL_PROJECTS",
+ "all" => 1 });
+
+ my %project_labels = ();
+ my @project_values = ("");
+ foreach my $item (@{ $form->{"ALL_PROJECTS"} }) {
+ push(@project_values, $item->{"id"});
+ $project_labels{$item->{"id"}} = $item->{"projectnumber"};
+ }
+
+ my $projectnumber =
+ NTI($cgi->popup_menu('-name' => "project_id",
+ '-values' => \@project_values,
+ '-labels' => \%project_labels));
+
# use JavaScript Calendar or not
$form->{jsscript} = $jscalendar;
$jsscript = "";
@@ -290,6 +288,10 @@ sub search {
| . $locale->text('Notes') . qq| |
|
+
+ | . $locale->text('Project Number') . qq| |
+ $projectnumber |
+
| . $locale->text('From') . qq| |
$button1
@@ -337,12 +339,12 @@ sub search {
| . $locale->text('Source') . qq| |
|
| . $locale->text('Account') . qq| |
- |
- | . $locale->text('GIFI') . qq| |
|
| . $locale->text('Subtotal') . qq| |
+ |
+ | . $locale->text('Project Number') . qq| |
@@ -408,14 +410,6 @@ sub generate_report {
$locale->text('Account')
. " : $form->{accno} $form->{account_description}";
}
- if ($form->{gifi_accno}) {
- $href .= "&gifi_accno=" . $form->escape($form->{gifi_accno});
- $callback .= "&gifi_accno=" . $form->escape($form->{gifi_accno}, 1);
- $option .= "\n
" if $option;
- $option .=
- $locale->text('GIFI')
- . " : $form->{gifi_accno} $form->{gifi_account_description}";
- }
if ($form->{source}) {
$href .= "&source=" . $form->escape($form->{source});
$callback .= "&source=" . $form->escape($form->{source}, 1);
@@ -448,6 +442,10 @@ sub generate_report {
$option .= "\n
" if $option;
$option .= $locale->text('Notes') . " : $form->{notes}";
}
+ if ($form->{project_id}) {
+ $href .= "&project_id=" . $form->escape($form->{project_id});
+ $callback .= "&project_id=" . $form->escape($form->{project_id});
+ }
if ($form->{datefrom}) {
$href .= "&datefrom=$form->{datefrom}";
@@ -470,12 +468,17 @@ sub generate_report {
. $locale->date(\%myconfig, $form->{dateto}, 1);
}
- @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)
+ @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
+ projectnumbers
+ )
);
- if ($form->{accno} || $form->{gifi_accno}) {
- @columns = grep !/(accno|gifi_accno)/, @columns;
+ if ($form->{accno}) {
+ @columns = grep !/accno/, @columns;
push @columns, "balance";
$form->{l_balance} = "Y";
@@ -556,11 +559,9 @@ sub generate_report {
""
. $locale->text('Credit Tax Account')
. " | ";
- $column_header{gifi_accno} =
- ""
- . $locale->text('GIFI')
- . " | ";
$column_header{balance} = "" . $locale->text('Balance') . " | ";
+ $column_header{projectnumbers} =
+ "" . $locale->text('Project Numbers') . " | ";
$form->{landscape} = 1;
@@ -602,7 +603,7 @@ sub generate_report {
$sameitem = $form->{GL}->[0]->{ $form->{sort} };
}
- if (($form->{accno} || $form->{gifi_accno}) && $form->{balance}) {
+ if ($form->{accno} && $form->{balance}) {
map { $column_data{$_} = " | " } @column_index;
$column_data{balance} =
@@ -750,16 +751,23 @@ sub generate_report {
}
}
+ $transdate = "";
+ foreach $key (sort keys(%{ $ref->{ac_transdate} })) {
+ if ($key == 0) {
+ $transdate = "$ref->{ac_transdate}{$key}";
+ } else {
+ $transdate .= "
$ref->{ac_transdate}{$key}";
+ }
+ }
+
# $ref->{debit} = $form->format_amount(\%myconfig, $ref->{debit}, 2, " ");
# $ref->{credit} = $form->format_amount(\%myconfig, $ref->{credit}, 2, " ");
$column_data{id} = " $ref->{id} | ";
- $column_data{transdate} =
- " $ref->{transdate} | ";
+ $column_data{transdate} = "$transdate | ";
$column_data{reference} =
"{module}.pl?action=edit&id=$ref->{id}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{reference} | ";
- $column_data{description} =
- "$ref->{description} | ";
+ $column_data{description} = "$ref->{description} | ";
$column_data{source} = "$ref->{source} | ";
$column_data{notes} = "$ref->{notes} | ";
$column_data{debit} = "$debit | ";
@@ -771,18 +779,16 @@ sub generate_report {
? "$debittax | "
: " | ";
$column_data{debit_tax_accno} = "$debittaxaccno | ";
- $column_data{gifi_accno} =
- "{gifi_accno}&callback=$callback>$ref->{gifi_accno} | ";
$column_data{credit_tax} =
($ref->{credit_tax_accno} ne "")
? "$credittax | "
: " | ";
$column_data{credit_tax_accno} = "$credittaxaccno | ";
- $column_data{gifi_accno} =
- "{gifi_accno}&callback=$callback>$ref->{gifi_accno} | ";
$column_data{balance} =
""
. $form->format_amount(\%myconfig, $form->{balance}, 2, 0) . " | ";
+ $column_data{projectnumbers} =
+ "" . join(", ", sort({ lc($a) cmp lc($b) } keys(%{ $ref->{projectnumbers} }))) . " | ";
$i++;
$i %= 2;
@@ -797,6 +803,12 @@ sub generate_report {
map { $column_data{$_} = " | " } @column_index;
+ my $balanced_ledger = $totaldebit
+ + $totaldebittax
+ - $totalcredit
+ - $totalcredittax;
+ # = 0 for balanced ledger
+
$column_data{debit} =
""
. $form->format_amount(\%myconfig, $totaldebit, 2, " ") . " | ";
@@ -821,6 +833,27 @@ sub generate_report {
print qq|
+ |;
+
+
+ if ( abs($balanced_ledger) > 0.001 ) {
+
+ print qq||
+ . $locale->text('Unbalanced Ledger')
+ . ": "
+ . $form->format_amount(\%myconfig, $balanced_ledger, 3, " ")
+
+ } elsif ( abs($balanced_ledger) <= 0.001 ) {
+
+ print qq| | |
+ . $locale->text('Balanced Ledger')
+
+ }
+
+
+ print qq|
+ |
+
@@ -888,21 +921,7 @@ sub gl_subtotal {
sub update {
$lxdebug->enter_sub();
- if ($form->{transdate} ne $form->{oldtransdate}) {
- if ($form->{selectprojectnumber}) {
- $form->all_projects(\%myconfig, undef, $form->{transdate});
- if (@{ $form->{all_project} }) {
- $form->{selectprojectnumber} = "