X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fgl.pl;h=b6d9448287aecb53dfed9d9a52c86b7e4161d725;hb=98662ad2b031a81c88ce6da0babf6f9d0b37059a;hp=a20554d7fcb909980b223e525d2d6506fb2aa916;hpb=913fe3398532666f18ec4856470fdfec53b1d388;p=kivitendo-erp.git diff --git a/bin/mozilla/gl.pl b/bin/mozilla/gl.pl index a20554d7f..b6d944828 100644 --- a/bin/mozilla/gl.pl +++ b/bin/mozilla/gl.pl @@ -148,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->{$_} } @@ -159,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) { @@ -168,7 +171,6 @@ sub edit { $taxaccno = ""; $tax = 0; } - } $form->{rowcount} = $i; @@ -764,11 +766,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}"; } } @@ -1084,56 +1086,77 @@ sub display_rows { 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}"; + } + + $selected_accno = '' if ($init); + $selected_taxchart = $taxchart_init unless ($selected_taxchart ne ""); $accno = qq|| . - $cgi->popup_menu('-name' => "accno_$i", - '-onChange' => "setTaxkey(this, $i)", - '-style' => 'width:200px', - '-tabindex' => ($i + 5 + (($i - 1) * 8)), - '-values' => \@chart_values, - '-labels' => \%chart_labels, - '-default' => $init ? '' : $form->{"accno_$i"}) + 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|| . - $cgi->popup_menu('-name' => "taxchart_$i", - '-style' => 'width:200px', - '-tabindex' => ($i + 10 + (($i - 1) * 8)), - '-values' => \@taxchart_values, - '-labels' => \%taxchart_labels, - '-default' => $init ? $taxchart_init : $form->{"taxchart_$i"}) + 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| @@ -1170,16 +1193,12 @@ sub display_rows { } $checked = ($form->{"korrektur_$i"}) ? "checked" : ""; $korrektur = - qq||; + qq||; $form->hide_form("accno_$i"); } else { $korrektur = - qq||; + qq||; if ($form->{transfer}) { $fx_transaction = qq| @@ -1206,12 +1225,9 @@ sub display_rows { print qq| $accno $fx_transaction - - - + + + $korrektur $tax $source @@ -1269,7 +1285,7 @@ sub form_header { qq||; } else { $description = - qq||; + qq||; } $taxincluded = ($form->{taxincluded}) ? "checked" : ""; @@ -1298,7 +1314,7 @@ sub form_header { # with JavaScript Calendar $button1 = qq| - + text('button') . qq|> |; @@ -1310,7 +1326,7 @@ sub form_header { # without JavaScript Calendar $button1 = - qq||; + qq||; } $form->header; @@ -1337,7 +1353,7 @@ sub form_header { - + @@ -1395,7 +1411,7 @@ sub form_header {
| . $locale->text('Reference') . qq| @@ -1373,7 +1389,7 @@ sub form_header {
- +
| . $locale->text('MwSt. inkl.') . qq|
- +
| . $locale->text('MwSt. inkl.') . qq|