Auf gar keine Fall nicht ueberkomplizierte Logik nicht leichter gemacht...
[kivitendo-erp.git] / SL / IR.pm
index e99a108..f51ce4a 100644 (file)
--- a/SL/IR.pm
+++ b/SL/IR.pm
@@ -224,9 +224,8 @@ sub post_invoice {
 
         $dbh->do($query) || $form->dberror($query);
 
-        $form->update_balance($dbh, "parts", "onhand",
-                              qq|id = $form->{"id_$i"}|,
-                              $baseqty)
+        $form->update_balance($dbh, "parts", "onhand", qq|id = ?|,
+                              $baseqty, $form->{"id_$i"})
           unless $form->{shipped};
 
         # check if we sold the item already and
@@ -1013,13 +1012,15 @@ sub get_vendor {
 
   $query = qq|SELECT o.amount,
                 (SELECT e.sell FROM exchangerate e 
-                 WHERE e.curr = o.curr AND e.transdate = o.transdate)
+                 WHERE e.curr = o.curr AND e.transdate = o.transdate) AS exch
              FROM oe o WHERE o.vendor_id = ?  
                 AND o.quotation = '0' AND o.closed = '0'|;
-  while (my ($amount, $exch) = selectfirst_array_query($form, $dbh, $query, $form->{vendor_id})) {
+  my $sth = prepare_execute_query($form, $dbh, $query, $form->{vendor_id});
+  while (my ($amount, $exch) = $sth->fetchrow_array()) {
     $exch = 1 unless $exch;
     $form->{creditremaining} -= $amount * $exch;
   }
+  $sth->finish();
 
   # get shipto if we do not convert an order or invoice
   if (!$form->{shipto}) {