Sowohl die EK-Preise der Erzeugnis-Komponenten als auch die EK-Preise
der makemodel-Versionen werden in $form->{lastcost_$i} gespeichert und
überlagern sich damit.
Und da diese auch noch im Hintergrund unterschiedlich
formatiert/geparsed werden kam es bei den Erzeugnis-EK-Preisen nach dem
Erneuern zu Formatierungsfehlern.
Da Erzeugnisse aber produziert und nicht eingekauft werden ist hier auch
kein makemodel nötig, so daß es für Erzeugnisse entfernt wurde.
# parse pricegroups. and no, don't rely on check_form for this...
map { $form->{"price_$_"} = $form->parse_amount(\%myconfig, $form->{"price_$_"}) } 1 .. $form->{price_rows};
- # same for lastcosts
- map { $form->{"lastcost_$_"} = $form->parse_amount(\%myconfig, $form->{"lastcost_$_"}) } 1 .. $form->{"makemodel_rows"};
+ # same for makemodel lastcosts
+ # but parse_amount not necessary for assembly component lastcosts
+ unless ($form->{item} eq "assembly") {
+ map { $form->{"lastcost_$_"} = $form->parse_amount(\%myconfig, $form->{"lastcost_$_"}) } 1 .. $form->{"makemodel_rows"};
+ };
if ($form->{item} eq "assembly") {
my $i = $form->{assembly_rows};
$numrows = ++$form->{makemodel_rows};
$subroutine = "makemodel_row";
+ # assemblies are built from components, they aren't purchased from a vendor
+ # also the lastcost_$i from makemodel conflicted with the component lastcost_$i
+ # so we don't need the makemodel rows for assemblies
# create makemodel rows
- &{$subroutine}($numrows);
+ # &{$subroutine}($numrows);
$numrows = ++$form->{assembly_rows};
$subroutine = "assembly_row";