Ansprechpersonen: Feld "Funktion/Position"
[kivitendo-erp.git] / bin / mozilla / wh.pl
index f497107..eb12fcb 100644 (file)
@@ -44,6 +44,8 @@ use SL::WH;
 use SL::OE;
 use SL::ReportGenerator;
 
+use SL::DB::Part;
+
 use Data::Dumper;
 
 require "bin/mozilla/common.pl";
@@ -85,8 +87,16 @@ sub transfer_warehouse_selection {
   show_no_warehouses_error() if (!scalar @{ $form->{WAREHOUSES} });
 
   my $units      = AM->retrieve_units(\%myconfig, $form);
+
+  my $part = 0;
+  if ( $form->{parts_id} ) {
+    $part = SL::DB::Part->new();
+    $part->id($form->{parts_id});
+    $part->load();
+  }
+
   # der zweite Parameter von unit_select_data gibt den default-Namen (selected) vor
-  $form->{UNITS} = AM->unit_select_data($units, $form->{partunit}, 0, $form->{partunit});
+  $form->{UNITS} = AM->unit_select_data($units, $form->{unit}, 0, $part ? $part->unit : 0);
 
   if (scalar @{ $form->{WAREHOUSES} }) {
     $form->{warehouse_id} ||= $form->{WAREHOUSES}->[0]->{id};
@@ -438,7 +448,7 @@ sub create_assembly {
     $form->error($locale->text('The warehouse or the bin is missing.'));
   }
 
-  if (!$::lx_office_conf{system}->{show_best_before}) {
+  if (!$::instance_conf->get_show_bestbefore) {
       $form->{bestbefore} = '';
   }
 
@@ -794,8 +804,6 @@ sub report {
 
   $form->{jsscript} = 1;
 
-#  $form->{fokus}   = "partnumber";
-#  $form->{onload} .= "focus();";
   $form->{title}   = $locale->text("Report about warehouse contents");
 
   $form->header();
@@ -824,7 +832,7 @@ sub generate_report {
   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 bestbefore);
+  map { $filter{$_} = $form->{$_} if ($form->{$_}) } qw(warehouse_id bin_id partnumber description chargenumber bestbefore date include_invalid_warehouses);
 
   $filter{qty_op} = WH->convert_qty_op($form->{qty_op});
   if ($filter{qty_op}) {
@@ -842,7 +850,7 @@ sub generate_report {
 
   my @hidden_variables = map { "l_${_}" } @columns;
   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);
+  push @hidden_variables, qw(include_empty_bins subtotal include_invalid_warehouses date);
 
   my %column_defs = (
     'warehousedescription' => { 'text' => $locale->text('Warehouse'), },
@@ -896,7 +904,7 @@ sub generate_report {
 
     my $row_set = [ { map { $_ => { 'data' => $entry->{$_}, 'align' => $column_alignment{$_} } } @columns } ];
 
-    if (($form->{subtotal} eq 'Y')
+    if ( ($form->{subtotal} eq 'Y' && !$form->{report_generator_csv_options_for_import} )
         && (($idx == (scalar @contents - 1))
             || ($entry->{$sort_col} ne $contents[$idx + 1]->{$sort_col}))) {
 
@@ -916,7 +924,7 @@ sub generate_report {
     $idx++;
   }
 
-  if ($column_defs{stock_value}->{visible}) {
+  if ( $column_defs{stock_value}->{visible} && !$form->{report_generator_csv_options_for_import} ) {
     $report->add_separator();
 
     my $row                      = { map { $_ => { 'data' => '', 'class' => 'listsubtotal', } } @columns };