Wiederkehrende Rechnungen: Einmalige Rechnungen auch nur einmalig ausführen
authorJan Büren <jan@kivitendo-premium.de>
Sun, 8 Oct 2017 16:34:16 +0000 (18:34 +0200)
committerJan Büren <jan@kivitendo-premium.de>
Sun, 8 Oct 2017 16:34:16 +0000 (18:34 +0200)
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

index 6d87fb6..851bf3f 100644 (file)
@@ -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;
+      }
     }
   }