X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=inline;f=SL%2FWH.pm;h=e836d65f00bd70ca724630fec96e11ff6eff36f7;hb=075499b035a29c2144f8fa066d65575b4bde755c;hp=3087dfff4ade3b06f213b3776af03a8fedcf67a0;hpb=52d18c0134db2b418fe119723958efe8e79ac4f3;p=kivitendo-erp.git diff --git a/SL/WH.pm b/SL/WH.pm index 3087dfff4..e836d65f0 100644 --- a/SL/WH.pm +++ b/SL/WH.pm @@ -38,6 +38,9 @@ use SL::AM; use SL::DBUtils; use SL::Form; +use SL::DB::Unit; +use SL::DB::Assembly; + use warnings; use strict; @@ -107,7 +110,7 @@ sub transfer { trans_id => $trans_id, shippingdate => !$transfer->{shippingdate} || $transfer->{shippingdate} eq 'current_date' ? $now : $transfer->{shippingdate}, - map { $_ => $transfer->{$_} } qw( chargenumber bestbefore oe_id orderitems_id comment), + map { $_ => $transfer->{$_} } qw( chargenumber bestbefore oe_id delivery_order_items_stock_id comment), ); if ($unit) { @@ -158,6 +161,17 @@ sub transfer_assembly { my %params = @_; Common::check_params(\%params, qw(assembly_id dst_warehouse_id login qty unit dst_bin_id chargenumber bestbefore comment)); + + my $unit = SL::DB::Manager::Unit->find_by(name => $params{unit}); + if ($unit) { + my $assembly = SL::DB::Manager::Assembly->get_all( + query => [ id => $params{assembly_id} ], + with_objects => ['part'], + limit => 1, + )->[0]; + $params{qty} = $unit->convert_to($params{qty}, $assembly->part->unit_obj); + } + # my $maxcreate=WH->check_assembly_max_create(assembly_id =>$params{'assembly_id'}, dbh => $my_dbh); my $myconfig = \%main::myconfig;