X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fwh.pl;h=d632d5d961962e29e47b22726ce44c882b1311d1;hb=bb5ee43d0ddff8f8b57ce0f15a5664b26c110d1f;hp=1ec64494b0d4bc4a1e023efbab663b3cf9db8f8f;hpb=965b16ba88312c12f80985f0a1dace8f28551dac;p=kivitendo-erp.git diff --git a/bin/mozilla/wh.pl b/bin/mozilla/wh.pl index 1ec64494b..d632d5d96 100644 --- a/bin/mozilla/wh.pl +++ b/bin/mozilla/wh.pl @@ -105,7 +105,7 @@ sub transfer_warehouse_selection { $content = $form->parse_html_template('wh/warehouse_selection'); } elsif ($form->{trans_type} eq 'assembly') { - $form->{title} = $locale->text('Assembly'); + $form->{title} = $locale->text('Produce Assembly'); $content = $form->parse_html_template('wh/warehouse_selection_assembly'); } @@ -150,13 +150,14 @@ 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); + map { $form->{"l_$_"} = 'Y' } qw(parts_id qty warehouseid binid partnumber partdescription bindescription chargenumber 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}, + "partnumber" => $form->{partnumber}, + "ean" => $form->{ean}, "description" => $form->{description}); $form->show_generic_error($locale->text("The selected warehouse is empty.")) if (0 == scalar(@contents)); @@ -280,19 +281,19 @@ sub transfer_stock_update_part { $form->{trans_type} = 'stock'; $form->{qty} = $form->parse_amount(\%myconfig, $form->{qty}); - if (!$form->{partnumber} && !$form->{description}) { - delete @{$form}{qw(parts_id partunit)}; + if (!$form->{partnumber} && !$form->{description} && !$form->{ean}) { + delete @{$form}{qw(parts_id partunit ean)}; transfer_warehouse_selection(); - } elsif (($form->{partnumber} && ($form->{partnumber} ne $form->{old_partnumber})) || $form->{description}) { + } elsif (($form->{partnumber} && ($form->{partnumber} ne $form->{old_partnumber})) || $form->{description} || $form->{ean}) { $form->{no_services} = 1; - $form->{no_assemblies} = 1; + $form->{no_assemblies} = 0; # assemblies duerfen eingelagert werden (z.B. bei retouren) my $parts = Common->retrieve_parts(\%myconfig, $form, 'description', 1); if (scalar @{ $parts } == 1) { - @{$form}{qw(parts_id partnumber description)} = @{$parts->[0]}{qw(id partnumber description)}; + @{$form}{qw(parts_id partnumber description ean)} = @{$parts->[0]}{qw(id partnumber description ean)}; transfer_stock_get_partunit(); transfer_warehouse_selection(); @@ -352,7 +353,7 @@ sub transfer_stock_part_selected { my $part = shift; - @{$form}{qw(parts_id partnumber description)} = @{$part}{qw(id partnumber description)}; + @{$form}{qw(parts_id partnumber description ean)} = @{$part}{qw(id partnumber description ean)}; transfer_stock_get_partunit(); transfer_warehouse_selection(); @@ -377,25 +378,26 @@ sub transfer_stock_get_partunit { # wir brauchen eine hilfsfunktion, die nee. brauchen wir nicht. der algorithmus läuft genau wie bei check max_create, nur dass hier auch eine lagerbewegung (verbraucht) stattfindet # Manko ist derzeit noch, dass unterschiedliche Lagerplätze, bzw. das Quelllager an sich nicht ausgewählt werden können. # Laut Absprache in KW11 09 übernimmt mb hier den rest im April ... jb 18.3.09 + sub create_assembly { -# my $maxcreate=shift; # oben begonnene auskommentierte idee, hier als motiv weiterverfolgen (umkehrungen und sequenzierungen als stilmittel nicht vergessen) $lxdebug->enter_sub(); $form->{qty} = $form->parse_amount(\%myconfig, $form->{qty}); -# my $maxcreate = WH->check_assembly_max_create(assembly_id => $form->{parts_id}); if ($form->{qty} <= 0) { $form->show_generic_error($locale->text('Invalid quantity.'), '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); -# } -# } + } + # 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); + # } + # } if (!$form->{warehouse_id} || !$form->{bin_id}) { $form->error($locale->text('The warehouse or the bin is missing.')); } -# 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 + # 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}, @@ -405,14 +407,15 @@ sub create_assembly { 'assembly_id' => $form->{parts_id}, 'qty' => $form->{qty}, 'unit' => $form->{unit}, - 'comment' => $form->{comment}, + 'comment' => $form->{comment} ); my $ret = WH->transfer_assembly (%TRANSFER); -# Frage: Ich pack in den return-wert auch gleich die Fehlermeldung. Irgendwelche Nummern als Fehlerkonstanten definieren find ich auch nicht besonders schick... -# Ideen? jb 18.3.09 + # Frage: Ich pack in den return-wert auch gleich die Fehlermeldung. Irgendwelche Nummern als Fehlerkonstanten definieren find ich auch nicht besonders schick... + # Ideen? jb 18.3.09 if ($ret ne "1"){ - $form->show_generic_error($locale->text($ret), 'back_button' => 1); + # Die locale-Funktion kann keine Double-Quotes escapen, deswegen hier erstmal so (ein wahrscheinlich immerwährender Hotfix) s.a. Frage davor jb 25.4.09 + $form->show_generic_error($ret, 'back_button' => 1); } delete @{$form}{qw(parts_id partnumber description qty unit chargenumber comment)}; @@ -642,13 +645,13 @@ sub generate_journal { $report->set_columns(%column_defs); $report->set_column_order(@columns); - $report->set_export_options('generate_journal', @hidden_variables); + $report->set_export_options('generate_journal', @hidden_variables, qw(sort order)); $report->set_sort_indicator($form->{sort}, $form->{order}); $report->set_options('output_format' => 'HTML', 'title' => $form->{title}, - 'attachment_basename' => strftime('warehouse_journal_%Y%m%d', localtime time)); + 'attachment_basename' => strftime($locale->text('warehouse_journal_list') . '_%Y%m%d', localtime time)); $report->set_options_from_form(); my $all_units = AM->retrieve_units(\%myconfig, $form); @@ -764,13 +767,13 @@ sub generate_report { $report->set_columns(%column_defs); $report->set_column_order(@columns); - $report->set_export_options('generate_report', @hidden_variables); + $report->set_export_options('generate_report', @hidden_variables, qw(sort order)); $report->set_sort_indicator($sort_col, $form->{order}); $report->set_options('output_format' => 'HTML', 'title' => $form->{title}, - 'attachment_basename' => strftime('warehouse_report_%Y%m%d', localtime time)); + 'attachment_basename' => strftime($locale->text('warehouse_report_list') . '_%Y%m%d', localtime time)); $report->set_options_from_form(); my $all_units = AM->retrieve_units(\%myconfig, $form); @@ -840,7 +843,7 @@ sub generate_report { sub show_no_warehouses_error { $lxdebug->enter_sub(); - my $msg = $locale->text('No warehouse has been created yet.') . ' '; + my $msg = $locale->text('No warehouse has been created yet or the quantity of the bins is not configured yet.') . ' '; if ($auth->check_right($form->{login}, 'config')) { $msg .= $locale->text('You can create warehouses and bins via the menu "System -> Warehouses".');