mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-13 06:31:48 +00:00
fix: guard against None row in get_stock_balance_for
row defaults to None but was dereferenced unconditionally when computing
the incoming rate for batch-tracked items, causing an AttributeError for
any caller (e.g. direct API calls) that omits row while still passing
batch_no. The other two row accesses in this function already guard
against None; this brings the incoming-rate check in line with them.
(cherry picked from commit f9d25bc3d3)
# Conflicts:
# erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
This commit is contained in:
@@ -1364,7 +1364,25 @@ def get_stock_balance_for(
|
||||
or 0
|
||||
)
|
||||
|
||||
<<<<<<< HEAD
|
||||
if row.use_serial_batch_fields and row.batch_no and (qty or row.current_qty):
|
||||
=======
|
||||
if has_serial_no:
|
||||
serial_no_details = get_available_serial_nos(
|
||||
frappe._dict(
|
||||
{
|
||||
"item_code": item_code,
|
||||
"warehouse": warehouse,
|
||||
"posting_datetime": combine_datetime(posting_date, posting_time),
|
||||
"ignore_warehouse": 1,
|
||||
"has_batch_no": 1,
|
||||
}
|
||||
)
|
||||
)
|
||||
serial_nos = "\n".join(d.serial_no for d in serial_no_details if d.batch_no == batch_no)
|
||||
|
||||
if row and row.use_serial_batch_fields and row.batch_no and (qty or row.current_qty):
|
||||
>>>>>>> f9d25bc3d3 (fix: guard against None row in get_stock_balance_for)
|
||||
rate = get_incoming_rate(
|
||||
frappe._dict(
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user