X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FOE.pm;h=2985e89d02334cb104e295672927de910676f70a;hb=223e6d0cf51b9847fd164b76c5a7fb77219f1855;hp=a179b2d7e2dc67ff844166ccfdc7924c4e8cc330;hpb=7e64504f67374e38f98535bf7cd5d6358e061fa2;p=kivitendo-erp.git diff --git a/SL/OE.pm b/SL/OE.pm index a179b2d7e..2985e89d0 100644 --- a/SL/OE.pm +++ b/SL/OE.pm @@ -381,12 +381,6 @@ sub save { $form->{$number_field} ||= $trans_number->create_unique; if ($form->{id}) { - $query = qq|DELETE FROM custom_variables - WHERE (config_id IN (SELECT id FROM custom_variable_configs WHERE module = 'IC')) - AND (sub_module = 'orderitems') - AND (trans_id IN (SELECT id FROM orderitems WHERE trans_id = ?))|; - do_query($form, $dbh, $query, $form->{id}); - $query = qq|DELETE FROM shipto | . qq|WHERE trans_id = ? AND module = 'OE'|; do_query($form, $dbh, $query, $form->{id}); @@ -515,20 +509,22 @@ sub save { $pricegroup_id *= 1; $pricegroup_id = undef if !$pricegroup_id; + my $position = $i; + # save detail record in orderitems table if (! $form->{"orderitems_id_$i"}) { $query = qq|SELECT nextval('orderitemsid')|; ($form->{"orderitems_id_$i"}) = selectrow_query($form, $dbh, $query); - $query = qq|INSERT INTO orderitems (id) VALUES (?)|; - do_query($form, $dbh, $query, $form->{"orderitems_id_$i"}); + $query = qq|INSERT INTO orderitems (id, position) VALUES (?, ?)|; + do_query($form, $dbh, $query, $form->{"orderitems_id_$i"}, conv_i($position)); } my $orderitems_id = $form->{"orderitems_id_$i"}; push @processed_orderitems, $orderitems_id; $query = <{id}), conv_i($form->{"id_$i"}), + conv_i($form->{id}), conv_i($position), conv_i($form->{"id_$i"}), $form->{"description_$i"}, $restricter->process($form->{"longdescription_$i"}), $form->{"qty_$i"}, $baseqty, $fxsellprice, $form->{"discount_$i"}, @@ -960,7 +956,7 @@ sub retrieve { ($form->{id} ? qq|WHERE o.trans_id = ?| : qq|WHERE o.trans_id IN (| . join(", ", map("?", @ids)) . qq|)|) . - qq|ORDER BY o.oid|; + qq|ORDER BY o.trans_id, o.position|; @ids = $form->{id} ? ($form->{id}) : @ids; $sth = prepare_execute_query($form, $dbh, $query, @values); @@ -1092,7 +1088,7 @@ sub retrieve_simple { my $dbh = $params{dbh} || $form->get_standard_dbh($myconfig); my $oe_query = qq|SELECT * FROM oe WHERE id = ?|; - my $oi_query = qq|SELECT * FROM orderitems WHERE trans_id = ?|; + my $oi_query = qq|SELECT * FROM orderitems WHERE trans_id = ? ORDER BY position|; my $order = selectfirst_hashref_query($form, $dbh, $oe_query, conv_i($params{id})); $order->{orderitems} = selectall_hashref_query( $form, $dbh, $oi_query, conv_i($params{id}));