X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=bin%2Fmozilla%2Fio.pl;h=1a018a5cb01cf54ec1ec882371b13ead5e55acd4;hb=3da2dca2e601b311b6e464ffff02bfe98a7024d1;hp=c32509c1f1bfd176193cf077001a97cb0f25091f;hpb=d6bf475aee947e7451eb9b797ed0ad5ab5bcf6f8;p=kivitendo-erp.git
diff --git a/bin/mozilla/io.pl b/bin/mozilla/io.pl
index c32509c1f..1a018a5cb 100644
--- a/bin/mozilla/io.pl
+++ b/bin/mozilla/io.pl
@@ -241,6 +241,9 @@ sub display_row {
$delvar = 'reqdate';
}
+ $form->{marge_total} = 0;
+ $form->{sellprice_total} = 0;
+ $form->{lastcost_total} = 0;
my %projectnumber_labels = ();
my @projectnumber_values = ("");
foreach my $item (@{ $form->{"ALL_PROJECTS"} }) {
@@ -300,6 +303,37 @@ sub display_row {
$linetotal =
$form->round_amount($form->{"sellprice_$i"} - $discount, $decimalplaces);
$linetotal = $form->round_amount($linetotal * $form->{"qty_$i"}, 2);
+ my $real_sellprice = $form->{"sellprice_$i"} - $discount;
+
+ # marge calculations
+ my ($marge_font_start, $marge_font_end);
+ $form->{"lastcost_$i"} *= 1;
+ if ($real_sellprice && ($form->{"qty_$i"} * 1)) {
+ $form->{"marge_percent_$i"} =
+ ($real_sellprice - $form->{"lastcost_$i"}) * 100 / $real_sellprice;
+
+ $myconfig{"marge_percent_warn"} = 15
+ unless (defined($myconfig{"marge_percent_warn"}));
+ if ($form->{"id_$i"} &&
+ ($form->{"marge_percent_$i"} <
+ (1 * $myconfig{"marge_percent_warn"}))) {
+ $marge_font_start = "";
+ $marge_font_end = "";
+ }
+ } else {
+ $form->{"marge_percent_$i"} = 0;
+ }
+ $form->{"marge_absolut_$i"} =
+ ($real_sellprice - $form->{"lastcost_$i"}) * $form->{"qty_$i"};
+ $form->{"marge_total"} += $form->{"marge_absolut_$i"};
+ $form->{"lastcost_total"} += $form->{"lastcost_$i"} * $form->{"qty_$i"};
+ $form->{"sellprice_total"} += $real_sellprice * $form->{"qty_$i"};
+
+ map {
+ $form->{"${_}_$i"} =
+ $form->format_amount(\%myconfig, $form->{"${_}_$i"},
+ 2)
+ } qw(marge_absolut marge_percent);
# convert " to "
map { $form->{"${_}_$i"} =~ s/\"/"/g }
@@ -439,7 +473,7 @@ sub display_row {
"id_$i", "inventory_accno_$i", "bin_$i", "partsgroup_$i", "partnotes_$i",
"income_accno_$i", "expense_accno_$i", "listprice_$i", "assembly_$i",
"taxaccounts_$i", "ordnumber_$i", "transdate_$i", "cusordnumber_$i",
- "longdescription_$i", "basefactor_$i"));
+ "longdescription_$i", "basefactor_$i", "marge_absolut_$i", "marge_percent_$i", "lastcost_$i"));
########################################
# Eintrag fuer Version 2.2.0 geaendert #
@@ -492,9 +526,14 @@ sub display_row {
my $subtotalchecked = ($form->{"subtotal_$i"}) ? "checked" : "";
print qq|
|.$locale->text('Subtotal').qq|
+|;
+
+ print qq|
+ ${marge_font_start}|.$locale->text('Ertrag').qq| $form->{"marge_absolut_$i"} $form->{"marge_percent_$i"} % ${marge_font_end}
+ |.$locale->text('LP').qq| |.$form->format_amount(\%myconfig,$form->{"listprice_$i"},2).qq|
+ |.$locale->text('EK').qq| |.$form->format_amount(\%myconfig,$form->{"lastcost_$i"},2).qq|
-
|;
############## ENDE Neueintrag ##################
@@ -511,6 +550,10 @@ sub display_row {
|;
+ if (0 != ($form->{sellprice_total} * 1)) {
+ $form->{marge_percent} = ($form->{sellprice_total} - $form->{lastcost_total}) / $form->{sellprice_total} * 100;
+ }
+
$lxdebug->leave_sub();
}
@@ -647,7 +690,7 @@ sub select_item {
my @new_fields =
qw(bin listprice inventory_accno income_accno expense_accno unit weight
assembly taxaccounts partsgroup formel longdescription not_discountable
- part_payment_id partnotes id);
+ part_payment_id partnotes id lastcost);
push(@new_fields, "lizenzen") if ($lizenzen);
print join "\n", map { $cgi->hidden("-name" => "new_${_}_$i", "-value" => $ref->{$_}) } @new_fields;
@@ -706,7 +749,7 @@ sub item_selected {
map { $form->{"${_}_$i"} = $form->{"new_${_}_$j"} }
qw(id partnumber description sellprice listprice inventory_accno
income_accno expense_accno bin unit weight assembly taxaccounts
- partsgroup formel longdescription not_discountable partnotes);
+ partsgroup formel longdescription not_discountable partnotes lastcost);
if ($form->{"part_payment_id_$i"} ne "") {
$form->{payment_id} = $form->{"part_payment_id_$i"};
}
@@ -946,7 +989,7 @@ sub check_form {
my @a = ();
my $count = 0;
my @flds = (
- qw(id partnumber description qty ship sellprice unit discount inventory_accno income_accno expense_accno listprice taxaccounts bin assembly weight projectnumber project_id oldprojectnumber runningnumber serialnumber partsgroup payment_id not_discountable shop ve gv buchungsgruppen_id language_values sellprice_pg pricegroup_old price_old price_new unit_old ordnumber transdate longdescription basefactor)
+ qw(id partnumber description qty ship sellprice unit discount inventory_accno income_accno expense_accno listprice taxaccounts bin assembly weight projectnumber project_id oldprojectnumber runningnumber serialnumber partsgroup payment_id not_discountable shop ve gv buchungsgruppen_id language_values sellprice_pg pricegroup_old price_old price_new unit_old ordnumber transdate longdescription basefactor marge_absolut marge_percent lastcost )
);