Lieferschein: Serienummer ist Pflichtfeld, wenn Artikel eine Serienummer hat
authorJan Büren <jan@kivitendo.de>
Tue, 13 Jul 2021 07:26:32 +0000 (09:26 +0200)
committerJan Büren <jan@kivitendo.de>
Tue, 13 Jul 2021 07:26:32 +0000 (09:26 +0200)
bin/mozilla/do.pl
bin/mozilla/io.pl
doc/changelog
locale/de/all
locale/en/all

index 576f8aa..0905b48 100644 (file)
@@ -924,6 +924,12 @@ sub save {
   remove_emptied_rows();
   validate_items();
 
   remove_emptied_rows();
   validate_items();
 
+  # check for serial number if part needs one
+  for my $i (1 .. $form->{rowcount} - 1) {
+    next unless $form->{"has_sernumber_$i"};
+    $form->isblank("serialnumber_$i",
+                   $locale->text('Serial Number missing in Row') . " $i");
+  }
   # if the name changed get new values
   my $vc = $form->{vc};
   if (($form->{"previous_${vc}_id"} || $form->{"${vc}_id"}) != $form->{"${vc}_id"}) {
   # if the name changed get new values
   my $vc = $form->{vc};
   if (($form->{"previous_${vc}_id"} || $form->{"${vc}_id"}) != $form->{"${vc}_id"}) {
index 9982d9e..fda1fd6 100644 (file)
@@ -471,7 +471,7 @@ sub display_row {
       map { $form->{"${_}_${i}"} = $form->format_amount(\%myconfig, $form->{"${_}_${i}"}) } qw(sellprice discount lastcost);
       push @hidden_vars, grep { defined $form->{"${_}_${i}"} } qw(sellprice discount not_discountable price_factor_id lastcost);
       push @hidden_vars, "stock_${stock_in_out}_sum_qty", "stock_${stock_in_out}";
       map { $form->{"${_}_${i}"} = $form->format_amount(\%myconfig, $form->{"${_}_${i}"}) } qw(sellprice discount lastcost);
       push @hidden_vars, grep { defined $form->{"${_}_${i}"} } qw(sellprice discount not_discountable price_factor_id lastcost);
       push @hidden_vars, "stock_${stock_in_out}_sum_qty", "stock_${stock_in_out}";
-      push @hidden_vars, qw(delivery_order_items_id converted_from_orderitems_id converted_from_delivery_order_items_id);
+      push @hidden_vars, qw(delivery_order_items_id converted_from_orderitems_id converted_from_delivery_order_items_id has_sernumber);
     }
 
     my @HIDDENS = map { value => $_}, (
     }
 
     my @HIDDENS = map { value => $_}, (
@@ -1728,6 +1728,7 @@ sub _update_part_information {
     $form->{"weight_$i"}            = $info->{weight};
     $form->{"part_type_$i"}         = $info->{part_type};
     $form->{"classification_id_$i"} = $info->{classification_id};
     $form->{"weight_$i"}            = $info->{weight};
     $form->{"part_type_$i"}         = $info->{part_type};
     $form->{"classification_id_$i"} = $info->{classification_id};
+    $form->{"has_sernumber_$i"}     = $info->{has_sernumber};
   }
 
   $main::lxdebug->leave_sub();
   }
 
   $main::lxdebug->leave_sub();
index 924f551..b9ffb40 100644 (file)
@@ -23,6 +23,8 @@ Kleinere neue Features und Detailverbesserungen:
   Ist die Option ausgestellt, ist das Verhalten nach dem Buchen wie zuvor
   und es gibt eine zweite Aktion "Buchen und Dokument hochladen", mit der
   in den Dokumenten-Tab gesprungen werden kann.
   Ist die Option ausgestellt, ist das Verhalten nach dem Buchen wie zuvor
   und es gibt eine zweite Aktion "Buchen und Dokument hochladen", mit der
   in den Dokumenten-Tab gesprungen werden kann.
+- Seriennummer ist jetzt ein Pflichtfeld für Lieferscheine (Einkauf und Verkauf),
+  falls die Ware im Beleg in den Stammdaten mit "Hat eine Serienummer" markiert ist.
 
 Bugfixes (Tracker: https://www.kivitendo.de/redmine):
 
 
 Bugfixes (Tracker: https://www.kivitendo.de/redmine):
 
index 01f1e44..7507bc2 100755 (executable)
@@ -2994,6 +2994,7 @@ $self->{texts} = {
   'September'                   => 'September',
   'Serial No.'                  => 'Seriennummer',
   'Serial Number'               => 'Seriennummer',
   'September'                   => 'September',
   'Serial No.'                  => 'Seriennummer',
   'Serial Number'               => 'Seriennummer',
+  'Serial Number missing in Row' => 'Seriennummer fehlt in Position',
   'Server'                      => 'Server',
   'Server control'              => 'Serversteuerung',
   'Service'                     => 'Dienstleistung',
   'Server'                      => 'Server',
   'Server control'              => 'Serversteuerung',
   'Service'                     => 'Dienstleistung',
index 65e80cc..65d9487 100644 (file)
@@ -2994,6 +2994,7 @@ $self->{texts} = {
   'September'                   => '',
   'Serial No.'                  => '',
   'Serial Number'               => '',
   'September'                   => '',
   'Serial No.'                  => '',
   'Serial Number'               => '',
+  'Serial Number missing in Row' => '',
   'Server'                      => '',
   'Server control'              => '',
   'Service'                     => '',
   'Server'                      => '',
   'Server control'              => '',
   'Service'                     => '',