[Fixes] Drop Shipping
diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py
index 94cddee..f666eed 100644
--- a/erpnext/controllers/status_updater.py
+++ b/erpnext/controllers/status_updater.py
@@ -37,6 +37,7 @@
["Completed", "eval:self.order_type == 'Maintenance' and self.per_billed == 100 and self.docstatus == 1"],
["Stopped", "eval:self.status=='Stopped'"],
["Cancelled", "eval:self.docstatus==2"],
+ ["Closed", "eval:self.status=='Closed'"],
],
"Purchase Order": [
["Draft", None],
@@ -210,6 +211,16 @@
def _update_percent_field(self, args):
"""Update percent field in parent transaction"""
unique_transactions = set([d.get(args['percent_join_field']) for d in self.get_all_children(args['source_dt'])])
+
+ args["drop_ship_cond"] = ''
+
+ if getattr(self, "drop_ship", None):
+ if self.drop_ship == 1:
+ args["drop_ship_cond"] = " and is_drop_ship=1 "
+
+ else:
+ if self.doctype=="Delivery Note":
+ args["drop_ship_cond"] = " and is_drop_ship!=1 "
for name in unique_transactions:
if not name:
@@ -223,7 +234,7 @@
set %(target_parent_field)s = round((select sum(if(%(target_ref_field)s >
ifnull(%(target_field)s, 0), %(target_field)s,
%(target_ref_field)s))/sum(%(target_ref_field)s)*100
- from `tab%(target_dt)s` where parent="%(name)s"), 2) %(set_modified)s
+ from `tab%(target_dt)s` where parent="%(name)s" %(drop_ship_cond)s), 2) %(set_modified)s
where name='%(name)s'""" % args)
# update field