fix: remove empty dn from bulk creation if date filter renders them empty
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 66b803c..776605b 100755
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -1010,6 +1010,11 @@
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 f8b9aaa..3538c24 100644
--- a/erpnext/utilities/bulk_transaction.py
+++ b/erpnext/utilities/bulk_transaction.py
@@ -156,9 +156,12 @@
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