mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-04 05:58:27 +00:00
Opening Balance row added to Stock Ledger Report
This commit is contained in:
@@ -9,8 +9,13 @@ def execute(filters=None):
|
|||||||
columns = get_columns()
|
columns = get_columns()
|
||||||
sl_entries = get_stock_ledger_entries(filters)
|
sl_entries = get_stock_ledger_entries(filters)
|
||||||
item_details = get_item_details(filters)
|
item_details = get_item_details(filters)
|
||||||
|
opening_row = get_opening_balance(filters, columns)
|
||||||
|
|
||||||
data = []
|
data = []
|
||||||
|
|
||||||
|
if opening_row:
|
||||||
|
data.append(opening_row)
|
||||||
|
|
||||||
for sle in sl_entries:
|
for sle in sl_entries:
|
||||||
item_detail = item_details[sle.item_code]
|
item_detail = item_details[sle.item_code]
|
||||||
|
|
||||||
@@ -40,7 +45,7 @@ def get_stock_ledger_entries(filters):
|
|||||||
where company = %(company)s and
|
where company = %(company)s and
|
||||||
posting_date between %(from_date)s and %(to_date)s
|
posting_date between %(from_date)s and %(to_date)s
|
||||||
{sle_conditions}
|
{sle_conditions}
|
||||||
order by posting_date desc, posting_time desc, name desc"""\
|
order by posting_date asc, posting_time asc, name asc"""\
|
||||||
.format(sle_conditions=get_sle_conditions(filters)), filters, as_dict=1)
|
.format(sle_conditions=get_sle_conditions(filters)), filters, as_dict=1)
|
||||||
|
|
||||||
def get_item_details(filters):
|
def get_item_details(filters):
|
||||||
@@ -73,3 +78,22 @@ def get_sle_conditions(filters):
|
|||||||
conditions.append("voucher_no=%(voucher_no)s")
|
conditions.append("voucher_no=%(voucher_no)s")
|
||||||
|
|
||||||
return "and {}".format(" and ".join(conditions)) if conditions else ""
|
return "and {}".format(" and ".join(conditions)) if conditions else ""
|
||||||
|
|
||||||
|
def get_opening_balance(filters, columns):
|
||||||
|
if not (filters.item_code and filters.warehouse and filters.from_date):
|
||||||
|
return
|
||||||
|
|
||||||
|
from erpnext.stock.stock_ledger import get_previous_sle
|
||||||
|
last_entry = get_previous_sle({
|
||||||
|
"item_code": filters.item_code,
|
||||||
|
"warehouse": filters.warehouse,
|
||||||
|
"posting_date": filters.from_date,
|
||||||
|
"posting_time": "00:00:00"
|
||||||
|
})
|
||||||
|
|
||||||
|
row = [""]*len(columns)
|
||||||
|
row[1] = _("'Opening'")
|
||||||
|
for i, v in ((9, 'qty_after_transaction'), (11, 'valuation_rate'), (12, 'stock_value')):
|
||||||
|
row[i] = last_entry.get(v, 0)
|
||||||
|
|
||||||
|
return row
|
||||||
Reference in New Issue
Block a user