Einkaufs-/Verkaufsrechnungen: Verwendung freier Fälligkeitsdaten gefixt
authorMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 21 Feb 2017 08:28:18 +0000 (09:28 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 21 Feb 2017 08:28:18 +0000 (09:28 +0100)
Wenn bei einer Zahlungsbedingung die automatische Berechnung des
Fälligkeitsdatums aus ist, so sollte die Routine zum Berechnen das
aktuell von der Benutzer*in eingegebene Fälligkeitsdatum
berücksichtigen. Damit das funktioniert, muss auch das richtige Feld
aus $::form an »$terms->calc_date« übergeben werden — und das heißt
nun mal »duedate« und nicht »due_due«.

Das Ergebnis war, dass beim Buchen der Rechnung nicht das eingetragene
Fälligkeitsdatum genommen wurde, sondern das Rechnungsdatum, da die
Berechnungsroutine dachte, es wäre kein Fälligkeitsdatum eingegeben.

bin/mozilla/ir.pl
bin/mozilla/is.pl

index 2e8c567..330d7f3 100644 (file)
@@ -294,7 +294,7 @@ sub form_header {
   map { $_.'_rate', $_.'_description', $_.'_taxnumber' } split / /, $form->{taxaccounts}];
 
   $TMPL_VAR{payment_terms_obj} = get_payment_terms_for_invoice();
-  $form->{duedate}             = $TMPL_VAR{payment_terms_obj}->calc_date(reference_date => $form->{invdate}, due_date => $form->{due_due})->to_kivitendo if $TMPL_VAR{payment_terms_obj};
+  $form->{duedate}             = $TMPL_VAR{payment_terms_obj}->calc_date(reference_date => $form->{invdate}, due_date => $form->{duedate})->to_kivitendo if $TMPL_VAR{payment_terms_obj};
 
   $::request->{layout}->use_javascript(map { "${_}.js" } qw(kivi.Draft kivi.File  kivi.SalesPurchase kivi.Part ckeditor/ckeditor ckeditor/adapters/jquery kivi.io autocomplete_customer autocomplete_project client_js));
 
index 6d17208..00b99a7 100644 (file)
@@ -793,7 +793,7 @@ sub post {
   relink_accounts();
 
   my $terms        = get_payment_terms_for_invoice();
-  $form->{duedate} = $terms->calc_date(reference_date => $form->{invdate}, due_date => $form->{due_due})->to_kivitendo if $terms;
+  $form->{duedate} = $terms->calc_date(reference_date => $form->{invdate}, due_date => $form->{duedate})->to_kivitendo if $terms;
 
   # If transfer_out is requested, get rose db handle and do post and
   # transfer out in one transaction. Otherwise just post the invoice.