X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/1a106c11e3f0e22b84e92d6f52c232b5b47d3d99..81c95198cd68f935e06378e3b9ff14a3e84b85e0:/SL/DO.pm diff --git a/SL/DO.pm b/SL/DO.pm index 17d896f6e..8e4136172 100644 --- a/SL/DO.pm +++ b/SL/DO.pm @@ -252,9 +252,9 @@ sub save { id, delivery_order_id, parts_id, description, longdescription, qty, base_qty, sellprice, discount, unit, reqdate, project_id, serialnumber, ordnumber, transdate, cusordnumber, - lastcost, price_factor_id, price_factor, marge_price_factor) + lastcost, price_factor_id, price_factor, marge_price_factor, pricegroup_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, - (SELECT factor FROM price_factors WHERE id = ?), ?)|; + (SELECT factor FROM price_factors WHERE id = ?), ?, ?)|; my $h_item = prepare_query($form, $dbh, $q_item); my $q_item_stock = @@ -301,7 +301,8 @@ sub save { $form->{"cusordnumber_$i"}, $form->{"lastcost_$i"}, conv_i($form->{"price_factor_id_$i"}), conv_i($form->{"price_factor_id_$i"}), - conv_i($form->{"marge_price_factor_$i"})); + conv_i($form->{"marge_price_factor_$i"}), + conv_i($form->{"pricegroup_id_$i"})); do_statement($form, $h_item, $q_item, @values); my $stock_info = DO->unpack_stock_information('packed' => $form->{"stock_${in_out}_$i"}); @@ -350,7 +351,7 @@ sub save { conv_i($form->{salesman_id}), conv_i($form->{cp_id}), $form->{transaction_description}, $form->{type} =~ /^sales/ ? 't' : 'f', - conv_i($form->{taxzone_id}), $form->{taxincluded} ? 't' : 'f', conv_i($form->{terms}), $form->{curr}, + conv_i($form->{taxzone_id}), $form->{taxincluded} ? 't' : 'f', conv_i($form->{terms}), substr($form->{currency}, 0, 3), conv_i($form->{id})); do_query($form, $dbh, $query, @values); @@ -408,7 +409,7 @@ sub mark_orders_if_delivered { 'to_table' => 'delivery_orders', 'to_id' => $params{do_id}); - my ($oe_id) = $links[0]->{from_id} if (scalar @links); + my $oe_id = @links ? $links[0]->{from_id} : undef; return $main::lxdebug->leave_sub() if (!$oe_id); @@ -601,7 +602,7 @@ sub retrieve { d.description AS department, dord.language_id, dord.shipto_id, dord.globalproject_id, dord.delivered, dord.transaction_description, - dord.taxzone_id, dord.taxincluded, dord.terms, dord.curr + dord.taxzone_id, dord.taxincluded, dord.terms, dord.curr AS currency FROM delivery_orders dord JOIN ${vc} cv ON (dord.${vc}_id = cv.id) LEFT JOIN employee e ON (dord.employee_id = e.id) @@ -623,6 +624,9 @@ sub retrieve { } $sth->finish(); + # remove any trailing whitespace + $form->{currency} =~ s/\s*$//; + $form->{donumber_array} =~ s/\s*$//g; $form->{saved_donumber} = $form->{donumber}; @@ -667,7 +671,7 @@ sub retrieve { doi.sellprice, doi.parts_id AS id, doi.unit, doi.discount, p.bin, p.notes AS partnotes, doi.reqdate, doi.project_id, doi.serialnumber, doi.lastcost, doi.ordnumber, doi.transdate, doi.cusordnumber, doi.longdescription, - doi.price_factor_id, doi.price_factor, doi.marge_price_factor, + doi.price_factor_id, doi.price_factor, doi.marge_price_factor, doi.pricegroup_id, pr.projectnumber, dord.transdate AS dord_transdate, pg.partsgroup FROM delivery_order_items doi @@ -1099,7 +1103,7 @@ sub get_shipped_qty { my $all_units = AM->retrieve_all_units(); foreach my $entry (@{ $entries }) { - $entry->{qty} *= $all_units->{$entry->{unit}}->{factor} / $all_units->{$entry->{partunit}}->{factor}; + $entry->{qty} *= AM->convert_unit($entry->{unit}, $entry->{partunit}, $all_units); if (!$ship{$entry->{parts_id}}) { $ship{$entry->{parts_id}} = $entry;