Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision fde1df0b

Von Sven Schöling vor mehr als 10 Jahren hinzugefügt

  • ID fde1df0bd4e3da82104727925ef68c4360247e5f
  • Vorgänger d92b30c1
  • Nachfolger 1b9c915f

project cvars als project_cvar_* im Ausdruck von Belegen verfügbar

behebt #2237

Unterschiede anzeigen:

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