Revision fde1df0b
Von Sven Schöling vor mehr als 10 Jahren hinzugefügt
SL/OE.pm | ||
---|---|---|
1032 | 1032 |
my $tax_rate; |
1033 | 1033 |
my $taxamount; |
1034 | 1034 |
|
1035 |
my (@project_ids, %projectnumbers, %projectdescriptions);
|
|
1035 |
my (@project_ids); |
|
1036 | 1036 |
|
1037 | 1037 |
push(@project_ids, $form->{"globalproject_id"}) if ($form->{"globalproject_id"}); |
1038 | 1038 |
|
... | ... | |
1063 | 1063 |
push(@project_ids, $form->{"project_id_$i"}) if ($form->{"project_id_$i"}); |
1064 | 1064 |
} |
1065 | 1065 |
|
1066 |
my $projects = []; |
|
1067 |
my %projects_by_id; |
|
1066 | 1068 |
if (@project_ids) { |
1067 |
$query = "SELECT id, projectnumber, description FROM project WHERE id IN (" . |
|
1068 |
join(", ", map("?", @project_ids)) . ")"; |
|
1069 |
$sth = prepare_execute_query($form, $dbh, $query, @project_ids); |
|
1070 |
while (my $ref = $sth->fetchrow_hashref()) { |
|
1071 |
$projectnumbers{$ref->{id}} = $ref->{projectnumber}; |
|
1072 |
$projectdescriptions{$ref->{id}} = $ref->{description}; |
|
1073 |
} |
|
1074 |
$sth->finish(); |
|
1069 |
$projects = SL::DB::Manager::Project->get_all(query => [ id => \@project_ids ]); |
|
1070 |
%projects_by_id = map { $_->id => $_ } @$projects; |
|
1075 | 1071 |
} |
1076 | 1072 |
|
1077 |
$form->{"globalprojectnumber"} = $projectnumbers{$form->{"globalproject_id"}}; |
|
1078 |
$form->{"globalprojectdescription"} = $projectdescriptions{$form->{"globalproject_id"}}; |
|
1073 |
$form->{globalprojectnumber} = $projects_by_id{$form->{"globalproject_id"}}->projectnumber; |
|
1074 |
$form->{globalprojectdescription} = $projects_by_id{$form->{"globalproject_id"}}->description; |
|
1075 |
|
|
1076 |
if ($projects_by_id{$form->{"globalproject_id"}}) { |
|
1077 |
for (@{ $projects_by_id{$form->{"globalproject_id"}}->cvars_by_config }) { |
|
1078 |
$form->{"project_cvar_" . $_->config->name} = $_->value_as_text; |
|
1079 |
} |
|
1080 |
} |
|
1079 | 1081 |
|
1080 | 1082 |
$form->{discount} = []; |
1081 | 1083 |
|
... | ... | |
1083 | 1085 |
IC->prepare_parts_for_printing(myconfig => $myconfig, form => $form); |
1084 | 1086 |
|
1085 | 1087 |
my $ic_cvar_configs = CVar->get_configs(module => 'IC'); |
1088 |
my $project_cvar_configs = CVar->get_configs(module => 'Projects'); |
|
1086 | 1089 |
|
1087 | 1090 |
my @arrays = |
1088 | 1091 |
qw(runningnumber number description longdescription qty ship unit bin |
... | ... | |
1092 | 1095 |
price_factor price_factor_name partsgroup weight lineweight); |
1093 | 1096 |
|
1094 | 1097 |
push @arrays, map { "ic_cvar_$_->{name}" } @{ $ic_cvar_configs }; |
1098 |
push @arrays, map { "project_cvar_$_->{name}" } @{ $project_cvar_configs }; |
|
1095 | 1099 |
|
1096 | 1100 |
my @tax_arrays = qw(taxbase tax taxdescription taxrate taxnumber); |
1097 | 1101 |
|
... | ... | |
1205 | 1209 |
$nodiscount += $linetotal; |
1206 | 1210 |
} |
1207 | 1211 |
|
1212 |
my $project = $projects_by_id{$form->{"project_id_$i"}} || SL::DB::Project->new; |
|
1213 |
|
|
1208 | 1214 |
push @{ $form->{TEMPLATE_ARRAYS}->{linetotal} }, $form->format_amount($myconfig, $linetotal, 2); |
1209 | 1215 |
push @{ $form->{TEMPLATE_ARRAYS}->{linetotal_nofmt} }, $linetotal_exact; |
1210 | 1216 |
push @{ $form->{TEMPLATE_ARRAYS}->{nodiscount_linetotal} }, $form->format_amount($myconfig, $nodiscount_linetotal, 2); |
1211 | 1217 |
push @{ $form->{TEMPLATE_ARRAYS}->{nodiscount_linetotal_nofmt} }, $nodiscount_linetotal; |
1212 |
push(@{ $form->{TEMPLATE_ARRAYS}->{projectnumber} }, $projectnumbers{$form->{"project_id_$i"}});
|
|
1213 |
push(@{ $form->{TEMPLATE_ARRAYS}->{projectdescription} }, $projectdescriptions{$form->{"project_id_$i"}});
|
|
1218 |
push @{ $form->{TEMPLATE_ARRAYS}->{projectnumber} }, $project->projectnumber;
|
|
1219 |
push @{ $form->{TEMPLATE_ARRAYS}->{projectdescription} }, $project->description;
|
|
1214 | 1220 |
|
1215 | 1221 |
my $lineweight = $form->{"qty_$i"} * $form->{"weight_$i"}; |
1216 | 1222 |
$totalweight += $lineweight; |
... | ... | |
1282 | 1288 |
push @{ $form->{TEMPLATE_ARRAYS}->{"ic_cvar_$_->{name}"} }, |
1283 | 1289 |
CVar->format_to_template(CVar->parse($form->{"ic_cvar_$_->{name}_$i"}, $_), $_) |
1284 | 1290 |
for @{ $ic_cvar_configs }; |
1291 |
|
|
1292 |
push @{ $form->{TEMPLATE_ARRAYS}->{"project_cvar_" . $_->config->name} }, $_->value_as_text for @{ $project->cvars_by_config }; |
|
1285 | 1293 |
} |
1286 | 1294 |
} |
1287 | 1295 |
|
Auch abrufbar als: Unified diff
project cvars als project_cvar_* im Ausdruck von Belegen verfügbar
behebt #2237