From ac24d564d4fa4620782f0d5742853c52746f3b95 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20B=C3=BCren?= Date: Tue, 13 Jul 2021 09:26:32 +0200 Subject: [PATCH] Lieferschein: Serienummer ist Pflichtfeld, wenn Artikel eine Serienummer hat --- bin/mozilla/do.pl | 6 ++++++ bin/mozilla/io.pl | 3 ++- doc/changelog | 2 ++ locale/de/all | 1 + locale/en/all | 1 + 5 files changed, 12 insertions(+), 1 deletion(-) diff --git a/bin/mozilla/do.pl b/bin/mozilla/do.pl index 576f8aa29..0905b4876 100644 --- a/bin/mozilla/do.pl +++ b/bin/mozilla/do.pl @@ -924,6 +924,12 @@ sub save { 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"}) { diff --git a/bin/mozilla/io.pl b/bin/mozilla/io.pl index 9982d9eb5..fda1fd6fe 100644 --- a/bin/mozilla/io.pl +++ b/bin/mozilla/io.pl @@ -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}"; - 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 => $_}, ( @@ -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->{"has_sernumber_$i"} = $info->{has_sernumber}; } $main::lxdebug->leave_sub(); diff --git a/doc/changelog b/doc/changelog index 924f5519f..b9ffb4091 100644 --- a/doc/changelog +++ b/doc/changelog @@ -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. +- 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): diff --git a/locale/de/all b/locale/de/all index 01f1e44cc..7507bc238 100755 --- a/locale/de/all +++ b/locale/de/all @@ -2994,6 +2994,7 @@ $self->{texts} = { 'September' => 'September', 'Serial No.' => 'Seriennummer', 'Serial Number' => 'Seriennummer', + 'Serial Number missing in Row' => 'Seriennummer fehlt in Position', 'Server' => 'Server', 'Server control' => 'Serversteuerung', 'Service' => 'Dienstleistung', diff --git a/locale/en/all b/locale/en/all index 65e80cc00..65d94870e 100644 --- a/locale/en/all +++ b/locale/en/all @@ -2994,6 +2994,7 @@ $self->{texts} = { 'September' => '', 'Serial No.' => '', 'Serial Number' => '', + 'Serial Number missing in Row' => '', 'Server' => '', 'Server control' => '', 'Service' => '', -- 2.20.1