Steuern festsetzen
[kivitendo-erp.git] / SL / AM.pm
index 59e9c78..5645c4d 100644 (file)
--- a/SL/AM.pm
+++ b/SL/AM.pm
@@ -243,6 +243,25 @@ sub save_account {
     $form->{id} = "";
   }
 
+  $query = '
+    SELECT accno
+    FROM chart
+    WHERE accno = ?';
+
+  my @values = ($form->{accno});
+
+  if ( $form->{id} ) {
+    $query .= ' AND NOT id = ?';
+    push(@values, $form->{id});
+  }
+
+  my ($accno) = selectrow_query($form, $dbh, $query, @values);
+
+  if ($accno) {
+    $form->error($::locale->text('Account number not unique!'));
+  }
+
+
   if (!$form->{id} || $form->{id} eq "") {
     $query = qq|SELECT nextval('id')|;
     ($form->{"id"}) = selectrow_query($form, $dbh, $query);
@@ -250,7 +269,7 @@ sub save_account {
     do_query($form, $dbh, $query, $form->{"id"}, $form->{"accno"});
   }
 
-  my @values;
+  @values = ();
 
 
   if ($form->{id}) {
@@ -1760,7 +1779,9 @@ sub get_tax {
                    taxkey,
                    taxdescription,
                    round(rate * 100, 2) AS rate,
-                   chart_id
+                   chart_id, 
+                   (id IN (SELECT tax_id 
+                           FROM acc_trans)) AS tax_already_used
                  FROM tax
                  WHERE id = ? |;