Programmierrichtlinien etwas aktualisiert.
[kivitendo-erp.git] / SL / CT.pm
index 79169b5..a8ea84e 100644 (file)
--- a/SL/CT.pm
+++ b/SL/CT.pm
@@ -127,7 +127,7 @@ sub get_tuple {
   my $num_args  = 2;
   my $makemodel = '';
   if ($form->{db} eq 'vendor') {
-    $makemodel = qq| UNION SELECT mm.make FROM makemodel mm WHERE mm.make = ?|;
+    $makemodel = qq| UNION SELECT 1 FROM makemodel mm WHERE mm.make = ?|;
     $num_args++;
   }
 
@@ -704,7 +704,7 @@ sub search {
   $form->{sort} = $sortorder;
   my $sortdir   = !defined $form->{sortdir} ? 'ASC' : $form->{sortdir} ? 'ASC' : 'DESC';
 
-if ($sortorder ne 'id') {
+  if ($sortorder ne 'id' && 1 >= scalar grep { $form->{$_} } qw(l_ordnumber l_quonumber l_invnumber)) {
     $sortorder  = "lower($sortorder) ${sortdir}";
   } else {
     $sortorder .= " ${sortdir}";
@@ -918,6 +918,7 @@ sub get_delivery {
 
   my $arap = $form->{db} eq "vendor" ? "ap" : "ar";
   my $db = $form->{db} eq "customer" ? "customer" : "vendor";
+  my $qty_sign = $form->{db} eq 'vendor' ? ' * -1 AS qty' : '';
 
   my $where = " WHERE 1=1 ";
   my @values;
@@ -939,7 +940,7 @@ sub get_delivery {
     push(@values, conv_date($form->{to}));
   }
   my $query =
-    qq|SELECT s.shiptoname, i.qty, | .
+    qq|SELECT s.shiptoname, i.qty $qty_sign, | .
     qq|  ${arap}.id, ${arap}.transdate, ${arap}.invnumber, ${arap}.ordnumber, | .
     qq|  i.description, i.unit, i.sellprice, | .
     qq|  oe.id AS oe_id | .