def _test_auto_material_request(self, item_code): item = frappe.get_doc("Item", item_code) if item.variant_of: template = frappe.get_doc("Item", item.variant_of) else: template = item # stock entry reqd for auto-reorder create_stock_reconciliation(item_code=item_code, warehouse="_Test Warehouse - _TC", qty=10, rate=100) frappe.db.set_value("Stock Settings", None, "auto_indent", 1) projected_qty = frappe.db.get_value("Bin", {"item_code": item_code, "warehouse": "_Test Warehouse - _TC"}, "projected_qty") or 0 # update re-level qty so that it is more than projected_qty if projected_qty > template.reorder_levels[0].warehouse_reorder_level: template.reorder_levels[0].warehouse_reorder_level += projected_qty template.save() from erpnext.stock.reorder_item import reorder_item mr_list = reorder_item() frappe.db.set_value("Stock Settings", None, "auto_indent", 0) items = [] for mr in mr_list: for d in mr.items: items.append(d.item_code) self.assertTrue(item_code in items)
def _test_auto_material_request(self, item_code): item = frappe.get_doc("Item", item_code) if item.variant_of: template = frappe.get_doc("Item", item.variant_of) else: template = item # stock entry reqd for auto-reorder create_stock_reconciliation(item_code=item_code, warehouse="_Test Warehouse - _TC", qty=10, rate=100) frappe.db.set_value("Stock Settings", None, "auto_indent", 1) projected_qty = frappe.db.get_value("Bin", {"item_code": item_code, "warehouse": "_Test Warehouse - _TC"}, "projected_qty") or 0 # update re-level qty so that it is more than projected_qty if projected_qty > template.reorder_levels[0].warehouse_reorder_level: template.reorder_levels[0].warehouse_reorder_level += projected_qty template.save() from erpnext.stock.reorder_item import reorder_item mr_list = reorder_item() frappe.db.set_value("Stock Settings", None, "auto_indent", 0) items = [] for mr in mr_list: for d in mr.items: items.append(d.item_code) self.assertTrue(item_code in items)
def _test_auto_material_request(self, item_code, material_request_type="Purchase", warehouse="_Test Warehouse - _TC"): variant = frappe.get_doc("Item", item_code) projected_qty, actual_qty = frappe.db.get_value("Bin", {"item_code": item_code, "warehouse": warehouse}, ["projected_qty", "actual_qty"]) or [0, 0] # stock entry reqd for auto-reorder create_stock_reconciliation(item_code=item_code, warehouse=warehouse, qty = actual_qty + abs(projected_qty) + 10, rate=100) projected_qty = frappe.db.get_value("Bin", {"item_code": item_code, "warehouse": warehouse}, "projected_qty") or 0 frappe.db.set_value("Stock Settings", None, "auto_indent", 1) # update re-level qty so that it is more than projected_qty if projected_qty >= variant.reorder_levels[0].warehouse_reorder_level: variant.reorder_levels[0].warehouse_reorder_level += projected_qty variant.reorder_levels[0].material_request_type = material_request_type variant.save() from erpnext.stock.reorder_item import reorder_item mr_list = reorder_item() frappe.db.set_value("Stock Settings", None, "auto_indent", 0) items = [] for mr in mr_list: for d in mr.items: items.append(d.item_code) self.assertTrue(item_code in items)
def _test_auto_material_request(self, item_code, material_request_type="Purchase", warehouse="_Test Warehouse - _TC"): variant = frappe.get_doc("Item", item_code) projected_qty, actual_qty = frappe.db.get_value("Bin", {"item_code": item_code, "warehouse": warehouse}, ["projected_qty", "actual_qty"]) or [0, 0] # stock entry reqd for auto-reorder create_stock_reconciliation(item_code=item_code, warehouse=warehouse, qty = actual_qty + abs(projected_qty) + 10, rate=100) projected_qty = frappe.db.get_value("Bin", {"item_code": item_code, "warehouse": warehouse}, "projected_qty") or 0 frappe.db.set_value("Stock Settings", None, "auto_indent", 1) # update re-level qty so that it is more than projected_qty if projected_qty >= variant.reorder_levels[0].warehouse_reorder_level: variant.reorder_levels[0].warehouse_reorder_level += projected_qty variant.reorder_levels[0].material_request_type = material_request_type variant.save() from erpnext.stock.reorder_item import reorder_item mr_list = reorder_item() frappe.db.set_value("Stock Settings", None, "auto_indent", 0) items = [] for mr in mr_list: for d in mr.items: items.append(d.item_code) self.assertTrue(item_code in items)