]> wagnertech.de Git - kivitendo-erp.git/commitdiff
Lieferdatum in Gutschrift und Einkaufsrechnung
authordigifoto <digifoto@kivitendo.digifoto24.com>
Mon, 26 Nov 2012 16:33:59 +0000 (17:33 +0100)
committerNiclas Zimmermann <niclas@kivitendo-premium.de>
Tue, 19 Mar 2013 14:46:18 +0000 (15:46 +0100)
Bei der Verkaufsgutschrift und der Einkaufsrechnung hat jetzt das Lieferdatum
(oder Leistungsdatum) wie bei der Rechnung Vorrang vor dem Rechnungsdatum, wenn
es gesetzt ist. Einkaufsgutschriften gibt es noch nicht.

Anwendungsbeispiele:

* nach einer Mehrwertsteueränderung möchte man eine Rechnung mit dem alten
Steuersatz gutschreiben, und braucht dafür natürlich noch den alten Steuersatz.

* nach einer Mehrwertsteueränderung muß man eine Einkaufsrechnung mit dem alten
Steuersatz buchen

Bei Erstellung von Verkaufsgutschrift aus Verkaufsrechnung wird das Lieferdatum
jetzt übernommen und mit gespeichert.

Bei Einkaufsrechnungen (ap) wird jetzt auch Lieferdatum gespeichert, neue
Spalte deliverydate.

SL/IC.pm
SL/IR.pm
sql/Pg-upgrade2/ap_deliverydate.sql [new file with mode: 0644]

index 7a52096a07e34d6c57d7f43af59f1bc115507771..96e3a94a1be197c33cef5938d4cd4205d816fc5b 100644 (file)
--- a/SL/IC.pm
+++ b/SL/IC.pm
@@ -1487,8 +1487,22 @@ sub retrieve_accounts {
 
   # transdate madness.
   my $transdate = "";
-  if ($form->{type} eq "invoice") {
-    if (($form->{vc} eq "vendor") || !$form->{deliverydate}) {
+  if ($form->{type} eq "invoice" or $form->{type} eq "credit_note") {
+    # use deliverydate for sales and purchase invoice, if it exists
+    # also use deliverydate for credit notes
+    if (!$form->{deliverydate}) {
+      $transdate = $form->{invdate};
+    } else {
+      $transdate = $form->{deliverydate};
+    }
+  } elsif ($form->{script} eq 'ir.pl') {
+    # when a purchase invoice is opened from the report of purchase invoices 
+    # $form->{type} isn't set, but $form->{script} is, not sure why this is or
+    # whether this distinction matters in some other scenario. Otherwise one
+    # could probably take out this elsif and add a
+    # " or $form->{script} eq 'ir.pl' "
+    # to the above if-statement
+    if (!$form->{deliverydate}) {
       $transdate = $form->{invdate};
     } else {
       $transdate = $form->{deliverydate};
index 1f0ae58f7c647f85dac3df24d390b103237d4cc0..22c5dc124e35d491cc330bfe5af037710f9c4838 100644 (file)
--- a/SL/IR.pm
+++ b/SL/IR.pm
@@ -1218,7 +1218,9 @@ sub retrieve_item {
 
   my $transdate = "";
   if ($form->{type} eq "invoice") {
-    $transdate = $form->{invdate} ? $dbh->quote($form->{invdate}) : "current_date";
+    $transdate = $form->{deliverydate} ? $dbh->quote($form->{deliverydate}) 
+               : $form->{invdate} ? $dbh->quote($form->{invdate}) 
+               : "current_date";
   } else {
     $transdate = $form->{transdate} ? $dbh->quote($form->{transdate}) : "current_date";
   }
diff --git a/sql/Pg-upgrade2/ap_deliverydate.sql b/sql/Pg-upgrade2/ap_deliverydate.sql
new file mode 100644 (file)
index 0000000..9d06aa1
--- /dev/null
@@ -0,0 +1,5 @@
+-- @tag: ap_deliverydate
+-- @description: deliverydate zu Einkaufsrechnung hinzufügen
+-- @depends: release_3_0_0
+-- @charset: utf-8
+ALTER TABLE ap ADD COLUMN deliverydate date;