X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fwh.pl;h=26f22cef61e60857398fe5c065ddca062bb627b4;hb=08b6539d1b4a06760bd12208b76f15e767d336d4;hp=8e94f326e4177844eeb3a152a72d071031b513f9;hpb=66022cbd0893e066eec8826a15884d2d0457fe4f;p=kivitendo-erp.git diff --git a/bin/mozilla/wh.pl b/bin/mozilla/wh.pl index 8e94f326e..26f22cef6 100644 --- a/bin/mozilla/wh.pl +++ b/bin/mozilla/wh.pl @@ -164,14 +164,15 @@ sub transfer_or_removal_prepare_contents { $form->show_generic_error($locale->text("The source warehouse does not contain any bins.")) if (0 == scalar @{ $warehouse->{BINS} }); - map { $form->{"l_$_"} = 'Y' } qw(parts_id qty warehouseid binid partnumber partdescription bindescription chargenumber partunit ean); + map { $form->{"l_$_"} = 'Y' } qw(parts_id qty warehouseid binid partnumber partdescription bindescription chargenumber bestbefore partunit ean); $form->{sort} = 'bindescription'; my @contents = WH->get_warehouse_report("warehouse_id" => $form->{warehouse_id}, "bin_id" => $form->{bin_id}, "chargenumber" => $form->{chargenumber}, - "partnumber" => $form->{partnumber}, - "ean" => $form->{ean}, + "bestbefore" => $form->{bestbefore}, + "partnumber" => $form->{partnumber}, + "ean" => $form->{ean}, "description" => $form->{description}); $form->show_generic_error($locale->text("The selected warehouse is empty.")) if (0 == scalar(@contents)); @@ -219,7 +220,7 @@ sub transfer_parts { $form->show_generic_error($locale->text("The source warehouse does not contain any bins.")) if (0 == scalar @{ $warehouse->{BINS} }); - map { $form->{"l_$_"} = 'Y' } qw(parts_id qty warehouseid binid partnumber partdescription bindescription chargenumber partunit); + map { $form->{"l_$_"} = 'Y' } qw(parts_id qty warehouseid binid partnumber partdescription bindescription chargenumber bestbefore partunit); $form->{sort} = 'bindescription'; my @contents = WH->get_warehouse_report("warehouse_id" => $form->{warehouse_id}); @@ -243,12 +244,12 @@ sub transfer_parts { 'transfer_type_id' => $form->{transfer_type_id}, }; - map { $transfer->{$_} = $form->{"${_}_${row}"} } qw(src_bin_id chargenumber parts_id qty dst_warehouse_id dst_bin_id); + map { $transfer->{$_} = $form->{"${_}_${row}"} } qw(src_bin_id chargenumber bestbefore parts_id qty dst_warehouse_id dst_bin_id); my $entry; foreach (@contents) { - if (($_->{binid} == $transfer->{src_bin_id}) && ($_->{parts_id} == $transfer->{parts_id}) && ($_->{chargenumber} eq $transfer->{chargenumber})) { + if (($_->{binid} == $transfer->{src_bin_id}) && ($_->{parts_id} == $transfer->{parts_id}) && ($_->{chargenumber} eq $transfer->{chargenumber}) && $_->{bestbefore} eq $transfer->{bestbefore}) { $entry = $_; last; } @@ -276,7 +277,7 @@ sub transfer_parts { if (!scalar @transfers) { $form->show_generic_information($locale->text('Nothing has been selected for transfer.')); - exit 0; + ::end_of_request(); } WH->transfer(@transfers); @@ -310,7 +311,7 @@ sub transfer_stock_update_part { } elsif (($form->{partnumber} && ($form->{partnumber} ne $form->{old_partnumber})) || $form->{description} || $form->{ean}) { $form->{no_services} = 1; - $form->{no_assemblies} = 0; # assemblies duerfen eingelagert werden (z.B. bei retouren) + $form->{no_assemblies} = 0; # assemblies duerfen eingelagert werden (z.B. bei retouren) my $parts = Common->retrieve_parts(\%myconfig, $form, 'description', 1); @@ -424,23 +425,29 @@ sub create_assembly { $form->show_generic_error($locale->text('Invalid quantity.'), 'back_button' => 1); } # TODO Es wäre schön, hier schon die maximale Anzahl der zu fertigenden Erzeugnisse zu haben - #else { if ($form->{qty} > $maxcreate) { #s.o. - # $form->show_generic_error($locale->text('Can not create that quantity with current stock'), 'back_button' => 1); - # $form->show_generic_error('Maximale Stückzahl' . $maxcreate , 'back_button' => 1); - # } + #else { if ($form->{qty} > $maxcreate) { #s.o. + # $form->show_generic_error($locale->text('Can not create that quantity with current stock'), 'back_button' => 1); + # $form->show_generic_error('Maximale Stückzahl' . $maxcreate , 'back_button' => 1); + # } # } if (!$form->{warehouse_id} || !$form->{bin_id}) { $form->error($locale->text('The warehouse or the bin is missing.')); } + + if (!$main::show_best_before) { + $form->{bestbefore} = ''; + } + # WIESO war das nicht vorher schon ein %HASH?? ein hash ist ein hash! das hat mich mehr als eine Stunde gekostet herauszufinden. grr. jb 3.3.2009 # Anm. jb 18.3. vielleicht auch nur meine unwissenheit in perl-datenstrukturen my %TRANSFER = ( 'transfer_type' => 'assembly', - 'login' => $form->{login}, + 'login' => $form->{login}, 'dst_warehouse_id' => $form->{warehouse_id}, 'dst_bin_id' => $form->{bin_id}, 'chargenumber' => $form->{chargenumber}, + 'bestbefore' => $form->{bestbefore}, 'assembly_id' => $form->{parts_id}, 'qty' => $form->{qty}, 'unit' => $form->{unit}, @@ -455,7 +462,7 @@ sub create_assembly { $form->show_generic_error($ret, 'back_button' => 1); } - delete @{$form}{qw(parts_id partnumber description qty unit chargenumber comment)}; + delete @{$form}{qw(parts_id partnumber description qty unit chargenumber bestbefore comment)}; $form->{saved_message} = $locale->text('The assembly has been created.'); $form->{trans_type} = 'assembly'; @@ -487,6 +494,7 @@ sub transfer_stock { 'dst_warehouse_id' => $form->{warehouse_id}, 'dst_bin_id' => $form->{bin_id}, 'chargenumber' => $form->{chargenumber}, + 'bestbefore' => $form->{bestbefore}, 'parts_id' => $form->{parts_id}, 'qty' => $form->{qty}, 'unit' => $form->{unit}, @@ -495,7 +503,7 @@ sub transfer_stock { WH->transfer($transfer); - delete @{$form}{qw(parts_id partnumber description qty unit chargenumber comment)}; + delete @{$form}{qw(parts_id partnumber description qty unit chargenumber bestbefore comment ean)}; $form->{saved_message} = $locale->text('The parts have been stocked.'); $form->{trans_type} = 'stock'; @@ -546,7 +554,7 @@ sub remove_parts { $form->show_generic_error($locale->text("The warehouse does not contain any bins.")) if (0 == scalar @{ $warehouse->{BINS} }); - map { $form->{"l_$_"} = 'Y' } qw(parts_id qty warehouseid binid partnumber partdescription bindescription chargenumber partunit); + map { $form->{"l_$_"} = 'Y' } qw(parts_id qty warehouseid binid partnumber partdescription bindescription chargenumber bestbefore partunit); $form->{sort} = 'bindescription'; my @contents = WH->get_warehouse_report("warehouse_id" => $form->{warehouse_id}); @@ -570,12 +578,12 @@ sub remove_parts { 'transfer_type_id' => $form->{transfer_type_id}, }; - map { $transfer->{$_} = $form->{"${_}_${row}"} } qw(src_bin_id chargenumber parts_id qty); + map { $transfer->{$_} = $form->{"${_}_${row}"} } qw(src_bin_id chargenumber bestbefore parts_id qty); my $entry; foreach (@contents) { - if (($_->{binid} == $transfer->{src_bin_id}) && ($_->{parts_id} == $transfer->{parts_id}) && ($_->{chargenumber} eq $transfer->{chargenumber})) { + if (($_->{binid} == $transfer->{src_bin_id}) && ($_->{parts_id} == $transfer->{parts_id}) && ($_->{chargenumber} eq $transfer->{chargenumber}) && ($_->{bestbefore} eq $transfer->{bestbefore})) { $entry = $_; last; } @@ -603,7 +611,7 @@ sub remove_parts { if (!scalar @transfers) { $form->show_generic_information($locale->text('Nothing has been selected for removal.')); - exit 0; + ::end_of_request(); } WH->transfer(@transfers); @@ -654,10 +662,10 @@ sub generate_journal { $form->{sort} ||= 'date'; my %filter; - my @columns = qw(trans_id date warehouse_from bin_from warehouse_to bin_to partnumber partdescription chargenumber trans_type comment qty employee oe_id projectnumber); + my @columns = qw(trans_id date warehouse_from bin_from warehouse_to bin_to partnumber partdescription chargenumber bestbefore trans_type comment qty employee oe_id projectnumber); # filter stuff - map { $filter{$_} = $form->{$_} if ($form->{$_}) } qw(warehouse_id bin_id partnumber description chargenumber); + map { $filter{$_} = $form->{$_} if ($form->{$_}) } qw(warehouse_id bin_id partnumber description chargenumber bestbefore); $filter{qty_op} = WH->convert_qty_op($form->{qty_op}); if ($filter{qty_op}) { @@ -672,7 +680,7 @@ sub generate_journal { my $report = SL::ReportGenerator->new(\%myconfig, $form); my @hidden_variables = map { "l_${_}" } @columns; - push @hidden_variables, qw(warehouse_id bin_id partnumber description chargenumber qty_op qty qty_unit fromdate todate); + push @hidden_variables, qw(warehouse_id bin_id partnumber description chargenumber bestbefore qty_op qty qty_unit fromdate todate); my %column_defs = ( 'date' => { 'text' => $locale->text('Date'), }, @@ -686,6 +694,7 @@ sub generate_journal { 'partnumber' => { 'text' => $locale->text('Part Number'), }, 'partdescription' => { 'text' => $locale->text('Description'), }, 'chargenumber' => { 'text' => $locale->text('Charge Number'), }, + 'bestbefore' => { 'text' => $locale->text('Best Before'), }, 'qty' => { 'text' => $locale->text('Qty'), }, 'employee' => { 'text' => $locale->text('Employee'), }, 'projectnumber' => { 'text' => $locale->text('Project Number'), }, @@ -777,8 +786,10 @@ sub report { show_no_warehouses_error() if (!scalar @{ $form->{WAREHOUSES} }); - $form->{fokus} = "partnumber"; - $form->{onload} .= "focus();"; + $form->{jsscript} = 1; + +# $form->{fokus} = "partnumber"; +# $form->{onload} .= "focus();"; $form->{title} = $locale->text("Report about wareouse contents"); $form->header(); @@ -804,10 +815,10 @@ sub generate_report { my $sort_col = $form->{sort}; my %filter; - my @columns = qw(warehousedescription bindescription partnumber partdescription chargenumber qty stock_value); + my @columns = qw(warehousedescription bindescription partnumber partdescription chargenumber bestbefore qty stock_value); # filter stuff - map { $filter{$_} = $form->{$_} if ($form->{$_}) } qw(warehouse_id bin_id partnumber description chargenumber); + map { $filter{$_} = $form->{$_} if ($form->{$_}) } qw(warehouse_id bin_id partnumber description chargenumber bestbefore); $filter{qty_op} = WH->convert_qty_op($form->{qty_op}); if ($filter{qty_op}) { @@ -824,7 +835,7 @@ sub generate_report { my $report = SL::ReportGenerator->new(\%myconfig, $form); my @hidden_variables = map { "l_${_}" } @columns; - push @hidden_variables, qw(warehouse_id bin_id partnumber description chargenumber qty_op qty qty_unit l_warehousedescription l_bindescription); + push @hidden_variables, qw(warehouse_id bin_id partnumber description chargenumber bestbefore qty_op qty qty_unit l_warehousedescription l_bindescription); push @hidden_variables, qw(include_empty_bins subtotal); my %column_defs = ( @@ -833,6 +844,7 @@ sub generate_report { 'partnumber' => { 'text' => $locale->text('Part Number'), }, 'partdescription' => { 'text' => $locale->text('Description'), }, 'chargenumber' => { 'text' => $locale->text('Charge Number'), }, + 'bestbefore' => { 'text' => $locale->text('Best Before'), }, 'qty' => { 'text' => $locale->text('Qty'), }, 'stock_value' => { 'text' => $locale->text('Stock value'), }, );