diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py index 66b803cce81..776605b1126 100755 --- a/erpnext/selling/doctype/sales_order/sales_order.py +++ b/erpnext/selling/doctype/sales_order/sales_order.py @@ -1010,6 +1010,11 @@ def make_delivery_note(source_name, target_doc=None, kwargs=None): for idx, item in enumerate(target_doc.items): item.idx = idx + 1 + if not kwargs.skip_item_mapping and frappe.flags.bulk_transaction and not target_doc.items: + # the (date) condition filter resulted in an unintendedly created empty DN; remove it + del target_doc + return + # Should be called after mapping items. set_missing_values(so, target_doc) diff --git a/erpnext/utilities/bulk_transaction.py b/erpnext/utilities/bulk_transaction.py index f8b9aaa768f..3538c24aeba 100644 --- a/erpnext/utilities/bulk_transaction.py +++ b/erpnext/utilities/bulk_transaction.py @@ -156,9 +156,12 @@ def task(doc_name, from_doctype, to_doctype): else: obj = mapper[from_doctype][to_doctype](doc_name) - obj.flags.ignore_validate = True - obj.set_title_field() - obj.insert(ignore_mandatory=True) + if obj: + obj.flags.ignore_validate = True + obj.set_title_field() + obj.insert(ignore_mandatory=True) + + del obj del frappe.flags.bulk_transaction