mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-06 13:49:13 +00:00
[fix] Reserved and ordered qty fix for drop ship orders
This commit is contained in:
@@ -6,14 +6,14 @@ def execute():
|
||||
|
||||
for item in purchase_order.items:
|
||||
if item.prevdoc_doctype == "Sales Order":
|
||||
delivered_by_supplier = frappe.get_value("Sales Order Item", {"parent": item.prevdoc_docname,
|
||||
"item_code": item.item_code}, "delivered_by_supplier")
|
||||
delivered_by_supplier = frappe.get_value("Sales Order Item", item.prevdoc_detail_docname,
|
||||
"delivered_by_supplier")
|
||||
|
||||
if delivered_by_supplier:
|
||||
frappe.db.set_value("Purchase Order Item", item.name, "delivered_by_supplier", 1)
|
||||
frappe.db.set_value("Purchase Order Item", item.name, "billed_amt", item.amount)
|
||||
frappe.db.set_value("Purchase Order Item", item.name, "received_qty", item.qty)
|
||||
|
||||
frappe.db.sql("""update `tabPurchase Order Item`
|
||||
set delivered_by_supplier=1, billed_amt=amount, received_qty=qty
|
||||
where name=%s """, item.name)
|
||||
|
||||
update_per_received(purchase_order)
|
||||
update_per_billed(purchase_order)
|
||||
|
||||
@@ -22,15 +22,15 @@ def update_per_received(po):
|
||||
set per_received = round((select sum(if(qty > ifnull(received_qty, 0),
|
||||
ifnull(received_qty, 0), qty)) / sum(qty) *100
|
||||
from `tabPurchase Order Item`
|
||||
where parent = "%(name)s"), 2)
|
||||
where name = "%(name)s" """ % po.as_dict())
|
||||
where parent = %(name)s), 2)
|
||||
where name = %(name)s """, {"name": po.name})
|
||||
|
||||
def update_per_billed(po):
|
||||
frappe.db.sql(""" update `tabPurchase Order`
|
||||
set per_billed = round((select sum( if(amount > ifnull(billed_amt, 0),
|
||||
ifnull(billed_amt, 0), amount)) / sum(amount) *100
|
||||
from `tabPurchase Order Item`
|
||||
where parent = "%(name)s"), 2)
|
||||
where name = "%(name)s" """ % po.as_dict())
|
||||
where parent = %(name)s), 2)
|
||||
where name = %(name)s """, {"name": po.name})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user