Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 79fe86a4

Von Jan Büren vor etwa 10 Jahren hinzugefügt

  • ID 79fe86a487a0d0410ba0eb3283b9a72f35962613
  • Vorgänger 5caaac6b
  • Nachfolger f07fe8f2

Verbesserung Standardauslagern für den Fall Dienstleistung ist nicht lagerbar

Kein undef an SL/DO.pm übergeben, sondern die richtigen Position zum
Einlagern durch eine "schlauere" Schleife machen.
Falls eine Position die NICHT ein-, bzw. ausgelagert werden soll, schon
belegt wurde (per Benutzereingabe). Diese auch dann löschen, da ansonsten
Beleg ne Lager (Hinweis von Sven)

Unterschiede anzeigen:

bin/mozilla/do.pl
1598 1598

  
1599 1599
      $qty = 0 if (!$::instance_conf->get_transfer_default_services && !defined($part_info_map{$form->{"id_$i"}}->{inventory_accno_id}) && !$part_info_map{$form->{"id_$i"}}->{assembly});
1600 1600
      $qty_parts{$form->{"id_$i"}} += $qty;
1601
      delete $qty_parts{$form->{"id_$i"}} if $qty == 0;
1601
      if ($qty == 0) {
1602
        delete $qty_parts{$form->{"id_$i"}} if $qty == 0;
1603
        undef $form->{"stock_in_$i"};
1604
      }
1602 1605

  
1603 1606
      $part_info_map{$form->{"id_$i"}}{bin_id}       ||= $default_bin_id;
1604 1607
      $part_info_map{$form->{"id_$i"}}{warehouse_id} ||= $default_warehouse_id;
1605 1608

  
1606
      push @all_requests, ($qty == 0) ? undef : {
1609
      push @all_requests, ($qty == 0) ? { } : {
1607 1610
                        'chargenumber' => '',  #?? die müsste entsprechend geholt werden
1608 1611
                        #'bestbefore' => undef, # TODO wird nicht berücksichtigt
1609 1612
                        'bin_id' => $part_info_map{$form->{"id_$i"}}{bin_id},
......
1621 1624
    # jetzt wird erst überprüft, ob die Stückzahl entsprechend stimmt.
1622 1625
    # check if bin (transfer in and transfer out and qty (transfer out) is correct
1623 1626
    foreach my $key (keys %qty_parts) {
1627

  
1624 1628
      $missing_default_bins{$key}{missing_bin} = 1 unless ($part_info_map{$key}{bin_id});
1625 1629
      next unless ($part_info_map{$key}{bin_id}); # abbruch
1626 1630

  
......
1687 1691
  # dieser array_ref ist für DO->save da:
1688 1692
  # einmal die all_requests in YAML verwandeln, damit delivery_order_items_stock
1689 1693
  # gefüllt werden kann.
1690
  my $i = 1;
1694
  my $i = 0;
1691 1695
  foreach (@all_requests){
1692
    $form->{"stock_${prefix}_$i"} = YAML::Dump([$_]);
1693 1696
    $i++;
1697
    next unless scalar(%{ $_ });
1698
    $form->{"stock_${prefix}_$i"} = YAML::Dump([$_]);
1694 1699
  }
1695 1700

  
1696 1701
  save(no_redirect => 1); # Wir können auslagern, deshalb beleg speichern

Auch abrufbar als: Unified diff