Rechnungen: Nach »als geschlossen markiert« suchen
authorSven Schöling <s.schoeling@linet-services.de>
Tue, 15 Sep 2015 09:49:38 +0000 (11:49 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Mon, 28 Aug 2017 10:38:34 +0000 (12:38 +0200)
SL/AR.pm
bin/mozilla/ar.pl
locale/de/all
templates/webpages/ar/search.html

index 56f2da9..4f15067 100644 (file)
--- a/SL/AR.pm
+++ b/SL/AR.pm
@@ -599,6 +599,20 @@ SQL
     push @values, like($form->{parts_description});
   }
 
+  if ($form->{show_marked_as_closed}) {
+    $query .= '
+      LEFT JOIN (
+              SELECT SUM(acc_trans.amount) AS amount, trans_id
+              FROM acc_trans
+              LEFT JOIN chart ON chart.id = chart_id
+              WHERE chart.link ILIKE ?
+              GROUP BY trans_id
+      ) AS paid_difference ON (paid_difference.trans_id = a.id)
+    ';
+    unshift @values, '%AR_paid%';
+    $where .= ' AND COALESCE(paid_difference.amount, 0) + a.paid != 0';
+  }
+
   my ($cvar_where, @cvar_values) = CVar->build_filter_query('module'         => 'CT',
                                                             'trans_id_field' => 'c.id',
                                                             'filter'         => $form,
index ec028e8..5f290f6 100644 (file)
@@ -996,7 +996,7 @@ sub ar_transactions {
 
   my @hidden_variables = map { "l_${_}" } @columns;
   push @hidden_variables, "l_subtotal", qw(open closed customer invnumber ordnumber cusordnumber transaction_description notes project_id transdatefrom transdateto duedatefrom duedateto
-                                           employee_id salesman_id business_id parts_partnumber parts_description department_id);
+                                           employee_id salesman_id business_id parts_partnumber parts_description department_id show_marked_as_closed);
   push @hidden_variables, map { "cvar_$_->{name}" } @ct_searchable_custom_variables;
 
   $href = build_std_url('action=ar_transactions', grep { $form->{$_} } @hidden_variables);
index 63aaf24..6a050b5 100755 (executable)
@@ -2710,6 +2710,7 @@ $self->{texts} = {
   'Show items from invoices individually' => 'Artikel aus Rechnungen anzeigen',
   'Show mappings (csv_import)'  => 'Spaltenzuordnungen anzeigen',
   'Show old dunnings'           => 'Alte Mahnungen anzeigen',
+  'Show only marked as paid invoices' => 'Nur "als geschlossen markiert" zeigen',
   'Show overdue sales quotations and requests for quotations...' => 'Überfällige Angebote und Preisanfragen anzeigen...',
   'Show parts'                  => 'Artikel anzeigen',
   'Show parts longdescription (notes) in select list' => 'Langtext in Auswahlliste bei mehreren Treffern im Stammdaten-Bestand anzeigen',
index 1c0b9e6..f3b7aa2 100644 (file)
       <td>[% L.select_tag("business_id", ALL_BUSINESS_TYPES, with_empty=1, title_key="description", style=style) %]</td>
      </tr>
     [% END %]
+     <tr>
+      <th>[% 'Show only marked as paid invoices' | $T8 %]</th>
+      <td>[% L.checkbox_tag('show_marked_as_closed') %]</td>
+     </tr>
      <tr>
       <th align=right nowrap>[% 'Invoice Date' | $T8 %]</th>
       <td>