Bug 528 solved. Better Taxbird export for USTVA.
[kivitendo-erp.git] / SL / AM.pm
index 162f54f..a0a1589 100644 (file)
--- a/SL/AM.pm
+++ b/SL/AM.pm
@@ -1154,7 +1154,7 @@ sub save_buchungsgruppe {
                 WHERE id = ?|;
     push(@values, $form->{id});
   } else {
-    $query = qq|SELECT MAX(sortkey) + 1 FROM buchungsgruppen|;
+    $query = qq|SELECT COALESCE(MAX(sortkey) + 1, 1) FROM buchungsgruppen|;
     my ($sortkey) = $dbh->selectrow_array($query);
     $form->dberror($query) if ($dbh->err);
     push(@values, $sortkey);
@@ -1400,7 +1400,8 @@ sub save_payment {
   my $query;
 
   if (!$form->{id}) {
-    $query = qq|SELECT nextval('id'), MAX(sortkey) + 1 FROM payment_terms|;
+    $query = qq|SELECT nextval('id'), COALESCE(MAX(sortkey) + 1, 1) | .
+      qq|FROM payment_terms|;
     my $sortkey;
     ($form->{id}, $sortkey) = selectrow_query($form, $dbh, $query);
 
@@ -1463,11 +1464,11 @@ sub delete_payment {
   # connect to database
   my $dbh = $form->dbconnect_noauto($myconfig);
 
-  my $query = qq|DELETE FROM payment_terms WHERE id = ?|;
+  my $query =
+    qq|DELETE FROM translation_payment_terms WHERE payment_terms_id = ?|;
   do_query($form, $dbh, $query, $form->{"id"});
 
-  $query =
-    qq|DELETE FROM translation_payment_terms WHERE payment_terms_id = ?|;
+  $query = qq|DELETE FROM payment_terms WHERE id = ?|;
   do_query($form, $dbh, $query, $form->{"id"});
 
   $dbh->commit();