X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fir.pl;h=440ee6e4064035e56fc3e861e193bd141c86a143;hb=7011fd23ae5457ee62f14a3ff37af5a344f4041d;hp=2858e221b0cdda825451939a6d379eb37b698285;hpb=a53233e56a9d4001b47bcf412b4bfe46910d3117;p=kivitendo-erp.git diff --git a/bin/mozilla/ir.pl b/bin/mozilla/ir.pl index 2858e221b..440ee6e40 100644 --- a/bin/mozilla/ir.pl +++ b/bin/mozilla/ir.pl @@ -71,7 +71,7 @@ sub edit { # show history button $form->{javascript} = qq||; #/show hhistory button - + $form->{title} = $locale->text('Edit Vendor Invoice'); &invoice_links; @@ -116,7 +116,7 @@ sub invoice_links { IR->get_vendor(\%myconfig, \%$form); IR->retrieve_invoice(\%myconfig, \%$form); $form->{cp_id} = $cp_id; - + if ($payment_id) { $form->{payment_id} = $payment_id; } @@ -226,6 +226,8 @@ sub form_header { $auth->assert('vendor_invoice_edit'); + push @{ $form->{AJAX} }, CGI::Ajax->new('set_duedate_vendor' => "$form->{script}?action=set_duedate_vendor"); + # set option selected foreach $item (qw(AP vendor currency department)) { $form->{"select$item"} =~ s/ selected//; @@ -291,7 +293,7 @@ sub form_header { } my $globalprojectnumber = NTI($cgi->popup_menu('-name' => 'globalproject_id', '-values' => \@values, '-labels' => \%labels, '-default' => $form->{"globalproject_id"})); - + %labels = (); @values = (); my $i = 0; @@ -299,7 +301,7 @@ sub form_header { push(@values, $item); $labels{$item} = $item; } - + $form->{currency} = $form->{defaultcurrency} unless $form->{currency}; my $currencies; if (scalar @values) { @@ -345,7 +347,7 @@ sub form_header { : (NTI($cgi->popup_menu('-name' => 'vendor', '-default' => $form->{oldvendor}, '-onChange' => 'document.getElementById(\'update_button\').click();', '-values' => \@values, '-labels' => \%labels, '-style' => 'width: 250px')))) . qq| - + |; %labels = (); @@ -389,20 +391,27 @@ sub form_header { $jsscript = ""; $button1 = qq| - - text('button') . qq|>\n|; + + + + \n|; + +#, 'old_duedate__'' + document.getElementsByName('duedate')[0].value, 'vendor_id__' + document.getElementsByName('vendor_id')[0].value],['duedate'])"> $button2 = qq| - - text('button') . qq|>\n|; + + + text('button') . qq|> + \n|; #write Trigger $jsscript = - Form->write_trigger(\%myconfig, "2", + Form->write_trigger(\%myconfig, "2", "invdate", "BL", "trigger1", "duedate", "BL", "trigger2"); my $follow_up_vc = $form->{vendor}; - $follow_up_vc =~ s/--.*?//; + $follow_up_vc =~ s/--\d*\s*$//; my $follow_up_trans_info = "$form->{invnumber} ($follow_up_vc)"; $form->{javascript} .= qq||; @@ -418,13 +427,14 @@ sub form_header { $onload .= qq|;setupPoints('|. $myconfig{numberformat} .qq|', '|. $locale->text("wrongformat") .qq|')|; print qq| - -
{script}> + + |; $form->hide_form(qw(id title vc type level creditlimit creditremaining closedto locked shippted storno storno_id max_dunning_level dunning_amount vendor_id oldvendor selectvendor taxaccounts - fxgain_accno fxloss_accno taxpart taxservice), + fxgain_accno fxloss_accno taxpart taxservice cursor_fokus + convert_from_oe_ids convert_from_do_ids), map { $_.'_rate', $_.'_description' } split / /, $form->{taxaccounts} ); print qq|

$form->{saved_message}

