$decimalplaces = max 2, length $1;
$price_factor = $price_factors{$form->{"price_factor_id_$i"}} || 1;
- $discount = $form->round_amount($form->{"sellprice_$i"} * $form->{"discount_$i"} / 100, $decimalplaces);
- $linetotal = $form->round_amount(($form->{"sellprice_$i"} - $discount) / $price_factor, $decimalplaces);
- $linetotal = $form->round_amount($linetotal * $form->{"qty_$i"}, 2);
+ $discount = $form->round_amount($form->{"qty_$i"} * $form->{"sellprice_$i"} * $form->{"discount_$i"} / 100 / $price_factor, 2);
+ $linetotal = $form->round_amount($form->{"qty_$i"} * $form->{"sellprice_$i"} * (100 - $form->{"discount_$i"}) / 100 / $price_factor, 2);
$column_data{runningnumber} = $cgi->textfield(-name => "runningnumber_$i", -size => 5, -value => $i); # HuT
$column_data{partnumber} = $cgi->textfield(-name => "partnumber_$i", -size => 12, -value => $form->{"partnumber_$i"});
$column_data{qty} .= $cgi->button(-onclick => "calculate_qty_selection_window('qty_$i','alu_$i', 'formel_$i', $i)", -value => $locale->text('*/'))
. $cgi->hidden(-name => "formel_$i", -value => $form->{"formel_$i"}) . $cgi->hidden("-name" => "alu_$i", "-value" => $form->{"alu_$i"})
if $form->{"formel_$i"};
- $column_data{ship} = !$form->{"id_$i"} ? '' : $form->format_amount_units('amount' => $form->{"ship_$i"} * 1,
- 'part_unit' => $form->{"partunit_$i"},
- 'conv_units' => 'convertible_not_smaller',
- 'max_places' => 2);
+
+ $column_data{ship} = '';
+ if ($form->{"id_$i"}) {
+ my $ship_qty = $form->{"ship_$i"} * 1;
+ $ship_qty *= $all_units->{$form->{"partunit_$i"}}->{factor};
+ $ship_qty /= $all_units->{$form->{"unit_$i"}}->{factor};
+
+ $column_data{ship} = $form->format_amount(\%myconfig, $form->round_amount($ship_qty, 2) * 1) . ' ' . $form->{"unit_$i"};
+ }
# build in drop down list for pricesgroups
if ($form->{"prices_$i"}) {
AM->retrieve_all_units();
- my %ship = DO->get_shipped_qty('type' => ($form->{type} eq 'purchase_order') ? 'purchase' : 'sales',
- 'ordnumber' => $form->{ordnumber},);
+ my %ship = DO->get_shipped_qty('type' => ($form->{type} eq 'purchase_order') ? 'purchase' : 'sales',
+ 'oe_id' => $form->{id},);
foreach my $i (1..$form->{rowcount}) {
next unless ($form->{"id_${i}"});
next if (!$ship_entry || ($ship_entry->{qty} <= 0));
my $rowqty =
- $form->parse_amount(\%myconfig, $form->{"qty_$i"})
+ ($form->{simple_save} ? $form->{"qty_$i"} : $form->parse_amount(\%myconfig, $form->{"qty_$i"}))
* $all_units->{$form->{"unit_$i"}}->{factor}
/ $all_units->{$form->{"partunit_$i"}}->{factor};