X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fincludes%2Fcart_class.inc;h=64a237f320aa824db88f3377e653e6615cbc7132;hb=84ebe8b3ebc1fc3e6508d75a4f39ce4a868b0b14;hp=6a014d5aba85425fbc9f5df77e3ef5b0461a165e;hpb=aed0d601bf245cda4ae5867b8c2f54925658644d;p=fa-stable.git diff --git a/sales/includes/cart_class.inc b/sales/includes/cart_class.inc index 6a014d5a..64a237f3 100644 --- a/sales/includes/cart_class.inc +++ b/sales/includes/cart_class.inc @@ -71,7 +71,8 @@ class cart var $payment; var $payment_terms; // cached payment terms var $credit; - + var $ex_rate; + //------------------------------------------------------------------------- // // $trans_no==0 => open new/direct document @@ -92,7 +93,28 @@ class cart $this->read($type, $trans_no, $prep_child); $this->cart_id = uniqid(''); } - + + /* + Optional sorting items by stock_id. + */ + function _cmp_lines($a, $b) + { + return strcmp($a->stock_id, $b->stock_id); + } + + /* + Returns items array optionally sorted by item code. + */ + function get_items() + { + global $sort_sales_items; + + $items = $this->line_items; + if (@$sort_sales_items) + uasort($items, array($this, '_cmp_lines')); + + return $items; + } // // Prepare cart to new child document entry, just after initial parent doc read. // @@ -104,6 +126,9 @@ class cart $this->trans_type = $type; $this->reference = $Refs->get_next($this->trans_type); + if ($type == ST_CUSTCREDIT) + $this->src_date = $this->document_date; + $this->document_date = new_doc_date(); for($line_no = 0; $line_no < count($this->line_items); $line_no++) { @@ -124,9 +149,6 @@ class cart $this->due_date = get_invoice_duedate($this->payment, $this->document_date); } - if ($type == ST_CUSTCREDIT) - $this->src_date = $this->document_date; - $this->src_docs = $this->trans_no; $this->trans_no = 0; }