if ($form->{"projectnumber"}) {
$query .= <<SQL;
- AND (pr.projectnumber ILIKE ?) OR EXISTS (
+ AND ((pr.projectnumber ILIKE ?) OR EXISTS (
SELECT * FROM orderitems oi
LEFT JOIN project proi ON proi.id = oi.project_id
WHERE proi.projectnumber ILIKE ? AND oi.trans_id = o.id
- )
+ ))
SQL
push @values, "%" . $form->{"projectnumber"} . "%", "%" . $form->{"projectnumber"} . "%" ;
}
"quonumber" => "o.quonumber",
"name" => "ct.name",
"employee" => "e.name",
- "salesman" => "e.name",
+ "salesman" => "s.name",
"shipvia" => "o.shipvia",
"transaction_description" => "o.transaction_description"
);
$reqdate = ($form->{"reqdate_$i"}) ? $form->{"reqdate_$i"} : undef;
- # get pricegroup_id and save ist
+ # Get pricegroup_id and save it. Unfortunately the interface
+ # also uses ID "0" for signalling that none is selected, but "0"
+ # must not be stored in the database. Therefore we cannot simply
+ # use conv_i().
($null, my $pricegroup_id) = split(/--/, $form->{"sellprice_pg_$i"});
$pricegroup_id *= 1;
+ $pricegroup_id = undef if !$pricegroup_id;
# save detail record in orderitems table
my $orderitems_id = $form->{"orderitems_id_$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"}, conv_i($pricegroup_id),
+ $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"},
qq|WHERE trans_id = ?|;
do_query($form, $dbh, $query, @values);
- # delete OE record
- $query = qq|DELETE FROM oe | .
- qq|WHERE id = ?|;
- do_query($form, $dbh, $query, @values);
-
# delete individual entries
$query = qq|DELETE FROM orderitems | .
qq|WHERE trans_id = ?|;
qq|WHERE trans_id = ? AND module = 'OE'|;
do_query($form, $dbh, $query, @values);
+ # delete OE record
+ $query = qq|DELETE FROM oe | .
+ qq|WHERE id = ?|;
+ do_query($form, $dbh, $query, @values);
+
my $rc = $dbh->commit;
if ($rc) {
$form->{discount} = [];
$form->{TEMPLATE_ARRAYS} = { };
- IC->prepare_parts_for_printing();
+ IC->prepare_parts_for_printing(myconfig => $myconfig, form => $form);
my $ic_cvar_configs = CVar->get_configs(module => 'IC');