function add_gl_balance($type, $trans_id, $date_, $amount, $person_type_id=null, $person_id=null)
{
$amount = round2($amount, user_price_dec());
- if ($amount != 0)
+
+ if (floatcmp($amount, 0))
+ {
+ 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");
- else
+ } else
return 0;
-}
+}
//--------------------------------------------------------------------------------
." || (trans_type=".ST_JOURNAL ." AND amount<0)"
." || trans_type=".ST_CUSTCREDIT.", amount*ex_rate,0)) payable,
- SUM(IF(trans_type=".ST_CUSTCREDIT." || trans_type=".ST_SUPPINVOICE.",-1,1)*
+ SUM(IF(trans_type=".ST_CUSTCREDIT." || trans_type=".ST_SUPPINVOICE." || trans_type=".ST_JOURNAL.",-1,1)*
IF(trans_type=".ST_BANKDEPOSIT." || trans_type=".ST_SALESINVOICE
." || (trans_type=".ST_JOURNAL ." AND amount<0)"
." || trans_type=".ST_CUSTCREDIT.", 0, net_amount*ex_rate)) net_input,
- SUM(IF(trans_type=".ST_CUSTCREDIT." || trans_type=".ST_SUPPINVOICE.",-1,1)*
+ SUM(IF(trans_type=".ST_CUSTCREDIT." || trans_type=".ST_SUPPINVOICE." || trans_type=".ST_JOURNAL.",-1,1)*
IF(trans_type=".ST_BANKDEPOSIT." || trans_type=".ST_SALESINVOICE
." || (trans_type=".ST_JOURNAL ." AND amount<0)"
." || trans_type=".ST_CUSTCREDIT.", 0, amount*ex_rate)) collectible,
function get_sql_for_journal_inquiry($filter, $from, $to, $ref='', $memo='', $alsoclosed=false)
{
- $sql = "SELECT IF(ISNULL(a.gl_seq),0,a.gl_seq) as gl_seq,
+ $sql = "SELECT IFNULL(a.gl_seq,0) as gl_seq,
gl.tran_date,
gl.type,
gl.type_no,
if (!$alsoclosed) {
$sql .= " AND gl_seq=0";
}
- $sql .= " GROUP BY gl.type, gl.type_no";
+ $sql .= " GROUP BY gl.tran_date, a.gl_seq, gl.type, gl.type_no";
return $sql;
}
?>
\ No newline at end of file