Offen Forderungen / Verbindlichkeiten - Fälligkeitsdatum bei Stichtag berücksichtigen
authorJan Büren <jan@kivitendo-premium.de>
Mon, 11 Mar 2013 14:29:31 +0000 (15:29 +0100)
committerJan Büren <jan@kivitendo-premium.de>
Mon, 11 Mar 2013 14:29:31 +0000 (15:29 +0100)
Seit der 3.0 ist der Bericht in freiem Zeitraum und Stichtag aufgeteilt.
Der freie Zeitraum ist noch der "abwärtskompatible" Code von damals, der überwiegend
über das Rechnungsdatum offene Posten definiert. Beim Stichtag ist dies aber nicht mehr so,
daher erfolgt hier die Prüfung auf Fälligkeitsdatum. Falls kein Fälligkeitsdatum gesetzt ist (NULL),
wird dieses gar nicht angezeigt (möglich bei Einkaufs- und Verkaufsrechnungen).

SL/RP.pm
doc/changelog
locale/de/all
templates/webpages/rp/report.html

index a1875ab..1afd180 100644 (file)
--- a/SL/RP.pm
+++ b/SL/RP.pm
@@ -1164,10 +1164,12 @@ sub aging {
   # mit entsprechender altersstrukturliste (s.a. Bug 1842)
   # eine neue variable an der oberfläche eingeführt, somit ist
   # todate == freier zeitrau und fordate == stichtag
+  # duedate_where == nur fällige rechnungen anzeigen
 
-  my ($review_of_aging_list, $todate, $fromdate, $fromwhere, $fordate);
+  my ($review_of_aging_list, $todate, $fromdate, $fromwhere, $fordate,
+      $duedate_where);
 
-  if ($form->{reporttype} eq 'custom') {  # altersstrukturliste
+  if ($form->{reporttype} eq 'custom') {  # altersstrukturliste, nur fällige
 
     # explizit rausschmeissen was man für diesen bericht nicht braucht
     delete $form->{fromdate};
@@ -1190,7 +1192,8 @@ sub aging {
         $review_of_aging_list = " AND $form->{review_of_aging_list} < (date $fordate) - duedate";
       }
     }
-  } else {  # freier zeitraum OHNE review_of_aging_list
+    $duedate_where = " AND (date $fordate) - duedate >= 0 ";
+  } else {  # freier zeitraum, nur rechnungsdatum und OHNE review_of_aging_list
     $form->{todate}  = $form->current_date($myconfig) unless ($form->{todate});
     $todate = conv_dateq($form->{todate});
     $fromdate = conv_dateq($form->{fromdate});
@@ -1233,6 +1236,7 @@ sub aging {
       AND (${ct}.id = ?)
       AND (transdate <= (date $todate) $fromwhere )
       $review_of_aging_list
+      $duedate_where
     ORDER BY ctid, transdate, invnumber |;
 
   my $sth_details = prepare_query($form, $dbh, $q_details);
index 0dd2f32..a328ffb 100644 (file)
@@ -12,7 +12,8 @@ Kleinere neue Features und Detailverbesserungen:
   Stücklisten-Details (Haken bei Warenliste) für Erzeugnisse wurden seit 2009
   (TEMPLATE_ARRAY Änderung) nicht mehr ausgedruckt,
   da hier die Code-Anpassungen vergessen wurde.
-
+- Offene Forderungen / Verbindlichkeiten
+  Stichtagsbezogene Auswahl korrekt mit Fälligkeit verrechnet
 
 
 2012-12-10 - Release 3.0.0
index 5e12166..5abb99c 100644 (file)
@@ -21,6 +21,7 @@ $self->{texts} = {
   '* there are restrictions for the perpetual method, look at chapter "Bemerkungen zu Bestandsmethode"  in' => ' für die Bestandsmethode gibt es Einschränkungen, siehe Kapitel "Bemerkungen zu Bestandsmethode"  in',
   '*) Since version 2.7 these parameters ares set in the client database and not in the configuration file, details in chapter:' => '*) Seit 2.7 werden Gewinnermittlungsart, Versteuerungsart und Warenbuchungsmethode in der Mandanten-DB gesteuert und nicht mehr in der Konfigurationsdatei, Umstellungs-Details:',
   '*/'                          => '*/',
+  ', if set'                    => ', falls gesetzt',
   '---please select---'         => '---bitte auswählen---',
   '. Automatically generated.'  => '. Automatisch erzeugt.',
   '...after loggin in'          => '...nach dem Anmelden',
index 649140a..753bc80 100644 (file)
     <td colspan=5><hr size=1 noshade></td>
   </tr>
   <tr>
-    <th align=left><input name=reporttype class=radio type=radio value="custom" checked><b>[% 'Reference day' | $T8 %]</b>&nbsp; </th>
+    <th align=left><input name=reporttype class=radio type=radio value="custom" checked><b>[% 'Reference day' | $T8 %]</b> ([% 'Due Date' | $T8 %][% ', if set' | $T8 %])</b>&nbsp; </th>
      <td align="right" colspan="4">[% 'Review of Aging list' | $T8 %] <select name="review_of_aging_list">
         <option></option>
         <option>0-30</option>
     <td colspan=5><hr size=3 noshade></td>
  </tr>
  <tr>
-    <th align=left><input name=reporttype class=radio type=radio value="free"><b>[% 'Free report period' | $T8 %]</b>&nbsp; </th>
+    <th align=left><input name=reporttype class=radio type=radio value="free"><b>[% 'Free report period' | $T8 %]</b> ([% 'Invoice Date' | $T8 %])&nbsp; </th>
     <td align="right" colspan=4>
       [% 'From' | $T8 %] [% L.date_tag('fromdate', fromdate) %]
       [% 'Bis' | $T8 %] [% L.date_tag('todate') %]