From: Jan Büren Date: Sun, 23 Jul 2017 19:14:47 +0000 (+0200) Subject: SEPA Agreement Regel wieder aktivieren X-Git-Tag: release-3.5.4~976 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=54ae2899252302bf9e5dff99f2327cc081a66cce;p=kivitendo-erp.git SEPA Agreement Regel wieder aktivieren Sehr präziser und gut kommentieren Geoffrey-Code sollte man prinzipiell fördern - Oder wenn man den wegwirft, auch einen ädequaten Ersatz schaffen und testen. Aber man kann auch das Bein amputieren wenn der Patient Schmerzen im dicken Zeh hat. Ich schraub das Bein erstmal wieder dran. --- diff --git a/SL/DB/BankTransaction.pm b/SL/DB/BankTransaction.pm index cabdc816d..5ad598326 100644 --- a/SL/DB/BankTransaction.pm +++ b/SL/DB/BankTransaction.pm @@ -210,26 +210,26 @@ sub get_agreement_with_invoice { }; # # if there is exactly one non-executed sepa_export_item for the invoice -# if ( my $seis = $invoice->find_sepa_export_items({ executed => 0 }) ) { -# if ( scalar @$seis == 1 ) { -# my $sei = $seis->[0]; -# -# # test for amount and id matching only, sepa transfer date and bank -# # transaction date needn't match -# my $arap = $invoice->is_sales ? 'ar' : 'ap'; -# if ( abs($self->amount) == ($sei->amount) -# && $invoice->id == $sei->arap_id -# ) { -# $agreement += $points{sepa_export_item}; -# $rule_matches .= 'sepa_export_item(' . $points{'sepa_export_item'} . ') '; -# }; -# } else { -# # zero or more than one sepa_export_item, do nothing for this invoice -# # zero: do nothing, no sepa_export_item exists, no match -# # more than one: does this ever apply? Currently you can't create sepa -# # exports for invoices that already have a non-executed sepa_export -# }; -# }; + if ( my $seis = $invoice->find_sepa_export_items({ executed => 0 }) ) { + if ( scalar @$seis == 1 ) { + my $sei = $seis->[0]; + + # test for amount and id matching only, sepa transfer date and bank + # transaction date needn't match + my $arap = $invoice->is_sales ? 'ar' : 'ap'; + if ( abs($self->amount) == ($sei->amount) + && $invoice->id == $sei->arap_id + ) { + $agreement += $points{sepa_export_item}; + $rule_matches .= 'sepa_export_item(' . $points{'sepa_export_item'} . ') '; + }; + } else { + # zero or more than one sepa_export_item, do nothing for this invoice + # zero: do nothing, no sepa_export_item exists, no match + # more than one: does this ever apply? Currently you can't create sepa + # exports for invoices that already have a non-executed sepa_export + }; + }; return ($agreement,$rule_matches); };