X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=bin%2Fmozilla%2Fgl.pl;h=5154a3fcfb613637575545fb3182555151bad666;hb=9fd46de37d7906b7c104c17112b34bae7d534d67;hp=6e4d1d017301b19c43f087cb97e519568225ae6e;hpb=656824184939043cb4b8aa1edafef926f7ed1e8e;p=kivitendo-erp.git
diff --git a/bin/mozilla/gl.pl b/bin/mozilla/gl.pl
index 6e4d1d017..5154a3fcf 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,9 +288,14 @@ sub search {
| . $locale->text('Notes') . qq| |
|
+
+ | . $locale->text('Project Number') . qq| |
+ $projectnumber |
+
| . $locale->text('From') . qq| |
$button1
+ | . $locale->text('To (time)') . qq| |
$button2
@@ -342,6 +345,8 @@ sub search {
|
| . $locale->text('Subtotal') . qq| |
+ |
+ | . $locale->text('Project Number') . qq| |
@@ -447,6 +452,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}";
@@ -469,8 +478,13 @@ 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 gifi_accno
+ projectnumbers
+ )
);
if ($form->{accno} || $form->{gifi_accno}) {
@@ -560,6 +574,8 @@ sub generate_report {
. $locale->text('GIFI')
. "";
$column_header{balance} = "" . $locale->text('Balance') . " | ";
+ $column_header{projectnumbers} =
+ "" . $locale->text('Project Numbers') . " | ";
$form->{landscape} = 1;
@@ -749,16 +765,23 @@ sub generate_report {
}
}
+ $transdate = "";
+ foreach $key (sort keys(%{ $ref->{transdate} })) {
+ if ($key == 0) {
+ $transdate = "$ref->{transdate}{$key}";
+ } else {
+ $transdate .= "
$ref->{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 | ";
@@ -782,6 +805,8 @@ sub generate_report {
$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;
@@ -796,6 +821,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, " ") . " | ";
@@ -820,6 +851,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|
+ |
+
@@ -848,14 +900,7 @@ sub generate_report {
|;
-
- if ($form->{menubar}) {
- require "$form->{path}/menu.pl";
- &menubar;
- }
-
- print qq|
+ . $locale->text('Vendor Invoice') . qq|">
@@ -894,21 +939,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} = "