def make_subcontract(): from erpnext.buying.doctype.purchase_order.purchase_order import make_stock_entry item_code = get_random("Item", {"is_sub_contracted_item": 1}) if item_code: # make sub-contract PO po = frappe.new_doc("Purchase Order") po.is_subcontracted = "Yes" po.supplier = get_random("Supplier") item_code = get_random("Item", {"is_sub_contracted_item": 1}) po.append("items", { "item_code": item_code, "schedule_date": frappe.utils.add_days(frappe.flags.current_date, 7), "qty": random.randint(10, 30) }) po.set_missing_values() try: po.insert() except InvalidCurrency: return po.submit() # make material request for make_material_request(po.items[0].item_code, po.items[0].qty) # transfer material for sub-contract stock_entry = frappe.get_doc(make_stock_entry(po.name, po.items[0].item_code)) stock_entry.from_warehouse = "Stores - WPL" stock_entry.to_warehouse = "Supplier - WPL" stock_entry.insert()
def make_subcontract(current_date): from erpnext.buying.doctype.purchase_order.purchase_order import make_stock_entry # make sub-contract PO po = frappe.new_doc("Purchase Order") po.is_subcontracted = "Yes" po.supplier = get_random("Supplier") po.append( "items", { "item_code": get_random("Item", {"is_sub_contracted_item": 1}), "schedule_date": frappe.utils.add_days(current_date, 7), "qty": 20 }) po.set_missing_values() try: po.insert() except InvalidCurrency: return po.submit() # make material request for make_material_request(current_date, po.items[0].item_code, po.items[0].qty) # transfer material for sub-contract stock_entry = frappe.get_doc( make_stock_entry(po.name, po.items[0].item_code)) stock_entry.from_warehouse = "Stores - WP" stock_entry.to_warehouse = "Supplier - WP" stock_entry.insert()
def make_subcontract(current_date): from erpnext.buying.doctype.purchase_order.purchase_order import make_stock_entry # make sub-contract PO po = frappe.new_doc("Purchase Order") po.is_subcontracted = "Yes" po.supplier = get_random("Supplier") po.append("items", { "item_code": get_random("Item", {"is_sub_contracted_item": "Yes"}), "schedule_date": frappe.utils.add_days(current_date, 7), "qty": 20 }) po.set_missing_values() po.insert() po.submit() # make material request for make_material_request(current_date, po.items[0].item_code, po.items[0].qty) # transfer material for sub-contract stock_entry = frappe.get_doc(make_stock_entry(po.name, po.items[0].item_code)) stock_entry.from_warehouse = "Stores - WP" stock_entry.to_warehouse = "Supplier - WP" stock_entry.insert()