- @values = ($item_id, $sinfo->{qty}, $sinfo->{unit}, conv_i($sinfo->{warehouse_id}),
- conv_i($sinfo->{bin_id}), $sinfo->{chargenumber}, conv_date($sinfo->{bestbefore}));
+ # if we have stock_info, we have to check for persistents entries
+ if (!$sinfo->{"delivery_order_items_stock_id"}) {
+ my $q_item_stock_id = qq|SELECT nextval('id')|;
+ my $h_item_stock_id = prepare_query($form, $dbh, $q_item_stock_id);
+ do_statement($form, $h_item_stock_id, $q_item_stock_id);
+ $sinfo->{"delivery_order_items_stock_id"} = $h_item_stock_id->fetchrow_array();
+ $query = qq|INSERT INTO delivery_order_items_stock (id, delivery_order_item_id, qty, unit, warehouse_id, bin_id)
+ VALUES (?, ?, ?, ?, ?, ?)|;
+ do_query($form, $dbh, $query, conv_i($sinfo->{"delivery_order_items_stock_id"}),
+ conv_i($form->{"delivery_order_items_id_$i"}), $sinfo->{qty}, $sinfo->{unit}, conv_i($sinfo->{warehouse_id}),
+ conv_i($sinfo->{bin_id}));
+ $h_item_stock_id->finish();
+ }
+ @values = ($form->{"delivery_order_items_id_$i"}, $sinfo->{qty}, $sinfo->{unit}, conv_i($sinfo->{warehouse_id}),
+ conv_i($sinfo->{bin_id}), $sinfo->{chargenumber}, conv_date($sinfo->{bestbefore}),
+ conv_i($sinfo->{"delivery_order_items_stock_id"}));