]> wagnertech.de Git - kivitendo-erp.git/commitdiff
Artikelsuche: Suche nach in Erzeugnis verbauten Artikeln
authorJan Büren <jan@kivitendo.de>
Thu, 26 Mar 2020 11:43:07 +0000 (12:43 +0100)
committerJan Büren <jan@kivitendo.de>
Thu, 26 Mar 2020 11:43:07 +0000 (12:43 +0100)
Als Ergebnis werden Erzeugnisse und deren Bestandteile angezeigt.
Gültige Suchkriterien sind aktuell nur die Spalten in parts

SL/IC.pm
locale/de/all
templates/webpages/ic/search.html

index 16ebef0b81a845eda2e6810fdb3f300f140b5330..0983e2a8a7adc1d044404781e9328072144af6cf 100644 (file)
--- a/SL/IC.pm
+++ b/SL/IC.pm
@@ -526,6 +526,22 @@ sub all_parts {
     push @bind_vars, @cvar_values;
   }
 
     push @bind_vars, @cvar_values;
   }
 
+  # simple search for assemblies by items used in assemblies
+  if ($form->{bom} eq '2' && $form->{l_assembly}) {
+    # nuke where clause and bind vars
+    $where_clause = ' 1=1 AND p.id in (SELECT id from assembly where parts_id IN ' .
+                    ' (select id from parts where 1=1 AND ';
+    @bind_vars    = ();
+    # use only like filter for items used in assemblies
+    foreach (@like_filters) {
+      next unless $form->{$_};
+      $form->{"l_$_"} = '1'; # show the column
+      $where_clause .= " $_ ILIKE ? ";
+      push @bind_vars,    like($form->{$_});
+    }
+    $where_clause .='))';
+  }
+
   my $query = <<"  SQL";
     SELECT DISTINCT $select_clause
     FROM parts p
   my $query = <<"  SQL";
     SELECT DISTINCT $select_clause
     FROM parts p
index 96281457a00cc430555ee921967c6cf9c5c32832..b25c483ecb8b22111e09294be5653b016a9f80fe 100755 (executable)
@@ -2803,6 +2803,7 @@ $self->{texts} = {
   'Search AR Aging'             => 'Offene Forderungen',
   'Search bank transactions'    => 'Filter für Bankbuchungen',
   'Search contacts'             => 'Personensuche',
   'Search AR Aging'             => 'Offene Forderungen',
   'Search bank transactions'    => 'Filter für Bankbuchungen',
   'Search contacts'             => 'Personensuche',
+  'Search for Items used in Assemblies' => 'Suche nach in Erzeugnissen verbauten Artikeln',
   'Search parts by customer partnumber in sales order forms' => 'Artikel nach Kunden-Art.-Nr. in Verkaufsbelegen suchen',
   'Search parts by vendor partnumber (model) in purchase order forms' => 'Artikel nach Lieferanten-Art.-Nr. in Einkaufsbelegen suchen',
   'Search term'                 => 'Suchbegriff',
   'Search parts by customer partnumber in sales order forms' => 'Artikel nach Kunden-Art.-Nr. in Verkaufsbelegen suchen',
   'Search parts by vendor partnumber (model) in purchase order forms' => 'Artikel nach Lieferanten-Art.-Nr. in Einkaufsbelegen suchen',
   'Search term'                 => 'Suchbegriff',
index 3e68dc0cfde5d0fdc645b2bd2e7420e292931023..42ec5fb86da7415862ef547b4d84b615c82d80f9 100644 (file)
        <td colspan="3">
         [% L.radio_button_tag('bom', id='bom_0', value=0, checked=1, label=LxERP.t8('Top Level Designation only')) %]
         [% L.radio_button_tag('bom', id='bom_1', value=1,            label=LxERP.t8('Individual Items')) %]
        <td colspan="3">
         [% L.radio_button_tag('bom', id='bom_0', value=0, checked=1, label=LxERP.t8('Top Level Designation only')) %]
         [% L.radio_button_tag('bom', id='bom_1', value=1,            label=LxERP.t8('Individual Items')) %]
+        [% L.radio_button_tag('bom', id='bom_2', value=2,            label=LxERP.t8('Search for Items used in Assemblies')) %]
        </td>
       </tr>
 
        </td>
       </tr>