Journal Entry: cleanup in reconcillation status update during edition.
[fa-stable.git] / gl / includes / db / gl_db_trans.inc
index 55d1ccc427f6242363d15641b5a902202548b056..15e2c84a36f2f023e46454b2d84e8dd16bd89c2d 100644 (file)
@@ -17,7 +17,7 @@
 // if $currency is not set, then defaults to no conversion
 
 function add_gl_trans($type, $trans_id, $date_, $account, $dimension, $dimension2, $memo_,
-       $amount, $currency=null, $person_type_id=null, $person_id=null, $err_msg="", $rate=0)
+       $amount, $currency=null, $person_type_id=null, $person_id=null, $rate=0)
 {
        global $SysPrefs;
 
@@ -63,10 +63,7 @@ function add_gl_trans($type, $trans_id, $date_, $account, $dimension, $dimension
 
        $sql .= ") ";
 
-       if ($err_msg == "")
-               $err_msg = "The GL transaction could not be inserted";
-
-       db_query($sql, $err_msg);
+       db_query($sql, "The GL transaction could not be inserted");
        return $amount_in_home_currency;
 }
 
@@ -77,12 +74,12 @@ function add_gl_trans($type, $trans_id, $date_, $account, $dimension, $dimension
 // $amount is in HOME currency
 
 function add_gl_trans_std_cost($type, $trans_id, $date_, $account, $dimension, $dimension2,
-       $memo_, $amount, $person_type_id=null, $person_id=null, $err_msg="")
+       $memo_, $amount, $person_type_id=null, $person_id=null)
 {
 
        if ($amount != 0)
                return add_gl_trans($type, $trans_id, $date_, $account, $dimension, $dimension2, $memo_,
-                       $amount, null, $person_type_id, $person_id, $err_msg);
+                       $amount, null, $person_type_id, $person_id);
        else
                return 0;
 }
@@ -96,7 +93,7 @@ function add_gl_balance($type, $trans_id, $date_, $amount, $person_type_id=null,
        {
                error_log(sprintf( _("Rounding error %s encountered for trans_type:%s,trans_no:%s"), $amount, $type, $trans_id));
                return add_gl_trans($type, $trans_id, $date_, get_company_pref('exchange_diff_act'), 0, 0, "",
-                       $amount, null, $person_type_id, $person_id, "The balanced GL transaction could not be inserted");
+                       $amount, null, $person_type_id, $person_id);
        } else
                return 0;
 }
@@ -486,13 +483,15 @@ function add_trans_tax_details($trans_type, $trans_no, $tax_id, $rate, $included
 
 function get_trans_tax_details($trans_type, $trans_no)
 {
-    $sql = "SELECT tax_details.*, tax_type.name AS tax_type_name, tax_type.rate AS rate
-        FROM ".TB_PREF."trans_tax_details tax_details INNER JOIN 
-        ".TB_PREF."tax_types tax_type ON tax_type.id = tax_details.tax_type_id
+    $sql = "SELECT tax_details.*, SUM(tax_details.amount) amount, SUM(tax_details.net_amount) as net_amount,
+            tax_type.name AS tax_type_name, tax_type.rate AS rate
+        FROM ".TB_PREF."trans_tax_details tax_details
+         LEFT JOIN ".TB_PREF."tax_types tax_type ON tax_type.id = tax_details.tax_type_id
         WHERE 
                 trans_type = ".db_escape($trans_type)."
             AND trans_no = ".db_escape($trans_no)."
-            AND (net_amount != 0 OR amount != 0)";
+            AND (net_amount != 0 OR amount != 0)
+        GROUP BY tax_type_id";
 
     return db_query($sql, "The transaction tax details could not be retrieved");
 }