X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FAP.pm;h=f03fb63e892b461085088eceb0363dab873c0e7d;hb=28550377f37c6bb63c86cb1460b233b042b29dfc;hp=41452511aeb541d629a3b46154928f0d913a10f3;hpb=0fa8098195ca1634920bf65264a987b59a91ebe1;p=kivitendo-erp.git diff --git a/SL/AP.pm b/SL/AP.pm index 41452511a..f03fb63e8 100644 --- a/SL/AP.pm +++ b/SL/AP.pm @@ -40,6 +40,7 @@ use SL::DBUtils; use SL::IO; use SL::MoreCommon; use SL::DB::Default; +use SL::DB::Draft; use SL::Util qw(trim); use SL::DB; use Data::Dumper; @@ -361,19 +362,17 @@ sub _post_transaction { IO->set_datepaid(table => 'ap', id => $form->{id}, dbh => $dbh); + if ($form->{draft_id}) { + SL::DB::Manager::Draft->delete_all(where => [ id => delete($form->{draft_id}) ]); + } + # safety check datev export if ($::instance_conf->get_datev_check_on_ap_transaction) { - my $transdate = $::form->{transdate} ? DateTime->from_lxoffice($::form->{transdate}) : undef; - $transdate ||= DateTime->today; - my $datev = SL::DATEV->new( - exporttype => DATEV_ET_BUCHUNGEN, - format => DATEV_FORMAT_KNE, dbh => $dbh, trans_id => $form->{id}, ); - - $datev->export; + $datev->generate_datev_data; if ($datev->errors) { die join "\n", $::locale->text('DATEV check returned errors:'), $datev->errors; @@ -439,10 +438,7 @@ sub ap_transactions { my @values; - if ($form->{vendor_id}) { - $where .= " AND a.vendor_id = ?"; - push(@values, $form->{vendor_id}); - } elsif ($form->{vendor}) { + if ($form->{vendor}) { $where .= " AND v.name ILIKE ?"; push(@values, like($form->{vendor})); } @@ -647,7 +643,7 @@ sub _post_payment { # Get the AP accno. $query = - qq|SELECT c.accno + qq|SELECT c.id FROM acc_trans at LEFT JOIN chart c ON (at.chart_id = c.id) WHERE (trans_id = ?) @@ -655,7 +651,7 @@ sub _post_payment { ORDER BY at.acc_trans_id LIMIT 1|; - ($form->{APselected}) = selectfirst_array_query($form, $dbh, $query, conv_i($form->{id})); + ($form->{AP_chart_id}) = selectfirst_array_query($form, $dbh, $query, conv_i($form->{id})); # Post the new payments. $self->post_transaction($myconfig, $form, $dbh, 1);