X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=SL%2FIC.pm;h=5396c7addb75b49c325eeba02c3088a46796670d;hb=02cb7e02771247f3106001076366d119277a7d30;hp=c07227f547654b405102dcce51c288c651920a2e;hpb=83560c6383fec7a354753f3187c3677471ba8f06;p=kivitendo-erp.git diff --git a/SL/IC.pm b/SL/IC.pm index c07227f54..5396c7add 100644 --- a/SL/IC.pm +++ b/SL/IC.pm @@ -362,7 +362,7 @@ sub save { $form->{partnumber} ||= $trans_number->create_unique; ($form->{id}) = selectrow_query($form, $dbh, qq|SELECT nextval('id')|); - do_query($form, $dbh, qq|INSERT INTO parts (id, partnumber, unit) VALUES (?, ?, '')|, $form->{id}, $form->{partnumber}); + do_query($form, $dbh, qq|INSERT INTO parts (id, partnumber, unit) VALUES (?, ?, ?)|, $form->{id}, $form->{partnumber}, $form->{unit}); $form->{orphaned} = 1; } @@ -497,7 +497,6 @@ sub save { } # insert makemodel records - unless ($form->{item} eq 'service') { my $lastupdate = ''; my $value = 0; for my $i (1 .. $form->{makemodel_rows}) { @@ -521,7 +520,6 @@ sub save { do_query($form, $dbh, $query, @values); } } - } # insert taxes foreach my $item (split(/ /, $form->{taxaccounts})) { @@ -702,16 +700,17 @@ sub assembly_item { push(@values, '%' . $form->{"${column}_$i"} . '%'); } - if ($form->{"id_${i}"}) { - $where .= qq| AND p.id = ?|; - push @values, $form->{"id_${i}"}; - } - if ($form->{id}) { $where .= qq| AND NOT (p.id = ?)|; push(@values, conv_i($form->{id})); } + # Search for part ID overrides all other criteria. + if ($form->{"id_${i}"}) { + $where = qq|p.id = ?|; + @values = ($form->{"id_${i}"}); + } + if ($form->{partnumber}) { $where .= qq| ORDER BY p.partnumber|; } else { @@ -1047,7 +1046,7 @@ sub all_parts { my $select_clause = join ', ', map { $token_builder->($_, 1) } @select_tokens; my $join_clause = join ' ', @joins{ grep $joins_needed{$_}, @join_order }; my $where_clause = join ' AND ', map { "($_)" } @where_tokens; - my $group_clause = ' GROUP BY ' . join ', ', map { $token_builder->($_) } @group_tokens if scalar @group_tokens; + my $group_clause = @group_tokens ? ' GROUP BY ' . join ', ', map { $token_builder->($_) } @group_tokens : ''; my %oe_flag_to_cvar = ( bought => 'invoice',