From 05309930f47eed9f74c75a7ba4f6fdbb6006d911 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20B=C3=BCren?= Date: Sun, 8 Oct 2017 18:34:16 +0200 Subject: [PATCH] =?utf8?q?Wiederkehrende=20Rechnungen:=20Einmalige=20Rechn?= =?utf8?q?ungen=20auch=20nur=20einmalig=20ausf=C3=BChren?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Die kleinste Periode die calculate_dates verwendet ist monatlich. Falls eine einmalige Rechnungen ein Startdatum älter als einen Monat besitzt, werden mehrere Rechnungen erzeugt. Sinnvoller ist es, dass die foreach @dates Schleife bei der Prüfung auf Einmaligkeit auch direkt beendet wird (last). Ferner Debug und typo --- SL/BackgroundJob/CreatePeriodicInvoices.pm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/SL/BackgroundJob/CreatePeriodicInvoices.pm b/SL/BackgroundJob/CreatePeriodicInvoices.pm index 6d87fb6f2..851bf3ff2 100644 --- a/SL/BackgroundJob/CreatePeriodicInvoices.pm +++ b/SL/BackgroundJob/CreatePeriodicInvoices.pm @@ -61,12 +61,13 @@ sub run { push @invoices_to_print, $data if $config->print; push @invoices_to_email, $data if $config->send_email; - # disalbe one timer only, if they are already processed - # disable one time configs (periodicity is only one time). my $inactive_ordnumber = $config->disable_one_time_config; - push @disabled_orders, $inactive_ordnumber if $inactive_ordnumber; - - # last; + if ($inactive_ordnumber) { + # disable one time configs and skip eventual invoices + _log_msg("Order " . $inactive_ordnumber . " deavtivated \n"); + push @disabled_orders, $inactive_ordnumber; + last; + } } } -- 2.20.1