X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FIS.pm;h=9a197ab84b9114c4c96c8355db8aacc5aa14100d;hb=3879426c4db6c8a2ff8afa9a98992eeaede38a49;hp=c1ab0b64400d73bff5dfddb2785880ea36549824;hpb=8fa481535e12dc5cfddcdff28b8b1a9ce881ab57;p=kivitendo-erp.git diff --git a/SL/IS.pm b/SL/IS.pm index c1ab0b644..9a197ab84 100644 --- a/SL/IS.pm +++ b/SL/IS.pm @@ -1212,6 +1212,9 @@ sub cogs { $main::lxdebug->enter_sub(); my ($dbh, $form, $id, $totalqty, $basefactor, $row) = @_; + + $basefactor ||= 1; + $form->{taxzone_id} *=1; my $transdate = $form->{invdate} ? $dbh->quote($form->{invdate}) : "current_date"; my $taxzone_id = $form->{"taxzone_id"} * 1; @@ -1242,7 +1245,7 @@ sub cogs { # total expenses and inventory # sellprice is the cost of the item - my $linetotal = $form->round_amount(($ref->{sellprice} * $qty) / $basefactor, 2); + my $linetotal = $form->round_amount(($ref->{sellprice} * $qty) / ( $basefactor || 1 ), 2); if (!$main::eur) { $ref->{expense_accno} = ($form->{"expense_accno_$row"}) ? $form->{"expense_accno_$row"} : $ref->{expense_accno}; @@ -1694,13 +1697,19 @@ sub retrieve_item { my $where = qq|NOT p.obsolete = '1'|; my @values; - foreach my $column (qw(p.partnumber p.description pgpartsgroup)) { + foreach my $column (qw(p.partnumber p.description pgpartsgroup )) { my ($table, $field) = split m/\./, $column; next if !$form->{"${field}_${i}"}; $where .= qq| AND lower(${column}) ILIKE ?|; push @values, '%' . $form->{"${field}_${i}"} . '%'; } + #Es soll auch nach EAN gesucht werden, ohne Einschränkung durch Beschreibung + if ($form->{"partnumber_$i"} && !$form->{"description_$i"}) { + $where .= qq| OR (NOT p.obsolete = '1' AND p.ean = ? )|; + push @values, $form->{"partnumber_$i"}; + } + if ($form->{"description_$i"}) { $where .= qq| ORDER BY p.description|; } else {