From c878cea9b2054485b02ff3eec69f3fb35c360edd Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bernd=20Ble=C3=9Fmann?= Date: Sun, 20 Aug 2017 13:19:54 +0200 Subject: [PATCH] =?utf8?q?IS::get=5Fcustomer:=20ersten=20Kunden=20zur?= =?utf8?q?=C3=BCckliefern,=20wenn=20keine=20Id=20vorgegeben=20ist.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Durch Umstellung auf den Customer/Vendor-Picker der Belegmasken konnte der Picker unter bestimmten Umständen initial leer sein. Dadurch wurden dann bei einem Wechsel von leer auf einen Kunden nicht alle Form-Variablen richtig gefüllt (z.B. taxzone_id) und z.B. ein Lieferschein konnte nicht gespeichert werden. Das jetzige Verhalten gleicht dann dem von IR::get_vendor. --- SL/IS.pm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/SL/IS.pm b/SL/IS.pm index bbf53e31a..1df0eb2f9 100644 --- a/SL/IS.pm +++ b/SL/IS.pm @@ -2130,6 +2130,11 @@ sub get_customer { my $payment_id; # get customer + my $where = ''; + if ($cid) { + $where .= 'AND c.id = ?'; + push @values, $cid; + } $query = qq|SELECT c.id AS customer_id, c.name AS customer, c.discount as customer_discount, c.creditlimit, @@ -2141,8 +2146,7 @@ sub get_customer { FROM customer c LEFT JOIN business b ON (b.id = c.business_id) LEFT JOIN currencies cu ON (c.currency_id=cu.id) - WHERE c.id = ?|; - push @values, $cid; + WHERE 1 = 1 $where|; $ref = selectfirst_hashref_query($form, $dbh, $query, @values); delete $ref->{salesman_id} if !$ref->{salesman_id}; -- 2.20.1