[Frontaccounting-cvs_updates] /hg/p/frontaccounting/mercurial: Fixed unexpected additional GL ...
Brought to you by:
frontaccounting,
itronics
From: FrontAccounting <fro...@us...> - 2014-05-21 12:23:57
|
details: http://frontaccounting.hg.sourceforge.net:8000/hgroot/frontaccounting/frontaccounting/hg/p/frontaccounting/mercurial/rev/874edaa38456 changeset: 3386:874edaa38456 user: Janusz Dobrowolski <ja...@fr...> date: Wed May 21 08:59:54 2014 +0200 description: Fixed unexpected additional GL postings when tax was used in Supplier Invoice additional GL lines. diffstat: purchasing/includes/supp_trans_class.inc | 30 +++++++++++++++++------------- purchasing/supplier_credit.php | 18 ++++++++++++++---- 2 files changed, 31 insertions(+), 17 deletions(-) diffs (105 lines): diff -r 09344872ae47 -r 874edaa38456 purchasing/includes/supp_trans_class.inc --- a/purchasing/includes/supp_trans_class.inc Wed May 21 08:58:03 2014 +0200 +++ b/purchasing/includes/supp_trans_class.inc Wed May 21 08:59:54 2014 +0200 @@ -121,23 +121,27 @@ $taxes = get_tax_for_items($items, $prices, $shipping_cost, $tax_group_id, $this->tax_included); - if ($gl_codes) - { - foreach ($this->gl_codes as $gl_code) - { - $index = is_tax_account($gl_code->gl_code); - if ($index !== false) - { - $taxes[$index]['Value'] += $gl_code->amount; - } - } - } - - if(isset($this->tax_overrides)) + if (isset($this->tax_overrides)) foreach($this->tax_overrides as $id => $value) // add values entered manually { $taxes[$id]['Override'] = $value; } + + // Taxes included in gl_codes table have exact value, but count to overrides as well. + // Therefore when we want to now taxes only for items (gl_codes==false), + // we have to subtract gl_taxes from override values. + foreach ($this->gl_codes as $gl_code) + { + $index = is_tax_account($gl_code->gl_code); + if ($index !== false) + { + if ($gl_codes) + $taxes[$index]['Value'] += $gl_code->amount; + elseif (isset($this->tax_overrides)) + $taxes[$index]['Override'] -= $gl_code->amount; + } + } + return $taxes; } // diff -r 09344872ae47 -r 874edaa38456 purchasing/supplier_credit.php --- a/purchasing/supplier_credit.php Wed May 21 08:58:03 2014 +0200 +++ b/purchasing/supplier_credit.php Wed May 21 08:59:54 2014 +0200 @@ -82,6 +82,15 @@ $Ajax->activate('gl_items'); set_focus('gl_code'); } + +function reset_tax_input() +{ + global $Ajax; + + unset($_POST['mantax']); + $Ajax->activate('inv_tot'); +} + //------------------------------------------------------------------------------------------------ // GL postings are often entered in the same form to two accounts // so fileds are cleared only on user demand. @@ -126,6 +135,7 @@ $_SESSION['supp_trans']->add_gl_codes_to_trans($_POST['gl_code'], $gl_act_name, $_POST['dimension_id'], $_POST['dimension2_id'], input_num('amount'), $_POST['memo_']); + reset_tax_input(); set_focus('gl_code'); } } @@ -297,7 +307,7 @@ { $_SESSION['supp_trans']->remove_grn_from_trans($id3); $Ajax->activate('grn_items'); - $Ajax->activate('inv_tot'); + reset_tax_input(); } $id4 = find_submit('Delete2'); @@ -305,13 +315,13 @@ { $_SESSION['supp_trans']->remove_gl_codes_from_trans($id4); clear_fields(); + reset_tax_input(); $Ajax->activate('gl_items'); - $Ajax->activate('inv_tot'); } if (isset($_POST['RefreshInquiry'])) { $Ajax->activate('grn_items'); - $Ajax->activate('inv_tot'); + reset_tax_input(); } if (isset($_POST['go'])) @@ -319,7 +329,7 @@ $Ajax->activate('gl_items'); display_quick_entries($_SESSION['supp_trans'], $_POST['qid'], input_num('totamount'), QE_SUPPINV); $_POST['totamount'] = price_format(0); $Ajax->activate('totamount'); - $Ajax->activate('inv_tot'); + reset_tax_input(); } |