X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fui%2Fitems_cart.inc;h=7de50277ff2d9fcc40104c0d0365064c8451f800;hb=c6a369c46e88601885080d716a43a9274a2f1275;hp=858b05be6d337c1dbdd629ea6896c6233ea04c6f;hpb=fd069bba86276f15311ff6ab10b22d4a06a55513;p=fa-stable.git diff --git a/includes/ui/items_cart.inc b/includes/ui/items_cart.inc index 858b05be..7de50277 100644 --- a/includes/ui/items_cart.inc +++ b/includes/ui/items_cart.inc @@ -40,7 +40,7 @@ class items_cart var $fixed_asset; - function items_cart($type, $trans_no=0) + function __construct($type, $trans_no=0) { $this->trans_type = $type; $this->order_id = $trans_no; @@ -101,7 +101,7 @@ class items_cart $low_stock = array(); - if (!$SysPrefs->allow_negative_stock() || is_fixed_asset($line_item->mb_flag)) + if (!$SysPrefs->allow_negative_stock()) { foreach ($this->line_items as $line_no => $line_item) if (has_stock_holding($line_item->mb_flag) || is_fixed_asset($line_item->mb_flag)) @@ -144,8 +144,8 @@ class items_cart $this->gl_items[$index]->code_id = $code_id; $this->gl_items[$index]->person_id = $person_id; - $gl_type = is_subledger_account($code_id, $person_id); - if ($gl_type) + $gl_type = is_subledger_account($code_id); + if ($person_id != null && $gl_type) { $this->gl_items[$index]->person_type_id = $gl_type > 0 ? PT_CUSTOMER : PT_SUPPLIER; $data = get_subaccount_data($code_id, $person_id); @@ -224,7 +224,7 @@ class items_cart { foreach ($this->gl_items as $gl_item) { - if ($gl_item->person_id) + if (is_subledger_account($gl_item->code_id)) return true; } return false; @@ -263,7 +263,7 @@ class items_cart foreach($this->gl_items as $gl) { - if ($person_type = is_subledger_account($gl->code_id, $gl->person_id)) + if ($person_type = is_subledger_account($gl->code_id)) { $tax_info['person_type'] = $person_type < 0 ? PT_SUPPLIER : PT_CUSTOMER; $tax_info['person_id'] = $gl->person_id; @@ -299,7 +299,7 @@ class items_cart // we can have both input and output tax postings in some cases like intra-EU trade. // so just calculate net_amount from the higher in/out tax $tax_info['net_amount'][$tax_id] - = $sign*round2(max(abs(@$tax_info['tax_in'][$tax_id]), abs(@$tax_info['tax_out'][$tax_id]))/$tax_type['rate']*100, 2)/$factor; + = $sign*round2(max(abs(@$tax_info['tax_in'][$tax_id]), abs(@$tax_info['tax_out'][$tax_id]))/$tax_type['rate']*100, user_price_dec())/$factor; } } else @@ -309,7 +309,7 @@ class items_cart if (!isset($tax_info['tax_reg']) && isset($tax_info['person_type'])) $tax_info['tax_reg'] = $tax_info['person_type']==PT_CUSTOMER ? TR_OUTPUT : TR_INPUT; - if (count(@$tax_info['net_amount'])) // guess exempt sales/purchase if any tax has been found + if (count_array(@$tax_info['net_amount'])) // guess exempt sales/purchase if any tax has been found { $ex_net = abs($net_sum) - @array_sum($tax_info['net_amount']); if ($ex_net != 0) @@ -407,7 +407,7 @@ class items_cart foreach($cust_trans as $branch_id => $amount) if (floatcmp($amount, 0)) write_cust_journal($this->trans_type, $this->order_id, $branch_id, $this->tran_date, - $this->reference, -$amount, $this->rate); + $this->reference, $amount, $this->rate); // update AP foreach($supp_trans as $supp_id => $amount) if (floatcmp($amount, 0)) @@ -465,7 +465,7 @@ class line_item var $price; var $standard_cost; - function line_item ($stock_id, $qty, $standard_cost=null, $description=null) + function __construct($stock_id, $qty, $standard_cost=null, $description=null) { $item_row = get_item($stock_id); @@ -481,7 +481,7 @@ class line_item $this->item_description = $description; if ($standard_cost == null) - $this->standard_cost = $item_row["actual_cost"]; + $this->standard_cost = $item_row["purchase_cost"]; else $this->standard_cost = $standard_cost; @@ -509,7 +509,7 @@ class gl_item var $branch_id; var $date; - function gl_item($code_id=null, $dimension_id=0, $dimension2_id=0, $amount=0, $memo='', + function __construct($code_id=null, $dimension_id=0, $dimension2_id=0, $amount=0, $memo='', $act_descr=null, $person_id=null, $date=null) { //echo "adding $index, $code_id, $dimension_id, $amount, $reference
"; @@ -521,8 +521,8 @@ class gl_item $this->code_id = $code_id; $this->person_id = $person_id; - $gl_type = is_subledger_account($code_id, $person_id); - if ($gl_type) + $gl_type = is_subledger_account($code_id); + if ($person_id != null && $gl_type) { $this->person_type_id = $gl_type > 0 ? PT_CUSTOMER : PT_SUPPLIER; $data = get_subaccount_data($code_id, $person_id); @@ -531,7 +531,7 @@ class gl_item } $this->dimension_id = $dimension_id; $this->dimension2_id = $dimension2_id; - $this->amount = round($amount, 2); + $this->amount = round2($amount, user_price_dec()); $this->reference = $memo; $this->date = $date; }