Skip to content

Commit 9a8f61e

Browse files
Merge pull request #53603 from frappe/mergify/bp/version-16/pr-53601
fix: incorrect sle calculation when doc has project (backport #53599) (backport #53601)
2 parents 955f98c + 9a46aa3 commit 9a8f61e

2 files changed

Lines changed: 5 additions & 3 deletions

File tree

erpnext/stock/report/stock_ledger/stock_ledger.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -689,6 +689,7 @@ def get_opening_balance(filters, columns, sl_entries, inv_dimension_wise_value=N
689689
"posting_time": "00:00:00",
690690
"project": project,
691691
},
692+
for_report=True,
692693
)
693694

694695
# check if any SLEs are actually Opening Stock Reconciliation

erpnext/stock/stock_ledger.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1781,7 +1781,7 @@ def get_previous_sle_of_current_voucher(args, operator="<", exclude_current_vouc
17811781
return sle[0] if sle else frappe._dict()
17821782

17831783

1784-
def get_previous_sle(args, for_update=False, extra_cond=None):
1784+
def get_previous_sle(args, for_update=False, extra_cond=None, for_report=False):
17851785
"""
17861786
get the last sle on or before the current time-bucket,
17871787
to get actual qty before transaction, this function
@@ -1797,7 +1797,7 @@ def get_previous_sle(args, for_update=False, extra_cond=None):
17971797
"""
17981798
args["name"] = args.get("sle", None) or ""
17991799
sle = get_stock_ledger_entries(
1800-
args, "<=", "desc", "limit 1", for_update=for_update, extra_cond=extra_cond
1800+
args, "<=", "desc", "limit 1", for_update=for_update, extra_cond=extra_cond, for_report=for_report
18011801
)
18021802
return sle and sle[0] or {}
18031803

@@ -1811,6 +1811,7 @@ def get_stock_ledger_entries(
18111811
debug=False,
18121812
check_serial_no=True,
18131813
extra_cond=None,
1814+
for_report=False,
18141815
):
18151816
"""get stock ledger entries filtered by specific posting datetime conditions"""
18161817
conditions = f" and posting_datetime {operator} %(posting_datetime)s"
@@ -1865,7 +1866,7 @@ def get_stock_ledger_entries(
18651866
if extra_cond:
18661867
conditions += f"{extra_cond}"
18671868

1868-
if previous_sle.get("project"):
1869+
if for_report and previous_sle.get("project"):
18691870
conditions += " and project = %(project)s"
18701871

18711872
# nosemgrep

0 commit comments

Comments
 (0)