dord.closed, dord.delivered, dord.shippingpoint, dord.shipvia,
dord.transaction_description,
pr.projectnumber AS globalprojectnumber,
+ dep.description AS department,
e.name AS employee,
sm.name AS salesman
FROM delivery_orders dord
LEFT JOIN $vc ct ON (dord.${vc}_id = ct.id)
LEFT JOIN employee e ON (dord.employee_id = e.id)
LEFT JOIN employee sm ON (dord.salesman_id = sm.id)
- LEFT JOIN project pr ON (dord.globalproject_id = pr.id)|;
+ LEFT JOIN project pr ON (dord.globalproject_id = pr.id)
+ LEFT JOIN department dep ON (dord.department_id = dep.id)
+|;
push @where, ($form->{type} eq 'sales_delivery_order' ? '' : 'NOT ') . qq|COALESCE(dord.is_sales, FALSE)|;
"employee" => "e.name",
"salesman" => "sm.name",
"shipvia" => "dord.shipvia",
- "transaction_description" => "dord.transaction_description"
+ "transaction_description" => "dord.transaction_description",
+ "department" => "lower(dep.description)",
);
my $sortdir = !defined $form->{sortdir} ? 'ASC' : $form->{sortdir} ? 'ASC' : 'DESC';
do_statement($form, $h_item_id, $q_item_id);
my ($item_id) = $h_item_id->fetchrow_array();
+ # 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().
+ my $pricegroup_id = $form->{"pricegroup_id_$i"} * 1;
+ $pricegroup_id = undef if !$pricegroup_id;
+
# save detail record in delivery_order_items table
@values = (conv_i($item_id), conv_i($form->{id}), conv_i($form->{"id_$i"}),
$form->{"description_$i"}, $form->{"longdescription_$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"}),
- conv_i($form->{"pricegroup_id_$i"}));
+ $pricegroup_id);
do_statement($form, $h_item, $q_item, @values);
my $stock_info = DO->unpack_stock_information('packed' => $form->{"stock_${in_out}_$i"});
while (my $ref = $h_pg->fetchrow_hashref("NAME_lc")) {
if ($form->{groupitems} && $ref->{partsgroup} ne $sameitem) {
- map({ push(@{ $form->{$_} }, "") } grep({ $_ ne "description" } @arrays));
+ map({ push(@{ $form->{TEMPLATE_ARRAYS}->{$_} }, "") } grep({ $_ ne "description" } @arrays));
$sameitem = ($ref->{partsgroup}) ? $ref->{partsgroup} : "--";
- push(@{ $form->{description} }, $sameitem);
+ push(@{ $form->{TEMPLATE_ARRAYS}->{description} }, $sameitem);
}
- push(@{ $form->{description} }, $form->format_amount($myconfig, $ref->{qty} * $form->{"qty_$i"}) . qq|, $ref->{partnumber}, $ref->{description}|);
+ push(@{ $form->{TEMPLATE_ARRAYS}->{"description"} }, $form->format_amount($myconfig, $ref->{qty} * $form->{"qty_$i"}) . qq| -- $ref->{partnumber}, $ref->{description}|);
- map({ push(@{ $form->{$_} }, "") } grep({ $_ ne "description" } @arrays));
+ map({ push(@{ $form->{TEMPLATE_ARRAYS}->{$_} }, "") } grep({ $_ ne "description" } @arrays));
}
}