X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/65d2537d658b99b005a18c6663bc1293b41a1d83..a9c191deed45bf13c5a6983ad0409fd7cb0e86d3:/SL/IC.pm diff --git a/SL/IC.pm b/SL/IC.pm index d352a560d..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 { @@ -1135,6 +1143,7 @@ sub prepare_parts_for_printing { my $type_abbr = $::request->presenter->type_abbreviation($prt->part_type); push @{ $template_arrays{part_type} }, $type_abbr; push @{ $template_arrays{type_and_classific}}, $type_abbr.$::request->presenter->classification_abbreviation($prt->classification_id); + push @{ $template_arrays{separate} }, $::request->presenter->separate_abbreviation($prt->classification_id); } $main::lxdebug->leave_sub();