unset($_POST['amount']);
unset($_POST['memo_']);
unset($_POST['AddGLCodeToTrans']);
- $Ajax->activate('gl_ctrls');
+ $Ajax->activate('gl_items');
set_focus('gl_code');
}
//------------------------------------------------------------------------------------------------
return true;
}
-$id = find_submit('grn_item_id');
-if ($id != -1)
+function commit_item_data($n)
{
- if (check_item_data($id))
+ if (check_item_data($n))
{
- if (input_num('this_quantity_inv'.$id) >= ($_POST['qty_recd'.$id] - $_POST['prev_quantity_inv'.$id]))
+ if (input_num('this_quantity_inv'.$n) >= ($_POST['qty_recd'.$n] - $_POST['prev_quantity_inv'.$n]))
{
$complete = true;
}
$complete = false;
}
- $_SESSION['supp_trans']->add_grn_to_trans($id, $_POST['po_detail_item'.$id],
- $_POST['item_code'.$id], $_POST['item_description'.$id], $_POST['qty_recd'.$id],
- $_POST['prev_quantity_inv'.$id], input_num('this_quantity_inv'.$id),
- $_POST['order_price'.$id], input_num('ChgPrice'.$id), $complete,
- $_POST['std_cost_unit'.$id], "");
+ $_SESSION['supp_trans']->add_grn_to_trans($n, $_POST['po_detail_item'.$n],
+ $_POST['item_code'.$n], $_POST['item_description'.$n], $_POST['qty_recd'.$n],
+ $_POST['prev_quantity_inv'.$n], input_num('this_quantity_inv'.$n),
+ $_POST['order_price'.$n], input_num('ChgPrice'.$n), $complete,
+ $_POST['std_cost_unit'.$n], "");
}
}
-//--------------------------------------------------------------------------------------------------
-$id = find_submit('Delete');
+//-----------------------------------------------------------------------------------------
+
+$id = find_submit('grn_item_id');
if ($id != -1)
{
- $_SESSION['supp_trans']->remove_grn_from_trans($id);
+ commit_item_data($id);
+}
+
+if (isset($_POST['InvGRNAll']))
+{
+ foreach($_POST as $postkey=>$postval )
+ {
+ if (strpos($postkey, "qty_recd") === 0)
+ {
+ $id = substr($postkey, strlen("qty_recd"));
+ $id = (int)$id;
+ commit_item_data($id);
+ }
+ }
+}
+
+//--------------------------------------------------------------------------------------------------
+$id3 = find_submit('Delete');
+if ($id3 != -1)
+{
+ $_SESSION['supp_trans']->remove_grn_from_trans($id3);
$Ajax->activate('grn_items');
- $Ajax->activate('grn_table');
$Ajax->activate('inv_tot');
}
-$id = find_submit('Delete2');
-if ($id != -1)
+$id4 = find_submit('Delete2');
+if ($id4 != -1)
{
- $_SESSION['supp_trans']->remove_gl_codes_from_trans($id);
+ $_SESSION['supp_trans']->remove_gl_codes_from_trans($id4);
clear_fields();
$Ajax->activate('gl_items');
$Ajax->activate('inv_tot');
}
+if ($_SESSION["wa_current_user"]->access == 2)
+{
+ $id3 = find_submit('void_item_id');
+ if ($id3 != -1)
+ {
+ $js = "if(confirm(\""
+ .sprintf(_('You are about to remove all yet non-invoiced items from delivery line #%d. This operation also irreversibly changes related order line. Do you want to continue ?'), $id3)
+ ."\")) {
+ JsHttpRequest.request(\"void_confirm".$id3."\");
+ }";
+ $Ajax->addScript(true,$js);
+ }
+ $id2 = find_submit('void_confirm');
+ if ($id2 != -1) // Added section 2008-10-18 Joe Hunt for voiding delivery lines
+ {
+ begin_transaction();
+
+ $myrow = get_grn_item_detail($id2);
+
+ $grn = get_grn_batch($myrow['grn_batch_id']);
+
+ $sql = "UPDATE ".TB_PREF."purch_order_details
+ SET quantity_received = qty_invoiced, quantity_ordered = qty_invoiced WHERE po_detail_item = ".$myrow["po_detail_item"];
+ db_query($sql, "The quantity invoiced of the purchase order line could not be updated");
+
+ $sql = "UPDATE ".TB_PREF."grn_items
+ SET qty_recd = quantity_inv WHERE id = ".$myrow["id"];
+ db_query($sql, "The quantity invoiced off the items received record could not be updated");
+
+ update_average_material_cost($grn["supplier_id"], $myrow["item_code"],
+ $myrow["unit_price"], -$myrow["QtyOstdg"], Today());
+
+ add_stock_move(25, $myrow["item_code"], $myrow['grn_batch_id'], $grn['loc_code'], sql2date($grn["delivery_date"]), "",
+ -$myrow["QtyOstdg"], $myrow['std_cost_unit'], $grn["supplier_id"], 1, $myrow['unit_price']);
+
+ commit_transaction();
+ display_notification(sprintf(_('All yet non-invoiced items on delivery line # %d has been removed.'), $id2));
+
+ }
+}
+
start_form(false, true);
start_table("$table_style2 width=98%", 8);
end_table(); // outer table
//-----------------------------------------------------------------------------------------
-$id = find_submit('grn_item_id');
-$id2 = find_submit('void_item_id');
+
+
if ($id != -1 || $id2 != -1)
{
- $Ajax->activate('grn_table');
$Ajax->activate('grn_items');
$Ajax->activate('inv_tot');
}
if (get_post('AddGLCodeToTrans'))
$Ajax->activate('inv_tot');
-if ($_SESSION["wa_current_user"]->access == 2)
-{
- if ($id2 != -1) // Added section 2008-10-18 Joe Hunt for voiding delivery lines
- {
- begin_transaction();
-
- $myrow = get_grn_item_detail($id2);
-
- $grn = get_grn_batch($myrow['grn_batch_id']);
-
- $sql = "UPDATE ".TB_PREF."purch_order_details
- SET quantity_received = qty_invoiced, quantity_ordered = qty_invoiced WHERE po_detail_item = ".$myrow["po_detail_item"];
- db_query($sql, "The quantity invoiced of the purchase order line could not be updated");
-
- $sql = "UPDATE ".TB_PREF."grn_items
- SET qty_recd = quantity_inv WHERE id = ".$myrow["id"];
- db_query($sql, "The quantity invoiced off the items received record could not be updated");
-
- update_average_material_cost($grn["supplier_id"], $myrow["item_code"],
- $myrow["unit_price"], -$myrow["QtyOstdg"], Today());
-
- add_stock_move(25, $myrow["item_code"], $myrow['grn_batch_id'], $grn['loc_code'], sql2date($grn["delivery_date"]), "",
- -$myrow["QtyOstdg"], $myrow['std_cost_unit'], $grn["supplier_id"], 1, $myrow['unit_price']);
-
- commit_transaction();
- }
-}
-
echo "<br>";
submit_center('PostInvoice', _("Enter Invoice"), true, '', true);
echo "<br>";