5 include_once($path_to_root . "/purchasing/includes/supp_trans_class.inc");
7 include_once($path_to_root . "/includes/session.inc");
9 include_once($path_to_root . "/purchasing/includes/purchasing_ui.inc");
10 include_once($path_to_root . "/purchasing/includes/purchasing_db.inc");
12 page(_("Select Received Items to Add"));
15 if (!isset($_SESSION['supp_trans']))
17 display_note("To enter supplier transactions the supplier must first be selected from the supplier selection screen, then the link to enter a supplier credit note must be clicked on.", 1, 0);;
21 //-----------------------------------------------------------------------------------------
23 display_heading($_SESSION['supp_trans']->supplier_name);
27 //-----------------------------------------------------------------------------------------
31 global $check_price_charged_vs_order_price,
32 $check_qty_charged_vs_del_qty;
33 if (!is_numeric($_POST['this_quantity_inv']))
35 display_error( _("The quantity to invoice must be numeric."));
39 if ($_POST['this_quantity_inv'] <= 0)
41 display_error( _("The quantity to invoice must be greater than zero."));
45 if (!is_numeric($_POST['ChgPrice']))
47 display_error( _("The price is not numeric."));
51 if ($check_price_charged_vs_order_price == True)
53 if ($_POST['ChgPrice']/$_POST['order_price'] >
54 (1 + (sys_prefs::over_charge_allowance() / 100)))
56 display_error(_("The price being invoiced is more than the purchase order price by more than the allowed over-charge percentage. The system is set up to prohibit this. See the system administrator to modify the set up parameters if necessary.") .
57 _("The over-charge percentage allowance is :") . sys_prefs::over_charge_allowance() . "%");
62 if ($check_qty_charged_vs_del_qty == True)
64 if ($_POST['this_quantity_inv'] / ($_POST['qty_recd'] - $_POST['prev_quantity_inv']) >
65 (1+ (sys_prefs::over_charge_allowance() / 100)))
67 display_error( _("The quantity being invoiced is more than the outstanding quantity by more than the allowed over-charge percentage. The system is set up to prohibit this. See the system administrator to modify the set up parameters if necessary.")
68 . _("The over-charge percentage allowance is :") . sys_prefs::over_charge_allowance() . "%");
76 //-----------------------------------------------------------------------------------------
78 if (isset($_POST['AddGRNToTrans']))
83 if ($_POST['this_quantity_inv'] >= ($_POST['qty_recd'] - $_POST['prev_quantity_inv']))
92 //$_SESSION['supp_trans']->add_grn_to_trans($_POST['GRNNumber'], $_POST['po_detail_item'],
93 // $_POST['item_code'], $_POST['item_description'], $_POST['qty_recd'],
94 // $_POST['prev_quantity_inv'], $_POST['this_quantity_inv'],
95 // $_POST['order_price'], $_POST['ChgPrice'], $complete,
96 // $_POST['std_cost_unit'], $_POST['gl_code']);
97 $_SESSION['supp_trans']->add_grn_to_trans($_POST['GRNNumber'], $_POST['po_detail_item'],
98 $_POST['item_code'], $_POST['item_description'], $_POST['qty_recd'],
99 $_POST['prev_quantity_inv'], $_POST['this_quantity_inv'],
100 $_POST['order_price'], $_POST['ChgPrice'], $complete,
101 $_POST['std_cost_unit'], "");
105 //-----------------------------------------------------------------------------------------
107 if (isset($_GET['Delete']))
109 $_SESSION['supp_trans']->remove_grn_from_trans($_GET['Delete']);
112 //-----------------------------------------------------------------------------------------
114 display_grn_items($_SESSION['supp_trans'], 1);
117 hyperlink_no_params("$path_to_root/purchasing/supplier_invoice.php", _("Back to Supplier Invoice Entry"));
120 //-----------------------------------------------------------------------------------------
122 function display_grn_items_for_selection()
126 $result = get_grn_items(0, $_SESSION['supp_trans']->supplier_id, true);
128 if (db_num_rows($result) == 0)
130 display_note(_("There are no outstanding items received from this supplier that have not been invoiced by them."), 0, 1);
135 /*Set up a table to show the outstanding GRN items for selection */
136 start_form(false, true);
138 display_heading2(_("Items Received Yet to be Invoiced"));
140 start_table("$table_style colspan=7 width=95%");
141 $th = array(_("Delivery"), _("Sequence #"), _("P.O."), _("Item"), _("Description"),
142 _("Received On"), _("Quantity Received"), _("Quantity Invoiced"),
143 _("Uninvoiced Quantity"), _("Order Price"), _("Total"));
147 while ($myrow = db_fetch($result))
150 $grn_already_on_invoice = False;
152 foreach ($_SESSION['supp_trans']->grn_items as $entered_grn)
154 if ($entered_grn->id == $myrow["id"])
156 $grn_already_on_invoice = True;
159 if ($grn_already_on_invoice == False)
162 alt_table_row_color($k);
164 label_cell(get_trans_view_str(25, $myrow["grn_batch_id"]));
165 //text_cells(null, 'grn_item_id', $myrow["id"]);
166 submit_cells('grn_item_id', $myrow["id"]);
167 label_cell(get_trans_view_str(systypes::po(), $myrow["purch_order_no"]));
168 label_cell($myrow["item_code"]);
169 label_cell($myrow["description"]);
170 label_cell(sql2date($myrow["delivery_date"]));
171 qty_cell($myrow["qty_recd"]);
172 qty_cell($myrow["quantity_inv"]);
173 qty_cell($myrow["qty_recd"] - $myrow["quantity_inv"]);
174 amount_cell($myrow["unit_price"]);
175 amount_cell($myrow["unit_price"] * ($myrow["qty_recd"] - $myrow["quantity_inv"]));
190 //-----------------------------------------------------------------------------------------
192 display_grn_items_for_selection();
194 //-----------------------------------------------------------------------------------------
196 if (isset($_POST['grn_item_id']) && $_POST['grn_item_id'] != "")
199 $myrow = get_grn_item_detail($_POST['grn_item_id']);
202 display_heading2(_("Delivery Item Selected For Adding To A Supplier Invoice"));
203 start_table("$table_style width=80%");
204 $th = array(_("Sequence #"), _("Item"), _("Description"), _("Quantity Outstanding"),
205 _("Quantity to Invoice"), _("Order Price"), _("Actual Price"));
209 label_cell($_POST['grn_item_id']);
210 label_cell($myrow['item_code']);
211 label_cell($myrow['description']);
212 qty_cell($myrow['QtyOstdg']);
213 text_cells(null, 'this_quantity_inv', $myrow['QtyOstdg'], 13, 15);
214 amount_cell($myrow['unit_price']);
215 text_cells(null, 'ChgPrice', $myrow['unit_price'], 13, 15);
219 submit_center('AddGRNToTrans', _("Add to Invoice"));
221 hidden('GRNNumber', $_POST['grn_item_id']);
222 hidden('item_code', $myrow['item_code']);
223 hidden('item_description', $myrow['description']);;
224 hidden('qty_recd', $myrow['qty_recd']);
225 hidden('prev_quantity_inv', $myrow['quantity_inv']);
226 hidden('order_price', $myrow['unit_price']);
227 hidden('std_cost_unit', $myrow['std_cost_unit']);
229 hidden('po_detail_item', $myrow['po_detail_item']);
232 //----------------------------------------------------------------------------------------