X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FSEPA.pm;h=311b58e338d82825e3638e1b1aa72d0f6a234178;hb=b632cee8434442efd8ae3962126c34123172daac;hp=38341eccd5f9e4ef93c31508659dce6f3da2968c;hpb=c1716dbdeb0ba6d2cd9c708a2c54b9845e9532b4;p=kivitendo-erp.git diff --git a/SL/SEPA.pm b/SL/SEPA.pm index 38341eccd..311b58e33 100644 --- a/SL/SEPA.pm +++ b/SL/SEPA.pm @@ -18,11 +18,12 @@ sub retrieve_open_invoices { my $dbh = $params{dbh} || $form->get_standard_dbh($myconfig); my $arap = $params{vc} eq 'customer' ? 'ar' : 'ap'; my $vc = $params{vc} eq 'customer' ? 'customer' : 'vendor'; + my $extra_columns = $arap eq 'ar' ? 'ar.direct_debit, ' : ''; my $query = qq| - SELECT ${arap}.id, ${arap}.invnumber, ${arap}.${vc}_id, ${arap}.amount AS invoice_amount, ${arap}.invoice, - vc.name AS vcname, ${arap}.duedate as duedate, + SELECT ${arap}.id, ${arap}.invnumber, ${arap}.${vc}_id as vc_id, ${arap}.amount AS invoice_amount, ${arap}.invoice, + vc.name AS vcname, vc.language_id, ${arap}.duedate as duedate, ${extra_columns} COALESCE(vc.iban, '') <> '' AND COALESCE(vc.bic, '') <> '' AS vc_bank_info_ok, @@ -305,7 +306,7 @@ sub list_exports { push @where, 'se.vc = ?'; push @values, $vc; - my $where = ' WHERE ' . join(' AND ', map { "(${_})" } @where) if (@where); + my $where = @where ? ' WHERE ' . join(' AND ', map { "(${_})" } @where) : ''; my $query = qq|SELECT se.id, se.employee_id, se.executed, se.closed, itime::date AS export_date, @@ -403,6 +404,12 @@ sub post_payment { # Update the invoice to reflect the new paid amount. do_statement($form, @{ $handles{update_arap} }, $orig_item->{amount}, $orig_item->{"${arap}_id"}); + # Update datepaid of invoice. set_datepaid (which has some extra logic) + # finds the date from acc_trans, where the payment has already been + # recorded above, so we don't need to explicitly pass + # $item->{execution_date} + IO->set_datepaid(table => "$arap", id => $orig_item->{"${arap}_id"}, dbh => $dbh); + # Update the item to reflect that it has been posted. do_statement($form, @{ $handles{finish_item} }, $item->{execution_date}, $item_id);