fix: Set Product Bundle's Delivery Dates in SO as Bundle Items' Delivery Dates in PO
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index f190081..5d59aa1 100755
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -975,16 +975,21 @@
return doc
def set_delivery_date(items, sales_order):
+ delivery_dates = frappe.get_all(
+ 'Sales Order Item',
+ filters = {
+ 'parent': sales_order
+ },
+ fields = ['delivery_date', 'item_code']
+ )
+
+ delivery_by_item = frappe._dict()
+ for date in delivery_dates:
+ delivery_by_item[date.item_code] = date.delivery_date
+
for item in items:
if item.product_bundle:
- item.schedule_date = frappe.get_value(
- 'Sales Order Item',
- {
- 'parent': sales_order,
- 'item_code': item.product_bundle
- },
- 'delivery_date'
- )
+ item.schedule_date = delivery_by_item[item.product_bundle]
def is_product_bundle(item_code):
return frappe.db.exists('Product Bundle', item_code)