fix: do not empty serial batch fields (backport #39948) (#39956)

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:
mergify[bot] 2024-02-19 10:45:28 +05:30 committed by Mergify
parent fd76847cfa
commit 2db79cdf3b
7 changed files with 11 additions and 11 deletions

View File

@ -162,6 +162,9 @@ class StockController(AccountsController):
from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
from erpnext.stock.serial_batch_bundle import SerialBatchCreation
if self.get("_action") == "update_after_submit":
return
# To handle test cases
if frappe.flags.in_test and frappe.flags.use_serial_and_batch_fields:
return
@ -219,7 +222,6 @@ class StockController(AccountsController):
row.db_set(
{
"rejected_serial_and_batch_bundle": sn_doc.name,
"rejected_serial_no": "",
}
)
else:
@ -227,8 +229,6 @@ class StockController(AccountsController):
row.db_set(
{
"serial_and_batch_bundle": sn_doc.name,
"serial_no": "",
"batch_no": "",
}
)

View File

@ -368,7 +368,7 @@ erpnext.buying = {
let update_values = {
"serial_and_batch_bundle": r.name,
"qty": qty
"qty": qty / flt(item.conversion_factor || 1, precision("conversion_factor", item))
}
if (r.warehouse) {
@ -408,7 +408,7 @@ erpnext.buying = {
let update_values = {
"serial_and_batch_bundle": r.name,
"rejected_qty": qty
"rejected_qty": qty / flt(item.conversion_factor || 1, precision("conversion_factor", item))
}
if (r.warehouse) {

View File

@ -339,7 +339,7 @@ erpnext.sales_common = {
frappe.model.set_value(item.doctype, item.name, {
"serial_and_batch_bundle": r.name,
"qty": qty
"qty": qty / flt(item.conversion_factor || 1, precision("conversion_factor", item))
});
}
}

View File

@ -330,7 +330,7 @@ frappe.ui.form.on('Pick List Item', {
let qty = Math.abs(r.total_qty);
frappe.model.set_value(item.doctype, item.name, {
"serial_and_batch_bundle": r.name,
"qty": qty
"qty": qty / flt(item.conversion_factor || 1, precision("conversion_factor", item))
});
}
}

View File

@ -2222,7 +2222,7 @@ class TestPurchaseReceipt(FrappeTestCase):
)
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)
sbb_doc = frappe.get_doc("Serial and Batch Bundle", pr.items[0].serial_and_batch_bundle)

View File

@ -1178,7 +1178,7 @@ erpnext.stock.select_batch_and_serial_no = (frm, item) => {
if (r) {
frappe.model.set_value(item.doctype, item.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))
});
}
}

View File

@ -1766,7 +1766,7 @@ class TestStockEntry(FrappeTestCase):
)
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)
for serial_no in serial_nos:
@ -1784,7 +1784,7 @@ class TestStockEntry(FrappeTestCase):
se1.reload()
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)
for serial_no in serial_nos: