X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/kivitendo-erp.git/blobdiff_plain/2a968d9a736ca12c04a4878128bdb85ec27f47b1..ed9b1bfb7ca6acf18d907a7d34ddd3a82061b8cb:/SL/Controller/BankTransaction.pm diff --git a/SL/Controller/BankTransaction.pm b/SL/Controller/BankTransaction.pm index ff391eaa9..370ac954c 100644 --- a/SL/Controller/BankTransaction.pm +++ b/SL/Controller/BankTransaction.pm @@ -182,7 +182,9 @@ sub action_list { # score is stored in $bt->{agreement} foreach my $open_invoice (@all_open_invoices) { - ($open_invoice->{agreement}, $open_invoice->{rule_matches}) = $bt->get_agreement_with_invoice($open_invoice); + ($open_invoice->{agreement}, $open_invoice->{rule_matches}) = $bt->get_agreement_with_invoice($open_invoice, + sepa_export_items => $all_open_sepa_export_items, + ); $open_invoice->{realamount} = $::form->format_amount(\%::myconfig, $open_invoice->amount * ($open_invoice->{is_ar} ? 1 : -1), 2); } @@ -260,12 +262,6 @@ sub action_create_invoice { $self->transaction(SL::DB::Manager::BankTransaction->find_by(id => $::form->{bt_id})); - # This was dead code: We compared vendor.account_name with bank_transaction.iban. - # This did never match (Kontonummer != IBAN). It's kivis 09/02 (2013) day - # If refactored/improved, also consider that vendor.iban should be normalized - # user may like to input strings like: 'AT 3333 3333 2222 1111' -> can be checked strictly - # at Vendor code because we need the correct data for all sepa exports. - my $vendor_of_transaction = SL::DB::Manager::Vendor->find_by(iban => $self->transaction->{remote_account_number}); my $use_vendor_filter = $self->transaction->{remote_account_number} && $vendor_of_transaction; @@ -297,6 +293,7 @@ sub action_create_invoice { TEMPLATES_GL => $use_vendor_filter && @{ $templates_ap } ? undef : $templates_gl, TEMPLATES_AP => $templates_ap, vendor_name => $use_vendor_filter && @{ $templates_ap } ? $vendor_of_transaction->name : undef, + BT_ID => $::form->{bt_id}, ); } @@ -738,6 +735,9 @@ sub save_single_bank_transaction { # Rollback Fehler nicht weiterreichen # die if $error; + # aber einen rollback von hand + $::lxdebug->message(LXDebug->DEBUG2(),"finish worker with ". ($error ? $error->{result} : '-')); + $data{bank_transaction}->db->dbh->rollback if $error && $error->{result} eq 'error'; }); return grep { $_ } ($error, @warnings); @@ -895,7 +895,7 @@ sub load_ap_record_template_url { } sub load_gl_record_template_url { - my ($self, $template) = @_; + my ($self, $template, $bt_id) = @_; return $self->url_for( controller => 'gl.pl', @@ -904,6 +904,7 @@ sub load_gl_record_template_url { 'form_defaults.amount_1' => abs($self->transaction->amount), # always positive 'form_defaults.transdate' => $self->transaction->transdate_as_date, 'form_defaults.callback' => $self->callback, + 'form_defaults.bt_id' => $self->transaction->id, ); }