frappe / erpnext

Free and Open Source Enterprise Resource Planning (ERP)
https://erpnext.com
GNU General Public License v3.0
19.73k stars 7k forks source link

Stock Balance Error #40173

Closed nakul80 closed 3 months ago

nakul80 commented 6 months ago

Information about bug

Cant run Stock Balance report with Stock Ageing option ticked

Module

stock

Version

ERPNext: v15.14.0 (HEAD) Frappe Framework: v15.14.0 (HEAD) India Compliance: v15.5.1 (HEAD)

Installation method

FrappeCloud

Relevant log output / Stack trace / Full Error Message.

Traceback with variables (most recent call last):
File "apps/frappe/frappe/core/doctype/prepared_report/prepared_report.py", line 111, in generate_report
result = generate_report_result(report=report, filters=instance.filters, user=instance.owner)
prepared_report = 'd70f5f8e60'
instance = <PreparedReport: d70f5f8e60>
report = <Report: Stock Balance>
File "apps/frappe/frappe/__init__.py", line 863, in wrapper_fn
retval = fn(*args, **get_newargs(fn, kwargs))
args = ()
kwargs = {'report': <Report: Stock Balance>, 'filters': '{"company":"iThinker LLP","from_date":"2024-01-28","item_group":"Firewall & Other Access Control","show_stock_ageing_data":1,"to_date":"2024-02-28","valuation_field_type":"Currency"}', 'user': 'Administrator'}
switched_connection = False
fn = <function generate_report_result at 0x7f6360487d80>
File "apps/frappe/frappe/desk/query_report.py", line 81, in generate_report_result
res = get_report_result(report, filters) or []
report = <Report: Stock Balance>
filters = {'company': 'iThinker LLP', 'from_date': '2024-01-28', 'item_group': 'Firewall & Other Access Control', 'show_stock_ageing_data': 1, 'to_date': '2024-02-28', 'valuation_field_type': 'Currency'}
user = 'Administrator'
custom_columns = None
is_tree = False
parent_field = None
File "apps/frappe/frappe/desk/query_report.py", line 62, in get_report_result
res = report.execute_script_report(filters)
report = <Report: Stock Balance>
filters = {'company': 'iThinker LLP', 'from_date': '2024-01-28', 'item_group': 'Firewall & Other Access Control', 'show_stock_ageing_data': 1, 'to_date': '2024-02-28', 'valuation_field_type': 'Currency'}
res = None
File "apps/frappe/frappe/core/doctype/report/report.py", line 162, in execute_script_report
res = self.execute_module(filters)
self = <Report: Stock Balance>
filters = {'company': 'iThinker LLP', 'from_date': '2024-01-28', 'item_group': 'Firewall & Other Access Control', 'show_stock_ageing_data': 1, 'to_date': '2024-02-28', 'valuation_field_type': 'Currency'}
threshold = 15
res = []
start_time = datetime.datetime(2024, 2, 28, 5, 40, 16, 498026)
File "apps/frappe/frappe/core/doctype/report/report.py", line 179, in execute_module
return frappe.get_attr(method_name)(frappe._dict(filters))
self = <Report: Stock Balance>
filters = {'company': 'iThinker LLP', 'from_date': '2024-01-28', 'item_group': 'Firewall & Other Access Control', 'show_stock_ageing_data': 1, 'to_date': '2024-02-28', 'valuation_field_type': 'Currency'}
module = 'Stock'
method_name = 'erpnext.stock.report.stock_balance.stock_balance.execute'
File "apps/erpnext/erpnext/stock/report/stock_balance/stock_balance.py", line 39, in execute
return StockBalanceReport(filters).run()
filters = {'company': 'iThinker LLP', 'from_date': '2024-01-28', 'item_group': 'Firewall & Other Access Control', 'show_stock_ageing_data': 1, 'to_date': '2024-02-28', 'valuation_field_type': 'Currency', 'show_warehouse_wise_stock': True}
File "apps/erpnext/erpnext/stock/report/stock_balance/stock_balance.py", line 66, in run
self.prepare_new_data()
self = <erpnext.stock.report.stock_balance.stock_balance.StockBalanceReport object at 0x7f636011bb50>
File "apps/erpnext/erpnext/stock/report/stock_balance/stock_balance.py", line 97, in prepare_new_data
item_wise_fifo_queue = FIFOSlots(self.filters, self.sle_entries).generate()
self = <erpnext.stock.report.stock_balance.stock_balance.StockBalanceReport object at 0x7f636011bb50>
File "apps/erpnext/erpnext/stock/report/stock_ageing/stock_ageing.py", line 248, in generate
self.__compute_incoming_stock(d, fifo_queue, transferred_item_key, serial_nos)
self = <erpnext.stock.report.stock_ageing.stock_ageing.FIFOSlots object at 0x7f635b973fd0>
d = {'item_code': 'RUIJIE SWITCH RG-NBS3100-24GT4SFP-P', 'warehouse': 'Stores - ITK', 'posting_date': datetime.date(2024, 2, 21), 'actual_qty': 30.0, 'valuation_rate': 23776.404516129, 'company': 'iThinker LLP', 'voucher_type': 'Purchase Invoice', 'qty_after_transaction': 31.0, 'stock_value_difference': 714000.0, 'name': 'RUIJIE SWITCH RG-NBS3100-24GT4SFP-P', 'voucher_no': 'PI-2402038', 'stock_value': 737068.54, 'batch_no': None, 'serial_no': None, 'item_group': 'Firewall & Other Access Control', 'stock_uom': 'Nos', 'item_name': 'RUIJIE SWITCH RG-NBS3100-24GT4SFP-P'}
key = ********
fifo_queue = [['G1RU52A019414', datetime.date(2023, 6, 24)]]
transferred_item_key = ********
serial_nos = []
File "apps/erpnext/erpnext/stock/report/stock_ageing/stock_ageing.py", line 287, in __compute_incoming_stock
fifo_queue[0][0] += flt(row.actual_qty)
self = <erpnext.stock.report.stock_ageing.stock_ageing.FIFOSlots object at 0x7f635b973fd0>
row = {'item_code': 'RUIJIE SWITCH RG-NBS3100-24GT4SFP-P', 'warehouse': 'Stores - ITK', 'posting_date': datetime.date(2024, 2, 21), 'actual_qty': 30.0, 'valuation_rate': 23776.404516129, 'company': 'iThinker LLP', 'voucher_type': 'Purchase Invoice', 'qty_after_transaction': 31.0, 'stock_value_difference': 714000.0, 'name': 'RUIJIE SWITCH RG-NBS3100-24GT4SFP-P', 'voucher_no': 'PI-2402038', 'stock_value': 737068.54, 'batch_no': None, 'serial_no': None, 'item_group': 'Firewall & Other Access Control', 'stock_uom': 'Nos', 'item_name': 'RUIJIE SWITCH RG-NBS3100-24GT4SFP-P'}
fifo_queue = [['G1RU52A019414', datetime.date(2023, 6, 24)]]
transfer_key = ********
serial_nos = []
transfer_data = []
builtins.TypeError: can only concatenate str (not "float") to str
rohitwaghchaure commented 3 months ago

@nakul80 We have fixed this issue, kindly pull the latest update and check