<?php
-
+/**********************************************************************
+ Copyright (C) FrontAccounting, LLC.
+ Released under the terms of the GNU General Public License, GPL,
+ as published by the Free Software Foundation, either version 3
+ of the License, or (at your option) any later version.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
+***********************************************************************/
//-------------------------------------------------------------------------------------------------------------
function add_stock_adjustment($items, $location, $date_, $type, $increase, $reference, $memo_)
{
+ global $Refs;
+
begin_transaction();
+ $args = func_get_args();
+ $args = (object)array_combine(array('items', 'location', 'date_', 'type', 'increase',
+ 'reference', 'memo_'), $args);
+ $args->trans_no = 0;
+ hook_db_prewrite($args, ST_INVADJUST);
- $adj_id = get_next_trans_no(systypes::inventory_adjustment());
+ $adj_id = get_next_trans_no(ST_INVADJUST);
foreach ($items as $line_item)
{
$line_item->quantity, $line_item->standard_cost, $memo_);
}
- add_comments(systypes::inventory_adjustment(), $adj_id, $date_, $memo_);
+ add_comments(ST_INVADJUST, $adj_id, $date_, $memo_);
- references::save_last($reference, systypes::inventory_adjustment());
+ $Refs->save(ST_INVADJUST, $adj_id, $reference);
+ add_audit_trail(ST_INVADJUST, $adj_id, $date_);
+ $args->trans_no = $adj_id;
+ hook_db_postwrite($args, ST_INVADJUST);
commit_transaction();
return $adj_id;
function void_stock_adjustment($type_no)
{
- void_gl_trans(systypes::inventory_adjustment(), $type_no);
- void_stock_move(systypes::inventory_adjustment(), $type_no);
+ hook_db_prevoid(ST_INVADJUST, $type_no);
+
+ void_gl_trans(ST_INVADJUST, $type_no);
+ void_stock_move(ST_INVADJUST, $type_no);
}
//-------------------------------------------------------------------------------------------------------------
function get_stock_adjustment_items($trans_no)
{
- $result = get_stock_moves(systypes::inventory_adjustment(), $trans_no);
+ $result = get_stock_moves(ST_INVADJUST, $trans_no);
if (db_num_rows($result) == 0)
{
display_db_error("Cannot do inventory adjustment for Service item : $stock_id", "");
}
- add_stock_move(systypes::inventory_adjustment(), $stock_id, $adj_id, $location,
+ update_average_material_cost(null, $stock_id, $standard_cost, $quantity, $date_);
+
+ add_stock_move(ST_INVADJUST, $stock_id, $adj_id, $location,
$date_, $reference, $quantity, $standard_cost, $type);
if ($standard_cost > 0)
$stock_gl_codes = get_stock_gl_code($stock_id);
- add_gl_trans_std_cost(systypes::inventory_adjustment(), $adj_id, $date_,
+ add_gl_trans_std_cost(ST_INVADJUST, $adj_id, $date_,
$stock_gl_codes['adjustment_account'], $stock_gl_codes['dimension_id'], $stock_gl_codes['dimension2_id'], $memo_, ($standard_cost * -($quantity)));
- add_gl_trans_std_cost(systypes::inventory_adjustment(), $adj_id, $date_, $stock_gl_codes['inventory_account'], 0, 0, $memo_, ($standard_cost * $quantity));
+ add_gl_trans_std_cost(ST_INVADJUST, $adj_id, $date_, $stock_gl_codes['inventory_account'], 0, 0, $memo_, ($standard_cost * $quantity));
}
}