X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gl%2Fincludes%2Fdb%2Fgl_db_trans.inc;h=ca7f01d96fc51fb4afc60a776724d647f6e0079a;hb=70c2dbcf463a5d500d15b8510c7f45e527a7fa53;hp=51a83e9518e72341629f43a106de62015356cf54;hpb=303eb17e9cdd9702eee9fdfcaee51e654a1da541;p=fa-stable.git diff --git a/gl/includes/db/gl_db_trans.inc b/gl/includes/db/gl_db_trans.inc index 51a83e95..ca7f01d9 100644 --- a/gl/includes/db/gl_db_trans.inc +++ b/gl/includes/db/gl_db_trans.inc @@ -331,13 +331,14 @@ function get_only_budget_trans_from_to($from_date, $to_date, $account, $dimensio //-------------------------------------------------------------------------------- // Stores journal/bank transaction tax details if applicable // -function add_gl_tax_details($gl_code, $trans_type, $trans_no, $amount, $ex_rate, $date, $memo) +function add_gl_tax_details($gl_code, $trans_type, $trans_no, $amount, $ex_rate, $date, $memo, $included=0) { $tax_type = is_tax_account($gl_code); if(!$tax_type) return; // $gl_code is not tax account $tax = get_tax_type($tax_type); - if ($gl_code == $tax['sales_gl_code']) + //if ($gl_code == $tax['sales_gl_code']) + if ($trans_type == ST_SALESINVOICE || $trans_type == ST_CUSTDELIVERY || $trans_type == ST_CUSTCREDIT) $amount = -$amount; // we have to restore net amount as we cannot know the base amount if ($tax['rate'] == 0) { @@ -349,7 +350,7 @@ function add_gl_tax_details($gl_code, $trans_type, $trans_no, $amount, $ex_rate, $net_amount = $amount/$tax['rate']*100; } - add_trans_tax_details($trans_type, $trans_no, $tax['id'], $tax['rate'], 0, + add_trans_tax_details($trans_type, $trans_no, $tax['id'], $tax['rate'], $included, $amount, $net_amount, $ex_rate, $date, $memo); } @@ -401,6 +402,17 @@ function void_trans_tax_details($type, $type_no) db_query($sql, "The transaction tax details could not be voided"); } +//---------------------------------------------------------------------------------------- + +function clear_trans_tax_details($type, $type_no) +{ + $sql = "DELETE FROM ".TB_PREF."trans_tax_details + WHERE trans_no=".db_escape($type_no) + ." AND trans_type=".db_escape($type); + + db_query($sql, "The transaction tax details could not be cleared"); +} + function get_tax_summary($from, $to) { $fromdate = date2sql($from); @@ -485,12 +497,11 @@ function write_journal_entries(&$cart, $reverse, $use_transaction=true) ST_JOURNAL, $trans_id, $journal_item->amount, 1, $date_, $memo_); } + $Refs->save($trans_type, $trans_id, $ref); if ($new) { add_comments($trans_type, $trans_id, $date_, $memo_); - $Refs->save($trans_type, $trans_id, $ref); } else { update_comments($trans_type, $trans_id, null, $memo_); - $Refs->update($trans_type, $trans_id, $ref); } add_audit_trail($trans_type, $trans_id, $date_); @@ -561,6 +572,22 @@ function void_gl_trans($type, $trans_id, $nested=false) commit_transaction(); } +//-------------------------------------------------------------------------------------------------- + +function clear_gl_trans($type, $trans_id, $nested=false) +{ + if (!$nested) + begin_transaction(); + + $sql = "DELETE FROM ".TB_PREF."gl_trans WHERE type=".db_escape($type) + ." AND type_no=".db_escape($trans_id); + + db_query($sql, "could not clear gl transactions for type=$type and trans_no=$trans_id"); + + if (!$nested) + commit_transaction(); +} + //---------------------------------------------------------------------------------------- function void_journal_trans($type, $type_no, $use_transaction=true) @@ -576,49 +603,8 @@ function void_journal_trans($type, $type_no, $use_transaction=true) commit_transaction(); } -function get_sql_for_journal_inquiry() +function get_sql_for_journal_inquiry($filter, $from, $to, $ref='', $memo='', $alsoclosed=false) { -/* - // Tom Hallman 11 Nov 2009 - // IF(gl.type = 1... statement is for deposits/payments that may not actually result - // in a deposit, such as when a fix is made. Without that statement (and the - // joining of the bank_trans table), the fix deposit/payment amount would show up - // incorrectly as only the positive side of the fix. - $sql = "SELECT IF(ISNULL(a.gl_seq),0,a.gl_seq) as gl_seq, - gl.tran_date, - gl.type, - gl.type_no, - refs.reference, - IF(gl.type = 1 OR gl.type = 2, - bank_trans.amount, - SUM(IF(gl.amount>0, gl.amount,0))) as amount, - com.memo_, - IF(ISNULL(u.user_id),'',u.user_id) as user_id - FROM ".TB_PREF."gl_trans as gl - LEFT JOIN ".TB_PREF."audit_trail as a ON - (gl.type=a.type AND gl.type_no=a.trans_no) - LEFT JOIN ".TB_PREF."comments as com ON - (gl.type=com.type AND gl.type_no=com.id) - LEFT JOIN ".TB_PREF."refs as refs ON - (gl.type=refs.type AND gl.type_no=refs.id) - LEFT JOIN ".TB_PREF."users as u ON - a.user=u.id - LEFT JOIN ".TB_PREF."bank_trans as bank_trans ON - (gl.type=bank_trans.type AND gl.type_no=bank_trans.trans_no) - WHERE gl.tran_date >= '" . date2sql($_POST['FromDate']) . "' - AND gl.tran_date <= '" . date2sql($_POST['ToDate']) . "' - AND gl.amount!=0"; - if (isset($_POST['Ref']) && $_POST['Ref'] != "") { - $sql .= " AND reference LIKE '%". $_POST['Ref'] . "%'"; - } - if (get_post('filterType') != -1) { - $sql .= " AND gl.type=".get_post('filterType'); - } - if (!check_value('AlsoClosed')) { - $sql .= " AND gl_seq=0"; - } - $sql .= " GROUP BY gl.type, gl.type_no"; -*/ $sql = "SELECT IF(ISNULL(a.gl_seq),0,a.gl_seq) as gl_seq, gl.tran_date, @@ -637,19 +623,19 @@ function get_sql_for_journal_inquiry() (gl.type=refs.type AND gl.type_no=refs.id) LEFT JOIN ".TB_PREF."users as u ON a.user=u.id - WHERE gl.tran_date >= '" . date2sql($_POST['FromDate']) . "' - AND gl.tran_date <= '" . date2sql($_POST['ToDate']) . "' + WHERE gl.tran_date >= '" . date2sql($from) . "' + AND gl.tran_date <= '" . date2sql($to) . "' AND gl.amount!=0"; - if (isset($_POST['Ref']) && $_POST['Ref'] != "") { - $sql .= " AND reference LIKE '%". $_POST['Ref'] . "%'"; + if ($ref) { + $sql .= " AND reference LIKE ". db_escape("%$ref%"); } - if (isset($_POST['Memo']) && $_POST['Memo'] != "") { - $sql .= " AND com.memo_ LIKE '%". $_POST['Memo'] . "%'"; + if ($memo) { + $sql .= " AND com.memo_ LIKE ". db_escape("%$memo%"); } - if (get_post('filterType') != -1) { - $sql .= " AND gl.type=".get_post('filterType'); + if ($filter != -1) { + $sql .= " AND gl.type=".db_escape($filter); } - if (!check_value('AlsoClosed')) { + if (!$alsoclosed) { $sql .= " AND gl_seq=0"; } $sql .= " GROUP BY gl.type, gl.type_no";