use SL::AM;
use SL::Common;
+use SL::CVar;
use SL::DBUtils;
use SL::RecordLinks;
+use SL::IC;
sub transactions {
$main::lxdebug->enter_sub();
}
if ($form->{project_id}) {
- $query .=
+ push @where,
qq|(dord.globalproject_id = ?) OR EXISTS
(SELECT * FROM delivery_order_items doi
- WHERE (doi.project_id = ?) AND (oi.delivery_order_id = dord.id))|;
+ WHERE (doi.project_id = ?) AND (doi.delivery_order_id = dord.id))|;
push @values, conv_i($form->{project_id}), conv_i($form->{project_id});
}
push @values, '%' . $form->{$item} . '%';
}
- if (!($form->{open} && $form->{closed})) {
+ if (($form->{open} || $form->{closed}) &&
+ ($form->{open} ne $form->{closed})) {
push @where, ($form->{open} ? "NOT " : "") . "COALESCE(dord.closed, FALSE)";
}
my $all_units = AM->retrieve_units($myconfig, $form);
$form->{all_units} = $all_units;
+ my $ic_cvar_configs = CVar->get_configs(module => 'IC',
+ dbh => $dbh);
+
$form->{donumber} = $form->update_defaults($myconfig, $form->{type} eq 'sales_delivery_order' ? 'sdonumber' : 'pdonumber', $dbh) unless $form->{donumber};
$form->{employee_id} = (split /--/, $form->{employee})[1] if !$form->{employee_id};
$form->get_employee($dbh) unless ($form->{employee_id});
conv_i($sinfo->{bin_id}), $sinfo->{chargenumber});
do_statement($form, $h_item_stock, $q_item_stock, @values);
}
+
+ CVar->save_custom_variables(module => 'IC',
+ sub_module => 'delivery_order_items',
+ trans_id => $item_id,
+ configs => $ic_cvar_configs,
+ variables => $form,
+ name_prefix => 'ic_',
+ name_postfix => "_$i",
+ dbh => $dbh);
}
$h_item_id->finish();
my ($query, $query_add, @values, $sth, $ref);
+ my $ic_cvar_configs = CVar->get_configs(module => 'IC',
+ dbh => $dbh);
+
my $vc = $params{vc} eq 'customer' ? 'customer' : 'vendor';
my $mode = !$params{ids} ? 'default' : ref $params{ids} eq 'ARRAY' ? 'multi' : 'single';
doi.reqdate, doi.project_id, doi.serialnumber, doi.lastcost,
doi.ordnumber, doi.transdate, doi.cusordnumber, doi.longdescription,
doi.price_factor_id, doi.price_factor, doi.marge_price_factor,
- pr.projectnumber,
+ pr.projectnumber, dord.transdate AS dord_transdate,
pg.partsgroup
FROM delivery_order_items doi
JOIN parts p ON (doi.parts_id = p.id)
$form->{form_details} = selectall_hashref_query($form, $dbh, $query, @do_ids);
+ # Retrieve custom variables.
+ foreach my $doi (@{ $form->{form_details} }) {
+ my $cvars = CVar->get_custom_variables(dbh => $dbh,
+ module => 'IC',
+ sub_module => 'delivery_order_items',
+ trans_id => $doi->{delivery_order_items_id},
+ );
+ map { $doi->{"ic_cvar_$_->{name}"} = $_->{value} } @{ $cvars };
+ }
+
if ($mode eq 'single') {
my $in_out = $form->{type} =~ /^sales/ ? 'out' : 'in';
my $num_si = 0;
+ my $ic_cvar_configs = CVar->get_configs(module => 'IC');
+
+ $form->{TEMPLATE_ARRAYS} = { };
+ IC->prepare_parts_for_printing();
+
my @arrays =
qw(runningnumber number description longdescription qty unit
partnotes serialnumber reqdate projectnumber
si_runningnumber si_number si_description
si_warehouse si_bin si_chargenumber si_qty si_unit);
+ map { $form->{TEMPLATE_ARRAYS}->{$_} = [] } (@arrays, @tax_arrays);
+
+ push @arrays, map { "ic_cvar_$_->{name}" } @{ $ic_cvar_configs };
+
my $sameitem = "";
foreach $item (sort { $a->[1] cmp $b->[1] } @partsgroup) {
$i = $item->[0];
push @{ $form->{TEMPLATE_ARRAYS}{si_unit}[$position-1] }, $si->{unit};
}
}
+
+ map { push @{ $form->{TEMPLATE_ARRAYS}->{"ic_cvar_$_->{name}"} }, $form->{"ic_cvar_$_->{name}_$i"} } @{ $ic_cvar_configs };
}
$h_pg->finish();