X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=purchasing%2Fincludes%2Fpo_class.inc;h=3d340c7815ac2605a589128ce748db2b50c892a9;hb=9502b1b3fc30a8b12c647f7e024e8b8da6a50af6;hp=6ee90e1183ba0c04a06f254825f255f3b76af2c2;hpb=d7bad8234ae701d84e132bb57b19814badd8b6c9;p=fa-stable.git diff --git a/purchasing/includes/po_class.inc b/purchasing/includes/po_class.inc index 6ee90e11..3d340c78 100644 --- a/purchasing/includes/po_class.inc +++ b/purchasing/includes/po_class.inc @@ -15,18 +15,18 @@ class purch_order { - var $supplier_id; - - var $line_items; /*array of objects of class line_details using the product id as the pointer */ + var $trans_type; // order/grn/invoice (direct) + var $line_items; var $curr_code; - var $requisition_no; + var $supp_ref; var $delivery_address; var $Comments; var $Location; + var $supplier_id; var $supplier_name; var $orig_order_date; var $order_no; /*Only used for modification of existing orders otherwise only established when order committed */ - var $lines_on_order; + var $lines_on_order = 0; var $reference; @@ -41,19 +41,22 @@ class purch_order { if ($qty != 0 && isset($qty)) { - $this->line_items[$line_no] = new line_details($line_no, $stock_id, $item_descr, $qty, $price, $uom, $req_del_date, $qty_inv, $qty_recd); + $this->line_items[$line_no] = new line_details($line_no, $stock_id, $item_descr, $qty, $price, $uom, + $req_del_date, $qty_inv, $qty_recd); $this->lines_on_order++; return 1; } return 0; } - function update_order_item($line_no, $qty, $price, $req_del_date) + function update_order_item($line_no, $qty, $price, $req_del_date, $description="") { + if ($description != "") + $this->line_items[$line_no]->item_description = $description; $this->line_items[$line_no]->quantity = $qty; $this->line_items[$line_no]->price = $price; $this->line_items[$line_no]->req_del_date = $req_del_date; - $this->line_items[$line_no]->price = $price; + $this->line_items[$line_no]->item_description = $description; } function remove_from_order($line_no) @@ -112,32 +115,47 @@ class line_details var $line_no; var $po_detail_rec; + var $grn_item_id; var $stock_id; var $item_description; - var $quantity; var $price; var $units; var $req_del_date; - var $qty_inv; - var $qty_received; + + var $quantity; // current/entry quantity of PO line + var $qty_inv; // quantity already invoiced against this line + var $receive_qty; // current/entry GRN quantity + var $qty_received; // quantity already received against this line + var $standard_cost; - var $receive_qty; - - function line_details($line_no, $stock_item, $item_descr, $qty, $prc, $uom, $req_del_date, $qty_inv, $qty_recd) + var $descr_editable; + + function line_details($line_no, $stock_item, $item_descr, $qty, $prc, $uom, $req_del_date, + $qty_inv, $qty_recd, $grn_item_id=0) { /* Constructor function to add a new LineDetail object with passed params */ $this->line_no = $line_no; $this->stock_id = $stock_item; - $this->item_description = $item_descr; + $item_row = get_item($stock_item); + if (!$item_row) + return; + + $this->descr_editable = $item_row["editable"]; + if ($item_descr == null || !$this->descr_editable) + $this->item_description = $item_row["description"]; + else + $this->item_description = $item_descr; $this->quantity = $qty; $this->req_del_date = $req_del_date; $this->price = $prc; - $this->units = $uom; +// $this->units = $uom; + $this->units = $item_row["units"]; $this->qty_received = $qty_recd; $this->qty_inv = $qty_inv; $this->receive_qty = 0; /*initialise these last two only */ $this->standard_cost =0; + $this->grn_item_id = $grn_item_id; } }