X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/219d88ab03186a74e5dd474175e49bd74dacf15f..a9c191deed45bf13c5a6983ad0409fd7cb0e86d3:/SL/IC.pm diff --git a/SL/IC.pm b/SL/IC.pm index 17867a070..08dfe1237 100644 --- a/SL/IC.pm +++ b/SL/IC.pm @@ -379,12 +379,20 @@ sub all_parts { push @select_tokens, $_; } - for ($form->{searchitems}) { - push @where_tokens, "p.part_type = 'part'" if /part/; - push @where_tokens, "p.part_type = 'service'" if /service/; - push @where_tokens, "p.part_type = 'assembly'" if /assembly/; - push @where_tokens, "p.part_type = 'assortment'" if /assortment/; + # Oder Bedingungen fuer Ware Dienstleistung Erzeugnis: + if ($form->{l_part} || $form->{l_assembly} || $form->{l_service} || $form->{l_assortment}) { + my @or_tokens = (); + push @or_tokens, "p.part_type = 'service'" if $form->{l_service}; + push @or_tokens, "p.part_type = 'assembly'" if $form->{l_assembly}; + push @or_tokens, "p.part_type = 'part'" if $form->{l_part}; + push @or_tokens, "p.part_type = 'assortment'" if $form->{l_assortment}; + push @where_tokens, join ' OR ', map { "($_)" } @or_tokens; } + else { + # gar keine Teile + push @where_tokens, q|'F' = 'T'|; + } + if ( $form->{classification_id} > 0 ) { push @where_tokens, "p.classification_id = ?"; push @bind_vars, $form->{classification_id}; @@ -594,7 +602,7 @@ SQL $main::lxdebug->leave_sub(); - return @{ $form->{parts} }; + return $form->{parts}; } sub _create_filter_for_priceupdate {