Skip to content

Commit 0fa8cc7

Browse files
Merge pull request #53602 from frappe/mergify/bp/version-15/pr-53600
fix: incorrect sle calculation when doc has project (backport #53599) (backport #53600)
2 parents c912df9 + 9e10dec commit 0fa8cc7

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
@@ -686,6 +686,7 @@ def get_opening_balance(filters, columns, sl_entries, inv_dimension_wise_value=N
686686
"posting_time": "00:00:00",
687687
"project": project,
688688
},
689+
for_report=True,
689690
)
690691

691692
# 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
@@ -1766,7 +1766,7 @@ def get_previous_sle_of_current_voucher(args, operator="<", exclude_current_vouc
17661766
return sle[0] if sle else frappe._dict()
17671767

17681768

1769-
def get_previous_sle(args, for_update=False, extra_cond=None):
1769+
def get_previous_sle(args, for_update=False, extra_cond=None, for_report=False):
17701770
"""
17711771
get the last sle on or before the current time-bucket,
17721772
to get actual qty before transaction, this function
@@ -1782,7 +1782,7 @@ def get_previous_sle(args, for_update=False, extra_cond=None):
17821782
"""
17831783
args["name"] = args.get("sle", None) or ""
17841784
sle = get_stock_ledger_entries(
1785-
args, "<=", "desc", "limit 1", for_update=for_update, extra_cond=extra_cond
1785+
args, "<=", "desc", "limit 1", for_update=for_update, extra_cond=extra_cond, for_report=for_report
17861786
)
17871787
return sle and sle[0] or {}
17881788

@@ -1796,6 +1796,7 @@ def get_stock_ledger_entries(
17961796
debug=False,
17971797
check_serial_no=True,
17981798
extra_cond=None,
1799+
for_report=False,
17991800
):
18001801
"""get stock ledger entries filtered by specific posting datetime conditions"""
18011802
conditions = f" and posting_datetime {operator} %(posting_datetime)s"
@@ -1850,7 +1851,7 @@ def get_stock_ledger_entries(
18501851
if extra_cond:
18511852
conditions += f"{extra_cond}"
18521853

1853-
if previous_sle.get("project"):
1854+
if for_report and previous_sle.get("project"):
18541855
conditions += " and project = %(project)s"
18551856

18561857
# nosemgrep

0 commit comments

Comments
 (0)