-sub transfer_stock {
- $main::lxdebug->enter_sub();
-
- my $form = $main::form;
- my %myconfig = %main::myconfig;
- my $locale = $main::locale;
-
- $form->{qty} = $form->parse_amount(\%myconfig, $form->{qty});
-
- if ($form->{qty} <= 0) {
- $form->show_generic_error($locale->text('Invalid quantity.'), 'back_button' => 1);
- }
-
- if (!$form->{warehouse_id} || !$form->{bin_id}) {
- $form->error($locale->text('The warehouse or the bin is missing.'));
- }
-
- my $transfer = {
- 'transfer_type' => 'stock',
- 'dst_warehouse_id' => $form->{warehouse_id},
- 'dst_bin_id' => $form->{bin_id},
- 'chargenumber' => $form->{chargenumber},
- 'bestbefore' => $form->{bestbefore},
- 'parts_id' => $form->{parts_id},
- 'qty' => $form->{qty},
- 'unit' => $form->{unit},
- 'comment' => $form->{comment},
- };
-
- WH->transfer($transfer);
-
- delete @{$form}{qw(parts_id partnumber description qty unit chargenumber bestbefore comment ean)};
-
- $form->{saved_message} = $locale->text('The parts have been stocked.');
- $form->{trans_type} = 'stock';
-
- transfer_warehouse_selection();
-
- $main::lxdebug->leave_sub();
-}
-