$column_data{"unit"} = AM->unit_select_html($all_units, "unit_$i", $this_unit, $form->{"id_$i"} ? $form->{"unit_$i"} : undef);
# / unit ending
- $form->{"sellprice_$i"} =~ /\.(\d+)/;
- my $decimalplaces = max 2, length $1;
+ my $decimalplaces = ($form->{"sellprice_$i"} =~ /\.(\d+)/) ? max 2, length $1 : 2;
my $price_factor = $price_factors{$form->{"price_factor_id_$i"}} || 1;
my $discount = $form->round_amount($form->{"qty_$i"} * $form->{"sellprice_$i"} * $form->{"discount_$i"} / 100 / $price_factor, 2);
: $cgi->textfield(-name => "description_$i", -size => 30, -value => $form->{"description_$i"}))
. $cgi->button(-value => $locale->text('L'), -onClick => "set_longdescription_window('longdescription_$i')");
- $form->{"qty_$i"} =~ /\.(\d+)/;
- my $qty_dec = length $1;
+ my $qty_dec = ($form->{"qty_$i"} =~ /\.(\d+)/) ? length $1 : 2;
$column_data{qty} = $cgi->textfield(-name => "qty_$i", -size => 5, -value => $form->format_amount(\%myconfig, $form->{"qty_$i"}, $qty_dec));
$column_data{qty} .= $cgi->button(-onclick => "calculate_qty_selection_window('qty_$i','alu_$i', 'formel_$i', $i)", -value => $locale->text('*/'))
$locale->text('Subtotal'), $form->{"subtotal_$i"} ? 'checked' : '' };
# begin marge calculations
- my $marge_color;
- my $real_sellprice = ($form->{"sellprice_$i"} - $discount) / $price_factor;
- my $marge_price_factor = $form->{"marge_price_factor_$i"} * 1 || 1;
-
- $form->{"lastcost_$i"} *= 1;
+ $form->{"lastcost_$i"} *= 1;
$form->{"marge_percent_$i"} = 0;
- if ($real_sellprice && ($form->{"qty_$i"} * 1)) {
- $form->{"marge_percent_$i"} = ($real_sellprice - $form->{"lastcost_$i"} / $marge_price_factor) * 100 / $real_sellprice;
- $myconfig{marge_percent_warn} ||= 15;
- $marge_color = 'color="#ff0000"' if $form->{"id_$i"} && ($form->{"marge_percent_$i"} < (1 * $myconfig{marge_percent_warn}));
+ my $marge_color;
+ my $real_sellprice = $linetotal;
+ my $real_lastcost = $form->{"lastcost_$i"} * $form->{"qty_$i"} / ( $form->{"marge_price_factor_$i"} || 1 );
+ my $marge_percent_warn = $myconfig{marge_percent_warn} * 1 || 15;
+ my $marge_adjust_credit_note = $form->{type} eq 'credit_note' ? -1 : 1;
+
+ if ($real_sellprice * 1 && ($form->{"qty_$i"} * 1)) {
+ $form->{"marge_percent_$i"} = ($real_sellprice - $real_lastcost) * 100 / $real_sellprice;
+ $marge_color = 'color="#ff0000"' if $form->{"id_$i"} && $form->{"marge_percent_$i"} < $marge_percent_warn;
}
- my $marge_adjust_credit_note = $form->{type} eq 'credit_note' ? -1 : 1;
- $form->{"marge_absolut_$i"} = ($real_sellprice - $form->{"lastcost_$i"} / $marge_price_factor) * $form->{"qty_$i"} * $marge_adjust_credit_note;
+ $form->{"marge_absolut_$i"} = ($real_sellprice - $real_lastcost) * $marge_adjust_credit_note;
$form->{"marge_total"} += $form->{"marge_absolut_$i"};
- $form->{"lastcost_total"} += $form->{"lastcost_$i"} * $form->{"qty_$i"} / $marge_price_factor;
- $form->{"sellprice_total"} += $real_sellprice * $form->{"qty_$i"};
+ $form->{"lastcost_total"} += $real_lastcost;
+ $form->{"sellprice_total"} += $real_sellprice;
map { $form->{"${_}_$i"} = $form->format_amount(\%myconfig, $form->{"${_}_$i"}, 2) } qw(marge_absolut marge_percent);
);
my %template_vars = (
- display_copies => scalar @{ $form->{printers} } && $main::latex_templates && $form->{media} ne 'email',
+ display_copies => scalar @{ $form->{printers} || [] } && $main::latex_templates && $form->{media} ne 'email',
display_remove_draft => (!$form->{id} && $form->{draft_id}),
display_groupitems => !$dont_display_groupitems{$form->{type}},
groupitems_checked => $form->{groupitems} ? "checked" : '',
}
sub _render_custom_variables_inputs {
- $main::lxdebug->enter_sub();
+ $main::lxdebug->enter_sub(2);
my $form = $main::form;
};
}
- $main::lxdebug->leave_sub();
+ $main::lxdebug->leave_sub(2);
}