X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FOE.pm;h=2985e89d02334cb104e295672927de910676f70a;hb=223e6d0cf51b9847fd164b76c5a7fb77219f1855;hp=faaaa3383a9dda526bd95f2961bbca597b78a1a6;hpb=280261a5aeda0b21f1a0494151524d59cca8815e;p=kivitendo-erp.git diff --git a/SL/OE.pm b/SL/OE.pm index faaaa3383..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,28 +509,31 @@ 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"}, @@ -545,9 +542,9 @@ SQL $form->{"ordnumber_$i"}, conv_date($form->{"transdate_$i"}), $form->{"cusordnumber_$i"}, $form->{"subtotal_$i"} ? 't' : 'f', $form->{"marge_percent_$i"}, $form->{"marge_absolut_$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"}), + $form->{"lastcost_$i"}, conv_i($form->{"price_factor_id_$i"}), + $form->{"active_price_source_$i"}, $form->{"active_discount_source_$i"}, + conv_i($form->{"price_factor_id_$i"}), conv_i($form->{"marge_price_factor_$i"}), conv_i($orderitems_id), ); @@ -945,7 +942,7 @@ sub retrieve { o.sellprice, o.parts_id AS id, o.unit, o.discount, p.notes AS partnotes, p.inventory_accno_id AS part_inventory_accno_id, o.reqdate, o.project_id, o.serialnumber, o.ship, o.lastcost, o.ordnumber, o.transdate, o.cusordnumber, o.subtotal, o.longdescription, - o.price_factor_id, o.price_factor, o.marge_price_factor, + o.price_factor_id, o.price_factor, o.marge_price_factor, o.active_price_source, o.active_discount_source, pr.projectnumber, p.formel, pg.partsgroup, o.pricegroup_id, (SELECT pricegroup FROM pricegroup WHERE id=o.pricegroup_id) as pricegroup FROM orderitems o @@ -959,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); @@ -1091,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}));