- $query = qq|INSERT INTO orderitems (|;
- $query .= "id, " if $form->{"orderitems_id_$i"};
- $query .= qq|trans_id, parts_id, description, longdescription, qty, base_qty, sellprice, discount,
- unit, reqdate, project_id, serialnumber, ship, pricegroup_id,
- ordnumber, transdate, cusordnumber, subtotal)
- VALUES (|;
- $query .= qq|$form->{"orderitems_id_$i"},|
- if $form->{"orderitems_id_$i"};
- $query .= qq|$form->{id}, $form->{"id_$i"},
- '$form->{"description_$i"}', '$form->{"longdescription_$i"}', $form->{"qty_$i"}, $baseqty,
- $fxsellprice, $form->{"discount_$i"},
- '$form->{"unit_$i"}', $reqdate, | . conv_i($form->{"project_id_$i"}, 'NULL') . qq|,
- '$form->{"serialnumber_$i"}', $form->{"ship_$i"}, '$pricegroup_id',
- '$form->{"ordnumber_$i"}', '$form->{"transdate_$i"}', '$form->{"cusordnumber_$i"}', '$subtotal')|;
- $dbh->do($query) || $form->dberror($query);
+ my $orderitems_id = $form->{"orderitems_id_$i"};
+ ($orderitems_id) = selectfirst_array_query($form, $dbh, qq|SELECT nextval('orderitemsid')|) if (!$orderitems_id);
+
+ @values = ();
+ $query = qq|INSERT INTO orderitems (
+ id, trans_id, parts_id, description, longdescription, qty, base_qty,
+ sellprice, discount, unit, reqdate, project_id, serialnumber, ship,
+ pricegroup_id, ordnumber, transdate, cusordnumber, subtotal,
+ marge_percent, marge_total, lastcost, price_factor_id, price_factor, marge_price_factor)
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
+ (SELECT factor FROM price_factors WHERE id = ?), ?)|;
+ push(@values,
+ conv_i($orderitems_id), conv_i($form->{id}), conv_i($form->{"id_$i"}),
+ $form->{"description_$i"}, $form->{"longdescription_$i"},
+ $form->{"qty_$i"}, $baseqty,
+ $fxsellprice, $form->{"discount_$i"},
+ $form->{"unit_$i"}, conv_date($reqdate), conv_i($form->{"project_id_$i"}),
+ $form->{"serialnumber_$i"}, $form->{"ship_$i"}, $pricegroup_id,
+ $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"}));
+ do_query($form, $dbh, $query, @values);