X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FIR.pm;h=ae3e45b09d49f07b98580ae5fa1fd6f3ac98b107;hb=0b33cc602d717933791d06cb64f65dea2a7c2354;hp=ad28c968b240ce72c4cf894cbaa69572f9e31dfa;hpb=d735aab3fc2987d555c63ce0dc8e24626ca30654;p=kivitendo-erp.git diff --git a/SL/IR.pm b/SL/IR.pm index ad28c968b..ae3e45b09 100644 --- a/SL/IR.pm +++ b/SL/IR.pm @@ -690,7 +690,7 @@ SQL if ($payments_only) { $query = qq|UPDATE ap SET paid = ? WHERE id = ?|; do_query($form, $dbh, $query, $form->{paid}, conv_i($form->{id})); - + $form->new_lastmtime('ap'); if (!$provided_dbh) { $dbh->commit(); $dbh->disconnect(); @@ -745,6 +745,7 @@ SQL do_query($form, $dbh, $query, conv_i($form->{id})); } + $form->new_lastmtime('ap'); $form->{name} = $form->{vendor}; $form->{name} =~ s/--\Q$form->{vendor_id}\E//; @@ -800,6 +801,8 @@ SQL # safety check datev export if ($::instance_conf->get_datev_check_on_purchase_invoice) { + # if we need department for kostenstelle in DATEV check + $form->{department} = SL::DB::Manager::Department->find_by(id => $form->{department_id})->description if $form->{department_id}; my $transdate = $::form->{invdate} ? DateTime->from_lxoffice($::form->{invdate}) : undef; $transdate ||= DateTime->today; @@ -873,17 +876,20 @@ sub reverse_invoice { #adjust allocated $form->update_balance($dbh, "invoice", "allocated", qq|id = $pthref->{id}|, $qty); - $form->update_balance($dbh, "acc_trans", "amount", - qq| (trans_id = $pthref->{trans_id}) - AND (chart_id = $ref->{expense_accno_id}) - AND (transdate = '$pthref->{transdate}')|, - $amount); + if ( $::instance_conf->get_inventory_system eq 'perpetual' ) { - $form->update_balance($dbh, "acc_trans", "amount", - qq| (trans_id = $pthref->{trans_id}) - AND (chart_id = $ref->{inventory_accno_id}) - AND (transdate = '$pthref->{transdate}')|, - $amount * -1); + $form->update_balance($dbh, "acc_trans", "amount", + qq| (trans_id = $pthref->{trans_id}) + AND (chart_id = $ref->{expense_accno_id}) + AND (transdate = '$pthref->{transdate}')|, + $amount); + + $form->update_balance($dbh, "acc_trans", "amount", + qq| (trans_id = $pthref->{trans_id}) + AND (chart_id = $ref->{inventory_accno_id}) + AND (transdate = '$pthref->{transdate}')|, + $amount * -1); + } last if (($ref->{allocated} -= $qty) <= 0); } @@ -1339,7 +1345,7 @@ sub retrieve_item { push @{ $ref->{matches} ||= [] }, $::locale->text('Model') . ': ' . join ', ', map { $_->{model} } @{ $mm_by_id{$ref->{id}} }; } - if ($ref->{ean} eq $::form->{"partnumber_$i"}) { + if (($::form->{"partnumber_$i"} ne '') && ($ref->{ean} eq $::form->{"partnumber_$i"})) { push @{ $ref->{matches} ||= [] }, $::locale->text('EAN') . ': ' . $ref->{ean}; }