fix: do not empty serial batch fields (#39948) (cherry picked from commit a4cbfabe0ee4c8fca3ac654e6b3fe3db8b551334) Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com> (cherry picked from commit acd2e93f8cd4873f6e6f88b620f3308801e8f31a)
This commit is contained in:
parent
fd76847cfa
commit
2db79cdf3b
@ -162,6 +162,9 @@ class StockController(AccountsController):
|
|||||||
from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
|
from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
|
||||||
from erpnext.stock.serial_batch_bundle import SerialBatchCreation
|
from erpnext.stock.serial_batch_bundle import SerialBatchCreation
|
||||||
|
|
||||||
|
if self.get("_action") == "update_after_submit":
|
||||||
|
return
|
||||||
|
|
||||||
# To handle test cases
|
# To handle test cases
|
||||||
if frappe.flags.in_test and frappe.flags.use_serial_and_batch_fields:
|
if frappe.flags.in_test and frappe.flags.use_serial_and_batch_fields:
|
||||||
return
|
return
|
||||||
@ -219,7 +222,6 @@ class StockController(AccountsController):
|
|||||||
row.db_set(
|
row.db_set(
|
||||||
{
|
{
|
||||||
"rejected_serial_and_batch_bundle": sn_doc.name,
|
"rejected_serial_and_batch_bundle": sn_doc.name,
|
||||||
"rejected_serial_no": "",
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
@ -227,8 +229,6 @@ class StockController(AccountsController):
|
|||||||
row.db_set(
|
row.db_set(
|
||||||
{
|
{
|
||||||
"serial_and_batch_bundle": sn_doc.name,
|
"serial_and_batch_bundle": sn_doc.name,
|
||||||
"serial_no": "",
|
|
||||||
"batch_no": "",
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -368,7 +368,7 @@ erpnext.buying = {
|
|||||||
|
|
||||||
let update_values = {
|
let update_values = {
|
||||||
"serial_and_batch_bundle": r.name,
|
"serial_and_batch_bundle": r.name,
|
||||||
"qty": qty
|
"qty": qty / flt(item.conversion_factor || 1, precision("conversion_factor", item))
|
||||||
}
|
}
|
||||||
|
|
||||||
if (r.warehouse) {
|
if (r.warehouse) {
|
||||||
@ -408,7 +408,7 @@ erpnext.buying = {
|
|||||||
|
|
||||||
let update_values = {
|
let update_values = {
|
||||||
"serial_and_batch_bundle": r.name,
|
"serial_and_batch_bundle": r.name,
|
||||||
"rejected_qty": qty
|
"rejected_qty": qty / flt(item.conversion_factor || 1, precision("conversion_factor", item))
|
||||||
}
|
}
|
||||||
|
|
||||||
if (r.warehouse) {
|
if (r.warehouse) {
|
||||||
|
@ -339,7 +339,7 @@ erpnext.sales_common = {
|
|||||||
|
|
||||||
frappe.model.set_value(item.doctype, item.name, {
|
frappe.model.set_value(item.doctype, item.name, {
|
||||||
"serial_and_batch_bundle": r.name,
|
"serial_and_batch_bundle": r.name,
|
||||||
"qty": qty
|
"qty": qty / flt(item.conversion_factor || 1, precision("conversion_factor", item))
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -330,7 +330,7 @@ frappe.ui.form.on('Pick List Item', {
|
|||||||
let qty = Math.abs(r.total_qty);
|
let qty = Math.abs(r.total_qty);
|
||||||
frappe.model.set_value(item.doctype, item.name, {
|
frappe.model.set_value(item.doctype, item.name, {
|
||||||
"serial_and_batch_bundle": r.name,
|
"serial_and_batch_bundle": r.name,
|
||||||
"qty": qty
|
"qty": qty / flt(item.conversion_factor || 1, precision("conversion_factor", item))
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2222,7 +2222,7 @@ class TestPurchaseReceipt(FrappeTestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(pr.items[0].use_serial_batch_fields, 1)
|
self.assertEqual(pr.items[0].use_serial_batch_fields, 1)
|
||||||
self.assertFalse(pr.items[0].serial_no)
|
self.assertTrue(pr.items[0].serial_no)
|
||||||
self.assertTrue(pr.items[0].serial_and_batch_bundle)
|
self.assertTrue(pr.items[0].serial_and_batch_bundle)
|
||||||
|
|
||||||
sbb_doc = frappe.get_doc("Serial and Batch Bundle", pr.items[0].serial_and_batch_bundle)
|
sbb_doc = frappe.get_doc("Serial and Batch Bundle", pr.items[0].serial_and_batch_bundle)
|
||||||
|
@ -1178,7 +1178,7 @@ erpnext.stock.select_batch_and_serial_no = (frm, item) => {
|
|||||||
if (r) {
|
if (r) {
|
||||||
frappe.model.set_value(item.doctype, item.name, {
|
frappe.model.set_value(item.doctype, item.name, {
|
||||||
"serial_and_batch_bundle": r.name,
|
"serial_and_batch_bundle": r.name,
|
||||||
"qty": Math.abs(r.total_qty)
|
"qty": Math.abs(r.total_qty) / flt(item.conversion_factor || 1, precision("conversion_factor", item))
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1766,7 +1766,7 @@ class TestStockEntry(FrappeTestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
self.assertTrue(se.items[0].use_serial_batch_fields)
|
self.assertTrue(se.items[0].use_serial_batch_fields)
|
||||||
self.assertFalse(se.items[0].serial_no)
|
self.assertTrue(se.items[0].serial_no)
|
||||||
self.assertTrue(se.items[0].serial_and_batch_bundle)
|
self.assertTrue(se.items[0].serial_and_batch_bundle)
|
||||||
|
|
||||||
for serial_no in serial_nos:
|
for serial_no in serial_nos:
|
||||||
@ -1784,7 +1784,7 @@ class TestStockEntry(FrappeTestCase):
|
|||||||
se1.reload()
|
se1.reload()
|
||||||
|
|
||||||
self.assertTrue(se1.items[0].use_serial_batch_fields)
|
self.assertTrue(se1.items[0].use_serial_batch_fields)
|
||||||
self.assertFalse(se1.items[0].serial_no)
|
self.assertTrue(se1.items[0].serial_no)
|
||||||
self.assertTrue(se1.items[0].serial_and_batch_bundle)
|
self.assertTrue(se1.items[0].serial_and_batch_bundle)
|
||||||
|
|
||||||
for serial_no in serial_nos:
|
for serial_no in serial_nos:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user