Transportkosten-Erinnerungs-Artikel auf ID anstatt partnumber umgestellt Teil II
[kivitendo-erp.git] / SL / AP.pm
index 8c49bb3..4d651e4 100644 (file)
--- a/SL/AP.pm
+++ b/SL/AP.pm
@@ -163,27 +163,19 @@ sub post_transaction {
       do_query($form, $dbh, $query, $form->{id});
 
     } else {
-      my $uid = rand() . time;
-
-      $uid .= $form->{login};
-
-      $uid = substr($uid, 2, 75);
 
+      ($form->{id}) = selectrow_query($form, $dbh, qq|SELECT nextval('glid')|);
       $query =
-        qq|INSERT INTO ap (invnumber, employee_id,currency_id) | .
-        qq|VALUES (?, (SELECT e.id FROM employee e WHERE e.login = ?),
-                      (SELECT id FROM currencies WHERE name = ?) )|;
-      do_query($form, $dbh, $query, $uid, $form->{login}, $form->{currency});
-
-      $query = qq|SELECT a.id FROM ap a
-                  WHERE a.invnumber = ?|;
-      ($form->{id}) = selectrow_query($form, $dbh, $query, $uid);
-    }
+        qq|INSERT INTO ap (id, invnumber, employee_id,currency_id, taxzone_id) | .
+        qq|VALUES (?, ?, (SELECT e.id FROM employee e WHERE e.login = ?),
+                      (SELECT id FROM currencies WHERE name = ?), (SELECT taxzone_id FROM vendor WHERE id = ?) )|;
+      do_query($form, $dbh, $query, $form->{id}, $form->{invnumber}, $form->{login}, $form->{currency}, $form->{vendor_id});
 
-    $form->{invnumber} = $form->{id} unless $form->{invnumber};
+    }
 
-    $query = qq|UPDATE ap SET
-                invnumber = ?, transdate = ?, ordnumber = ?, vendor_id = ?, taxincluded = ?,
+    $query = qq|UPDATE ap SET invnumber = ?,
+                transdate = ?, ordnumber = ?, vendor_id = ?, taxincluded = ?,
                 amount = ?, duedate = ?, paid = ?, netamount = ?,
                 currency_id = (SELECT id FROM currencies WHERE name = ?), notes = ?, department_id = ?, storno = ?, storno_id = ?,
                 globalproject_id = ?, direct_debit = ?