From: Bernd Bleßmann Date: Sun, 20 Aug 2017 11:19:54 +0000 (+0200) Subject: IS::get_customer: ersten Kunden zurückliefern, wenn keine Id vorgegeben ist. X-Git-Tag: release-3.5.4~877 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=c878cea9b2054485b02ff3eec69f3fb35c360edd;p=kivitendo-erp.git IS::get_customer: ersten Kunden zurückliefern, wenn keine Id vorgegeben ist. 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. --- 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};