X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fgl.pl;h=dc9238a34877afa0a45f45269cb4431ba1a916f5;hb=840aea131eef33512dccc13184e01affafaafb37;hp=2d8d31d3abcaddfabc57e15fedc10f190bcaeeff;hpb=ff9c4ef29ca43ca9c6be533a86600b8ca59c31a8;p=kivitendo-erp.git diff --git a/bin/mozilla/gl.pl b/bin/mozilla/gl.pl index 2d8d31d3a..dc9238a34 100644 --- a/bin/mozilla/gl.pl +++ b/bin/mozilla/gl.pl @@ -81,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 .= @@ -134,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 @@ -166,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->{$_} } @@ -177,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) { @@ -186,7 +171,6 @@ sub edit { $taxaccno = ""; $tax = 0; } - } $form->{rowcount} = $i; @@ -355,8 +339,6 @@ sub search { | . $locale->text('Source') . qq| | . $locale->text('Account') . qq| - - | . $locale->text('GIFI') . qq| @@ -428,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); @@ -498,13 +472,13 @@ sub generate_report { 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 + 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"; @@ -585,10 +559,6 @@ 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') . ""; @@ -633,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} = @@ -782,11 +752,11 @@ sub generate_report { } $transdate = ""; - foreach $key (sort keys(%{ $ref->{transdate} })) { + foreach $key (sort keys(%{ $ref->{ac_transdate} })) { if ($key == 0) { - $transdate = "$ref->{transdate}{$key}"; + $transdate = "$ref->{ac_transdate}{$key}"; } else { - $transdate .= "
$ref->{transdate}{$key}"; + $transdate .= "
$ref->{ac_transdate}{$key}"; } } @@ -809,15 +779,11 @@ 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) . ""; @@ -1081,10 +1047,6 @@ sub display_rows { $form->{totaldebit} = 0; $form->{totalcredit} = 0; - my $chart = $form->{chart}; - $chart = $form->unquote($chart); - $form->{taxchart} = $form->unquote($form->{taxchart}); - $taxchart = $form->{taxchart}; my @old_project_ids = (); map({ push(@old_project_ids, $form->{"project_id_$_"}) @@ -1092,7 +1054,10 @@ sub display_rows { $form->get_lists("projects" => { "key" => "ALL_PROJECTS", "all" => 0, - "old_id" => \@old_project_ids }); + "old_id" => \@old_project_ids }, + "charts" => { "key" => "ALL_CHARTS", + "transdate" => $form->{transdate} }, + "taxcharts" => "ALL_TAXCHARTS"); my %project_labels = (); my @project_values = (""); @@ -1101,28 +1066,79 @@ sub display_rows { $project_labels{$item->{"id"}} = $item->{"projectnumber"}; } + my %chart_labels = (); + my @chart_values = (); + my %charts = (); + my $taxchart_init; + foreach my $item (@{ $form->{ALL_CHARTS} }) { + my $key = Q($item->{accno}) . "--" . Q($item->{tax_id}); + $taxchart_init = $item->{taxkey_id} unless (@chart_values); + push(@chart_values, $key); + $chart_labels{$key} = H($item->{accno}) . "--" . H($item->{description}); + $charts{$item->{accno}} = $item; + } + + my %taxchart_labels = (); + my @taxchart_values = (); + my %taxcharts = (); + foreach my $item (@{ $form->{ALL_TAXCHARTS} }) { + my $key = Q($item->{id}) . "--" . Q($item->{rate}); + $taxchart_init = $key if ($taxchart_init eq $item->{taxkey}); + push(@taxchart_values, $key); + $taxchart_labels{$key} = H($item->{taxdescription}) . " " . + H($item->{rate} * 100) . ' %'; + $taxcharts{$item->{id}} = $item; + } + for $i (1 .. $form->{rowcount}) { $source = qq| - |; + |; $memo = qq| - |; + |; + + my $selected_accno_full; + my ($accno_row) = split(/--/, $form->{"accno_$i"}); + my $item = $charts{$accno_row}; + $selected_accno_full = "$item->{accno}--$item->{tax_id}"; + + my $selected_taxchart = $form->{"taxchart_$i"}; + my ($selected_accno, $selected_tax_id) = split(/--/, $selected_accno_full); + my ($previous_accno, $previous_tax_id) = split(/--/, $form->{"previous_accno_$i"}); + + if ($previous_accno && + ($previous_accno eq $selected_accno) && + ($previous_tax_id ne $selected_tax_id)) { + my $item = $taxcharts{$selected_tax_id}; + $selected_taxchart = "$item->{id}--$item->{rate}"; + } - if ($init) { - $accno = qq| - |; - $tax = - qq||; + $selected_accno = '' if ($init); + $selected_taxchart = $taxchart_init unless ($selected_taxchart ne ""); + + $accno = qq|| . + NTI($cgi->popup_menu('-name' => "accno_$i", + '-id' => "accno_$i", + '-onChange' => "setTaxkey(this, $i)", + '-style' => 'width:200px', + '-values' => \@chart_values, + '-labels' => \%chart_labels, + '-default' => $selected_accno_full)) + . $cgi->hidden('-name' => "previous_accno_$i", + '-default' => $selected_accno_full) + . qq||; + $tax = qq|| . + NTI($cgi->popup_menu('-name' => "taxchart_$i", + '-id' => "taxchart_$i", + '-style' => 'width:200px', + '-values' => \@taxchart_values, + '-labels' => \%taxchart_labels, + '-default' => $selected_taxchart)) + . qq||; + if ($init) { $korrektur = - qq||; + qq||; if ($form->{transfer}) { $fx_transaction = qq| @@ -1150,23 +1166,6 @@ sub display_rows { } if ($i < $form->{rowcount}) { - - $accno = $chart; - $chart_selected = $form->{"accno_$i"}; - $accno =~ - s/value=\"$chart_selected\"/value=\"$chart_selected\" selected/; - $accno = - qq||; - $tax = $taxchart; - $tax_selected = $form->{"taxchart_$i"}; - $tax =~ s/value=\"$tax_selected\"/value=\"$tax_selected\" selected/; - $tax = - qq||; - if ($form->{transfer}) { $checked = ($form->{"fx_transaction_$i"}) ? "1" : ""; $x = ($checked) ? "x" : ""; @@ -1176,24 +1175,12 @@ sub display_rows { } $checked = ($form->{"korrektur_$i"}) ? "checked" : ""; $korrektur = - qq||; + qq||; $form->hide_form("accno_$i"); } else { - - $accno = qq| - |; - $tax = qq| - |; - $korrektur = - qq||; + qq||; if ($form->{transfer}) { $fx_transaction = qq| @@ -1220,12 +1207,9 @@ sub display_rows { print qq| $accno $fx_transaction - - - + + + $korrektur $tax $source @@ -1283,7 +1267,7 @@ sub form_header { qq||; } else { $description = - qq||; + qq||; } $taxincluded = ($form->{taxincluded}) ? "checked" : ""; @@ -1312,7 +1296,7 @@ sub form_header { # with JavaScript Calendar $button1 = qq| - + text('button') . qq|> |; @@ -1324,7 +1308,7 @@ sub form_header { # without JavaScript Calendar $button1 = - qq||; + qq||; } $form->header; @@ -1339,8 +1323,6 @@ sub form_header { {closedto}> {locked}> - - @@ -1353,7 +1335,7 @@ sub form_header {
- + @@ -1411,7 +1393,7 @@ sub form_header {
| . $locale->text('Reference') . qq| @@ -1389,7 +1371,7 @@ sub form_header {
- +
| . $locale->text('MwSt. inkl.') . qq|
- +
| . $locale->text('MwSt. inkl.') . qq|
@@ -1532,7 +1514,7 @@ sub delete {
{script}> |; - map { $form->{$_} =~ s/\"/"/g } qw(reference description chart taxchart); + map { $form->{$_} =~ s/\"/"/g } qw(reference description); delete $form->{header};