X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fic.pl;h=222a4d1d500c509e04f2369bb729419fd707c86f;hb=c5651754689f5072d6f9896af9c85312128d6e18;hp=b86623b5103673b15198e6e6175311474ea90998;hpb=e76015773dc83bd5d522bb1860ba07fc7f69fa0c;p=kivitendo-erp.git
diff --git a/bin/mozilla/ic.pl b/bin/mozilla/ic.pl
index b86623b51..222a4d1d5 100644
--- a/bin/mozilla/ic.pl
+++ b/bin/mozilla/ic.pl
@@ -973,8 +973,8 @@ sub addtop100 {
print qq|
-
+
|;
@@ -1238,8 +1238,14 @@ sub generate_report {
map { $column_defs{$_}->{visible} ||= $form->{"l_$_"} ? 1 : 0 } @columns;
map { $column_defs{$_}->{align} = 'right' } qw(onhand sellprice listprice lastcost linetotalsellprice linetotallastcost linetotallistprice rop weight soldtotal), @pricegroup_columns;
- my @hidden_variables = (qw(l_subtotal l_linetotal searchitems itemstatus bom l_pricegroups), @itemstatus_keys, @callback_keys,
- map({ "cvar_$_->{name}" } @searchable_custom_variables), map { "l_$_" } @columns);
+ my @hidden_variables = (
+ qw(l_subtotal l_linetotal searchitems itemstatus bom l_pricegroups),
+ @itemstatus_keys,
+ @callback_keys,
+ map({ "cvar_$_->{name}" } @searchable_custom_variables),
+ map({'cvar_'. $_->{name} .'_qtyop'} grep({$_->{type} eq 'number'} @searchable_custom_variables)),
+ map({ "l_$_" } @columns),
+ );
my $callback = build_std_url('action=generate_report', grep { $form->{$_} } @hidden_variables);
@@ -1586,7 +1592,7 @@ sub form_header {
IC->retrieve_buchungsgruppen(\%myconfig, $form);
@{ $form->{BUCHUNGSGRUPPEN} } = grep { $_->{id} eq $form->{buchungsgruppen_id} || ($form->{id} && $form->{orphaned}) || !$form->{id} } @{ $form->{BUCHUNGSGRUPPEN} };
- if (!SL::TransNumber->new(number => $form->{partnumber}, type => $form->{item}, id => $form->{id})->is_unique) {
+ if (($form->{partnumber} ne '') && !SL::TransNumber->new(number => $form->{partnumber}, type => $form->{item}, id => $form->{id})->is_unique) {
flash('info', $::locale->text('This partnumber is not unique. You should change it.'));
}
@@ -1669,15 +1675,15 @@ sub assembly_row {
}
my %header = (
- runningnumber => { text => $locale->text('No.'), nowrap => 1, width => '5%' },
- qty => { text => $locale->text('Qty'), nowrap => 1, width => '10%' },
- unit => { text => $locale->text('Unit'), nowrap => 1, width => '5%' },
- partnumber => { text => $locale->text('Part Number'), nowrap => 1, width => '20%' },
- description => { text => $locale->text('Part Description'), nowrap => 1, width => '50%' },
- lastcost => { text => $locale->text('Purchase Prices'), nowrap => 1, width => '50%' },
- total => { text => $locale->text('Sale Prices'), nowrap => 1, },
- bom => { text => $locale->text('BOM'), },
- partsgroup => { text => $locale->text('Group'), },
+ runningnumber => { text => $locale->text('No.'), nowrap => 1, width => '5%', align => 'left',},
+ qty => { text => $locale->text('Qty'), nowrap => 1, width => '10%', align => 'left',},
+ unit => { text => $locale->text('Unit'), nowrap => 1, width => '5%', align => 'left',},
+ partnumber => { text => $locale->text('Part Number'), nowrap => 1, width => '20%', align => 'left',},
+ description => { text => $locale->text('Part Description'), nowrap => 1, width => '50%', align => 'left',},
+ lastcost => { text => $locale->text('Purchase Prices'), nowrap => 1, width => '50%', align => 'right',},
+ total => { text => $locale->text('Sale Prices'), nowrap => 1, align => 'right',},
+ bom => { text => $locale->text('BOM'), align => 'center',},
+ partsgroup => { text => $locale->text('Group'), align => 'left',},
);
my @ROWS;
@@ -1694,7 +1700,7 @@ sub assembly_row {
$form->{"qty_$i"} = $form->format_amount(\%myconfig, $form->{"qty_$i"});
$linetotal = $form->format_amount(\%myconfig, $linetotal, 2);
$line_purchase_price = $form->format_amount(\%myconfig, $line_purchase_price, 2);
- $href = qq|$form->{script}?action=edit&id=$form->{"id_$i"}&rowcount=$i&previousform=$previousform|;
+ $href = build_std_url("action=edit", qq|id=$form->{"id_$i"}|, "rowcount=$numrows", "currow=$i", "previousform=$previousform");
map { $row{$_}{data} = "" } qw(qty unit partnumber description bom partsgroup runningnumber);
# last row
@@ -1714,7 +1720,8 @@ sub assembly_row {
$row{bom}{data} = $form->{"bom_$i"} ? "x" : " ";
$row{qty}{align} = 'right';
} else {
- $row{partnumber}{data} = qq|$form->{"partnumber_$i"}|;
+ $row{partnumber}{data} = qq|$form->{"partnumber_$i"}|;
+ $row{partnumber}{link} = $href;
$row{qty}{data} = qq||;
$row{runningnumber}{data} = qq||;
$row{bom}{data} = sprintf qq||,
@@ -1754,12 +1761,14 @@ sub update {
# 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};
+ $form->{sellprice} = $form->parse_amount(\%myconfig, $form->{sellprice});
# 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"};
};
+ $form->{listprice} = $form->parse_amount(\%myconfig, $form->{listprice});
if ($form->{item} eq "assembly") {
my $i = $form->{assembly_rows};
@@ -1875,7 +1884,11 @@ sub save {
qw(weight listprice sellprice rop);
$form->{assembly_rows}--;
- $i = $form->{assembly_rows};
+ if ($newform{currow}) {
+ $i = $newform{currow};
+ } else {
+ $i = $form->{assembly_rows};
+ }
$form->{"qty_$i"} = 1 unless ($form->{"qty_$i"});
$form->{sellprice} -= $form->{"sellprice_$i"} * $form->{"qty_$i"};