X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fgl.pl;h=18e3fa580f79a88761b4ff13fbfedc2d23b87326;hb=befa8b79f46fa8815bed0da27cbf406ca8a9b94f;hp=57c1b09ed94a257201298b87629a984afff34f46;hpb=a88b876c3d2941bdcd9429e887efcab2968c9285;p=kivitendo-erp.git diff --git a/bin/mozilla/gl.pl b/bin/mozilla/gl.pl index 57c1b09ed..18e3fa580 100644 --- a/bin/mozilla/gl.pl +++ b/bin/mozilla/gl.pl @@ -32,9 +32,11 @@ #====================================================================== use SL::GL; +use SL::IS; use SL::PE; -require "$form->{path}/arap.pl"; +require "bin/mozilla/arap.pl"; +require "bin/mozilla/common.pl"; 1; @@ -74,30 +76,20 @@ sub add { $form->{title} = "Add"; $form->{callback} = - "$form->{script}?action=add&path=$form->{path}&login=$form->{login}&password=$form->{password}" + "$form->{script}?action=add&login=$form->{login}&password=$form->{password}" unless $form->{callback}; # 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 +123,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 +140,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 +151,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 +164,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 +174,6 @@ sub edit { $taxaccno = ""; $tax = 0; } - } $form->{rowcount} = $i; @@ -195,15 +181,26 @@ sub edit { ($form->datetonum($form->{transdate}, \%myconfig) <= $form->datetonum($form->{closedto}, \%myconfig)); + $lxdebug->leave_sub(); +} + +sub edit { + $lxdebug->enter_sub(); + + prepare_transaction(); + $form->{title} = "Edit"; - &form_header; - &display_rows; - &form_footer; - $lxdebug->leave_sub(); + $form->{show_details} = $myconfig{show_form_details} unless defined $form->{show_details}; + form_header(); + display_rows(); + form_footer(); + + $lxdebug->leave_sub(); } + sub search { $lxdebug->enter_sub(); @@ -228,19 +225,34 @@ 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; + $form->{jsscript} = 1; $jsscript = ""; if ($form->{jsscript}) { # with JavaScript Calendar $button1 = qq| - + text('button') . qq|> |; $button2 = qq| - + text('button') . qq|> |; @@ -253,15 +265,17 @@ sub search { # without JavaScript Calendar $button1 = - qq||; + qq||; $button2 = - qq||; + qq||; } - + $form->{javascript} .= qq||; $form->header; - + $onload = qq|focus()|; + $onload .= qq|;setupDateFormat('|. $myconfig{dateformat} .qq|', '|. $locale->text("Falsches Datumsformat!") .qq|')|; + $onload .= qq|;setupPoints('|. $myconfig{numberformat} .qq|', '|. $locale->text("wrongformat") .qq|')|; print qq| - +
{script}> @@ -290,6 +304,10 @@ sub search { | . $locale->text('Notes') . qq| + + | . $locale->text('Project Number') . qq| + $projectnumber + | . $locale->text('From') . qq| $button1 @@ -337,12 +355,12 @@ sub search { | . $locale->text('Source') . qq| | . $locale->text('Account') . qq| - - | . $locale->text('GIFI') . qq| | . $locale->text('Subtotal') . qq| + + | . $locale->text('Project Number') . qq| @@ -360,7 +378,6 @@ $jsscript -{path}> {login}> {password}> @@ -383,7 +400,7 @@ sub generate_report { GL->all_transactions(\%myconfig, \%$form); $callback = - "$form->{script}?action=generate_report&path=$form->{path}&login=$form->{login}&password=$form->{password}"; + "$form->{script}?action=generate_report&login=$form->{login}&password=$form->{password}"; $href = $callback; @@ -408,14 +425,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 +457,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 +483,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 +574,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 +618,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 +766,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} "; + "{module}.pl?action=edit&id=$ref->{id}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{reference}"; + $column_data{description} = "$ref->{description} "; $column_data{source} = "$ref->{source} "; $column_data{notes} = "$ref->{notes} "; $column_data{debit} = "$debit"; @@ -771,18 +794,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 +818,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 +848,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| + + @@ -836,7 +884,6 @@ sub generate_report { -{path}> {login}> {password}> @@ -888,21 +935,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} = "