X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=inline;f=bin%2Fmozilla%2Fap.pl;h=f8822930908a67562cb7bc5b491a32d0fc3cb464;hb=a25cb06e5823fc35924c0eae0c358763841307d0;hp=25c21966565e066fd7189ae35fa728d937b94a35;hpb=a53233e56a9d4001b47bcf412b4bfe46910d3117;p=kivitendo-erp.git diff --git a/bin/mozilla/ap.pl b/bin/mozilla/ap.pl index 25c219665..f88229309 100644 --- a/bin/mozilla/ap.pl +++ b/bin/mozilla/ap.pl @@ -298,12 +298,13 @@ selectvendor } | map({ push(@old_project_ids, $form->{"project_id_$_"}) if ($form->{"project_id_$_"}); } (1..$form->{"rowcount"})); - $form->get_lists("projects" => { "key" => "ALL_PROJECTS", - "all" => 0, - "old_id" => \@old_project_ids }, - "charts" => { "key" => "ALL_CHARTS", - "transdate" => $form->{transdate} }, - "taxcharts" => "ALL_TAXCHARTS"); + $form->get_lists("projects" => { "key" => "ALL_PROJECTS", + "all" => 0, + "old_id" => \@old_project_ids }, + "charts" => { "key" => "ALL_CHARTS", + "transdate" => $form->{transdate} }, + "taxcharts" => { "key" => "ALL_TAXCHARTS", + "module" => "AP" },); map({ $_->{link_split} = [ split(/:/, $_->{link}) ]; } @{ $form->{ALL_CHARTS} }); @@ -361,12 +362,12 @@ selectvendor } | # with JavaScript Calendar $button1 = qq| -
| . $locale->text('Vendor') . qq| | -$vendor | +$vendor | @@ -498,8 +499,6 @@ $jsscript . $locale->text('Amount') . qq|| . $locale->text('Tax') . qq| | -| - . $locale->text('Korrektur') . qq| | | . $locale->text('Taxkey') . qq| | | @@ -555,8 +554,6 @@ $jsscript '-default' => $selected_taxchart)) . qq||; - my $korrektur = $form->{"korrektur_$i"} ? 'checked' : ''; - my $projectnumber = NTI($cgi->popup_menu('-name' => "project_id_$i", '-values' => \@project_values, @@ -567,8 +564,7 @@ $jsscript | ||||
---|---|---|---|---|---|---|---|---|---|---|
$selectAP_amount | {"amount_$i"}> | -{"tax_$i"}> | -+ | $form->{"tax_$i"} | $tax$projectnumber | " . $locale->text('Account') . " | "; $column_data{source} = "" . $locale->text('Source') . " | "; $column_data{memo} = "" . $locale->text('Memo') . " | "; - $column_data{paid_project_id} = "" . $locale->text('Project Number') . " | "; + $column_data{paid_project_id} = "" . $locale->text('Project Number') . " | "; print "
$exchangerate | |; $column_data{"datepaid_$i"} = qq|- | |; + |; $column_data{"source_$i"} = qq||; $column_data{"memo_$i"} = @@ -804,10 +800,9 @@ $follow_ups_block |; } - # ToDO: - insert a global check for stornos, so that a storno is only possible a limited time after saving it print qq| | - if ($form->{id} && !IS->has_storno(\%myconfig, $form, 'ap') && !IS->is_storno(\%myconfig, $form, 'ap', $form->{id})); + if ($form->{id} && !IS->has_storno(\%myconfig, $form, 'ap') && !IS->is_storno(\%myconfig, $form, 'ap', $form->{id}) && (($total_paid == 0) || ($total_paid eq ""))); print qq| @@ -823,8 +818,8 @@ $follow_ups_block print qq| |; } # /button for saving history - # mark_as_paid button - if($form->{id} ne "") { + # mark_as_paid button + if($form->{id} ne "") { print qq| |; } # /mark_as_paid button @@ -843,7 +838,7 @@ sub mark_as_paid { $auth->assert('general_ledger'); - &mark_as_paid_common(\%myconfig,"ap"); + &mark_as_paid_common(\%myconfig,"ap"); $lxdebug->leave_sub(); } @@ -857,10 +852,12 @@ sub update { $form->{invtotal} = 0; + delete @{ $form }{ grep { m/^tax_\d+$/ } keys %{ $form } }; + map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) } qw(exchangerate creditlimit creditremaining); - @flds = qw(amount AP_amount projectnumber oldprojectnumber project_id); + @flds = qw(amount AP_amount projectnumber oldprojectnumber project_id taxchart); $count = 0; for $i (1 .. $form->{rowcount}) { $form->{"amount_$i"} = @@ -869,17 +866,15 @@ sub update { if ($form->{"amount_$i"}) { push @a, {}; $j = $#a; - if (!$form->{"korrektur_$i"}) { - ($taxkey, $rate) = split(/--/, $form->{"taxchart_$i"}); - if ($taxkey > 1) { - if ($form->{taxincluded}) { - $form->{"tax_$i"} = $form->{"amount_$i"} / ($rate + 1) * $rate; - } else { - $form->{"tax_$i"} = $form->{"amount_$i"} * $rate; - } + ($taxkey, $rate) = split(/--/, $form->{"taxchart_$i"}); + if ($taxkey > 1) { + if ($form->{taxincluded}) { + $form->{"tax_$i"} = $form->{"amount_$i"} / ($rate + 1) * $rate; } else { - $form->{"tax_$i"} = 0; + $form->{"tax_$i"} = $form->{"amount_$i"} * $rate; } + } else { + $form->{"tax_$i"} = 0; } $form->{"tax_$i"} = $form->round_amount($form->{"tax_$i"}, 2); @@ -896,9 +891,16 @@ sub update { $form->{exchangerate} = $form->{forex} if $form->{forex}; $form->{invdate} = $form->{transdate}; - $save_AP = $form->{AP}; - &check_name("vendor"); - $form->{AP} = $save_AP; + my %saved_variables = map +( $_ => $form->{$_} ), qw(AP AP_amount_1 taxchart_1); + + my $vendor_changed = &check_name("vendor"); + + $form->{AP} = $saved_variables{AP}; + if ($saved_variables{AP_amount_1} =~ m/.--./) { + map { $form->{$_} = $saved_variables{$_} } qw(AP_amount_1 taxchart_1); + } else { + delete $form->{taxchart_1}; + } $form->{rowcount} = $count + 1; @@ -926,7 +928,7 @@ sub update { $form->{oldtotalpaid} = $totalpaid; # notes - $form->{notes} = $form->{intnotes}; + $form->{notes} = $form->{intnotes} if $vendor_changed; &display_form; @@ -948,7 +950,7 @@ sub post_payment { $form->isblank("datepaid_$i", $locale->text('Payment date missing!')); $form->error($locale->text('Cannot post payment for a closed period!')) - if ($datepaid <= $closedto); + if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig)); if ($form->{currency} ne $form->{defaultcurrency}) { $form->{"exchangerate_$i"} = $form->{exchangerate} @@ -982,7 +984,7 @@ sub post { $closedto = $form->datetonum($form->{closedto}, \%myconfig); $transdate = $form->datetonum($form->{transdate}, \%myconfig); - $form->error($locale->text('Cannot post transaction for a closed period!')) if ($transdate <= $closedto); + $form->error($locale->text('Cannot post transaction for a closed period!')) if ($form->date_closed($form->{"transdate"}, \%myconfig)); my $zero_amount_posting = 1; for $i (1 .. $form->{rowcount}) { @@ -1005,7 +1007,7 @@ sub post { $form->isblank("datepaid_$i", $locale->text('Payment date missing!')); $form->error($locale->text('Cannot post payment for a closed period!')) - if ($datepaid <= $closedto); + if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig)); if ($form->{currency} ne $form->{defaultcurrency}) { $form->{"exchangerate_$i"} = $form->{exchangerate} @@ -1040,7 +1042,7 @@ sub post { $form->{addition} = "POSTED"; $form->save_history($form->dbconnect(\%myconfig)); } - # /saving the history + # /saving the history remove_draft() if $form->{remove_draft}; $form->redirect($locale->text('Transaction posted!')); } @@ -1061,7 +1063,7 @@ sub post_as_new { $form->{addition} = "POSTED AS NEW"; $form->save_history($form->dbconnect(\%myconfig)); } - # /saving the history + # /saving the history &post; $lxdebug->leave_sub(); @@ -1134,7 +1136,7 @@ sub yes { $form->{addition} = "DELETED"; $form->save_history($form->dbconnect(\%myconfig)); } - # /saving the history + # /saving the history $form->redirect($locale->text('Transaction deleted!')); } $form->error($locale->text('Cannot delete transaction!')); @@ -1324,6 +1326,25 @@ sub search { | | . $locale->text('Project Number') . qq| | |||||||
| . $locale->text('Vendor') . qq| | +||||||||||
+ | | . $locale->text('Vendor Number') . qq| | ++ | | . $locale->text('Country') . qq| | ++ | | . $locale->text('USt-IdNr.') . qq| | ++ | | . $locale->text('Steuersatz') . qq| | +|||
+ | | . $locale->text('Payment Terms') . qq| | ++ | | . $locale->text('Buchungskonto') . qq| | +