fix(ux): skip items without batch series
This commit is contained in:
parent
91fd9d917a
commit
941ea1ec74
@ -2,7 +2,7 @@
|
||||
# License: GNU General Public License v3. See license.txt
|
||||
|
||||
import frappe
|
||||
from frappe.tests.utils import FrappeTestCase, timeout
|
||||
from frappe.tests.utils import FrappeTestCase, change_settings, timeout
|
||||
from frappe.utils import add_days, add_months, cint, flt, now, today
|
||||
|
||||
from erpnext.manufacturing.doctype.job_card.job_card import JobCardCancelError
|
||||
@ -976,6 +976,28 @@ class TestWorkOrder(FrappeTestCase):
|
||||
frappe.db.set_value("Manufacturing Settings", None,
|
||||
"backflush_raw_materials_based_on", "BOM")
|
||||
|
||||
@change_settings("Manufacturing Settings", {"make_serial_no_batch_from_work_order": 1})
|
||||
def test_auto_batch_creation(self):
|
||||
from erpnext.manufacturing.doctype.bom.test_bom import create_nested_bom
|
||||
|
||||
fg_item = frappe.generate_hash(length=20)
|
||||
child_item = frappe.generate_hash(length=20)
|
||||
|
||||
bom_tree = {fg_item: {child_item: {}}}
|
||||
|
||||
create_nested_bom(bom_tree, prefix="")
|
||||
|
||||
item = frappe.get_doc("Item", fg_item)
|
||||
item.has_batch_no = 1
|
||||
item.create_new_batch = 0
|
||||
item.save()
|
||||
|
||||
try:
|
||||
make_wo_order_test_record(item=fg_item)
|
||||
except frappe.MandatoryError:
|
||||
self.fail("Batch generation causing failing in Work Order")
|
||||
|
||||
|
||||
def update_job_card(job_card, jc_qty=None):
|
||||
employee = frappe.db.get_value('Employee', {'status': 'Active'}, 'name')
|
||||
job_card_doc = frappe.get_doc('Job Card', job_card)
|
||||
|
@ -333,6 +333,14 @@ class WorkOrder(Document):
|
||||
if not self.batch_size:
|
||||
self.batch_size = total_qty
|
||||
|
||||
batch_auto_creation = frappe.get_cached_value("Item", self.production_item, "create_new_batch")
|
||||
if not batch_auto_creation:
|
||||
frappe.msgprint(
|
||||
_("Batch not created for item {} since it does not have a batch series.")
|
||||
.format(frappe.bold(self.production_item)),
|
||||
alert=True, indicator="orange")
|
||||
return
|
||||
|
||||
while total_qty > 0:
|
||||
qty = self.batch_size
|
||||
if self.batch_size >= total_qty:
|
||||
|
Loading…
x
Reference in New Issue
Block a user