| if $form->{saved_message}; @@ -459,7 +469,7 @@ sub form_header { $employees - + @@ -767,9 +777,9 @@ sub form_footer { qq||; $column_data{"source_$i"} = - qq||; + qq||; $column_data{"memo_$i"} = - qq||; + qq||; map { print qq|$column_data{"${_}_$i"}\n| } @column_index; @@ -816,7 +826,7 @@ sub form_footer { |; if ($form->{id}) { - my $show_storno = !$form->{storno} && !IS->has_storno(\%myconfig, $form, "ap"); + my $show_storno = !$form->{storno} && !IS->has_storno(\%myconfig, $form, "ap") && (($totalpaid == 0) || ($totalpaid eq "")); print qq| @@ -847,7 +857,7 @@ sub form_footer { } print $form->write_trigger(\%myconfig, scalar(@triggers) / 3, @triggers); - $form->hide_form(qw(rowcount callback draft_id draft_description)); + $form->hide_form(qw(rowcount callback draft_id draft_description vendor_discount)); # button for saving history if($form->{id} ne "") { @@ -859,14 +869,13 @@ sub form_footer { . qq|">|; } # /button for saving history - # mark_as_paid button - if($form->{id} ne "") { - print qq| |; } # /mark_as_paid button print qq| - |; @@ -879,7 +888,7 @@ sub mark_as_paid { $auth->assert('vendor_invoice_edit'); - &mark_as_paid_common(\%myconfig,"ap"); + &mark_as_paid_common(\%myconfig,"ap"); $lxdebug->leave_sub(); } @@ -931,6 +940,9 @@ sub update { # override sellprice if there is one entered $sellprice = $form->parse_amount(\%myconfig, $form->{"sellprice_$i"}); + # ergaenzung fuer bug 736 Lieferanten-Rabatt auch in Einkaufsrechnungen vorbelegen jb + $form->{"discount_$i"} = $form->format_amount(\%myconfig, + $form->{vendor_discount} * 100 ); map { $form->{item_list}[$i]{$_} =~ s/\"/"/g } qw(partnumber description unit); map { $form->{"${_}_$i"} = $form->{item_list}[0]{$_} } keys %{ $form->{item_list}[0] }; @@ -996,15 +1008,15 @@ sub storno { # Payments must not be recorded for the new storno invoice. $form->{paidaccounts} = 0; map { my $key = $_; delete $form->{$key} if grep { $key =~ /^$_/ } qw(datepaid_ source_ memo_ paid_ exchangerate_ AR_paid_) } keys %{ $form }; - + # saving the history if(!exists $form->{addition} && $form->{id} ne "") { - $form->{snumbers} = qq|invnumber_| . $form->{invnumber}; + $form->{snumbers} = qq|invnumber_| . $form->{invnumber}; $form->{addition} = "CANCELED"; $form->save_history($form->dbconnect(\%myconfig)); } # /saving the history - + $form->{storno_id} = $form->{id}; $form->{storno} = 1; $form->{id} = ""; @@ -1043,7 +1055,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} @@ -1100,7 +1112,7 @@ sub post { $invdate = $form->datetonum($form->{invdate}, \%myconfig); $form->error($locale->text('Cannot post invoice for a closed period!')) - if ($invdate <= $closedto); + if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig)); $form->isblank("exchangerate", $locale->text('Exchangerate missing!')) if ($form->{currency} ne $form->{defaultcurrency}); @@ -1112,7 +1124,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} @@ -1125,7 +1137,7 @@ sub post { ($form->{AP}) = split /--/, $form->{AP}; ($form->{AP_paid}) = split /--/, $form->{AP_paid}; - $form->{storno} = 0; + $form->{storno} ||= 0; $form->{id} = 0 if $form->{postasnew}; @@ -1134,7 +1146,7 @@ sub post { if (IR->post_invoice(\%myconfig, \%$form)){ # saving the history if(!exists $form->{addition} && $form->{id} ne "") { - $form->{snumbers} = qq|invnumber_| . $form->{invnumber}; + $form->{snumbers} = qq|invnumber_| . $form->{invnumber}; $form->{addition} = "POSTED"; #$form->{what_done} = $locale->text("Rechnungsnummer") . qq| | . $form->{invnumber}; $form->save_history($form->dbconnect(\%myconfig)); @@ -1194,14 +1206,24 @@ sub yes { if (IR->delete_invoice(\%myconfig, \%$form)) { # saving the history if(!exists $form->{addition}) { - $form->{snumbers} = qq|invnumber_| . $form->{invnumber}; + $form->{snumbers} = qq|invnumber_| . $form->{invnumber}; $form->{addition} = "DELETED"; $form->save_history($form->dbconnect(\%myconfig)); } - # /saving the history + # /saving the history $form->redirect($locale->text('Invoice deleted!')); } $form->error($locale->text('Cannot delete invoice!')); $lxdebug->leave_sub(); } + +sub set_duedate_vendor { + $lxdebug->enter_sub(); + + print $form->ajax_response_header(), IR->get_duedate('vendor_id' => $form->{vendor_id}, + 'invdate' => $form->{invdate}, + 'default' => $form->{old_duedate}); + + $lxdebug->leave_sub(); +}
| . $locale->text('Invoice Number') . qq|
{"source_$i"}>{"memo_$i"}>