Debugcode entfernt.
[kivitendo-erp.git] / SL / AM.pm
index 3737c13..ced501d 100644 (file)
--- a/SL/AM.pm
+++ b/SL/AM.pm
@@ -345,7 +345,7 @@ sub save_account {
         tax_id    => conv_i($form->{"taxkey_tax_$tk_count"}),
         startdate => conv_date($form->{"taxkey_startdate_$tk_count"}),
         chart_id  => conv_i($form->{"id"}),
-        pos_ustva => conv_i($form->{"taxkey_pos_ustva_$tk_count"}),
+        pos_ustva => $form->{"taxkey_pos_ustva_$tk_count"},
         delete    => ( $form->{"taxkey_del_$tk_count"} eq 'delete' ) ? '1' : '',
       };
 
@@ -1128,8 +1128,6 @@ sub swap_sortkeys {
        (SELECT sortkey FROM $table WHERE id = ?) AS sortkey2|;
   my @values = ($form->{"id1"}, $form->{"id2"});
   my @sortkeys = selectrow_query($form, $dbh, $query, @values);
-  $main::lxdebug->dump(0, "v", \@values);
-  $main::lxdebug->dump(0, "s", \@sortkeys);
 
   $query = qq|UPDATE $table SET sortkey = ? WHERE id = ?|;
   my $sth = $dbh->prepare($query);
@@ -2068,10 +2066,9 @@ sub taxes {
                    t.taxkey,
                    t.taxdescription,
                    round(t.rate * 100, 2) AS rate,
-                   c.accno AS taxnumber,
-                   c.description AS account_description
+                   (SELECT accno FROM chart WHERE id = chart_id) AS taxnumber,
+                   (SELECT description FROM chart WHERE id = chart_id) AS account_description
                  FROM tax t
-                 JOIN chart c on (chart_id = c.id)
                  ORDER BY taxkey|;
 
   $sth = $dbh->prepare($query);
@@ -2146,7 +2143,7 @@ sub get_tax {
 
   # see if it is used by a taxkey
   $query = qq|SELECT count(*) FROM taxkeys
-              WHERE tax_id = ?|;
+              WHERE tax_id = ? AND chart_id >0|;
 
   ($form->{orphaned}) = selectrow_query($form, $dbh, $query, $form->{id});
 
@@ -2156,8 +2153,8 @@ sub get_tax {
   if (!$form->{orphaned} ) {
     $query = qq|SELECT DISTINCT c.id, c.accno
                 FROM taxkeys tk
-                LEFT JOIN   tax t ON (t.id = tk.tax_id)
-                LEFT JOIN chart c ON (c.id = tk.chart_id)
+                JOIN   tax t ON (t.id = tk.tax_id)
+                JOIN chart c ON (c.id = tk.chart_id)
                 WHERE tk.tax_id = ?|;
 
     $sth = $dbh->prepare($query);
@@ -2187,7 +2184,7 @@ sub save_tax {
   $form->{rate} = $form->{rate} / 100;
 
   my @values = ($form->{taxkey}, $form->{taxdescription}, $form->{rate}, $form->{chart_id}, $form->{chart_id} );
-  if ($form->{id}) {
+  if ($form->{id} ne "") {
     $query = qq|UPDATE tax SET
                   taxkey         = ?,
                   taxdescription = ?,