diff --git a/erpnext/accounts/deferred_revenue.py b/erpnext/accounts/deferred_revenue.py index cd34bf7f850..a88764cf1b2 100644 --- a/erpnext/accounts/deferred_revenue.py +++ b/erpnext/accounts/deferred_revenue.py @@ -58,7 +58,7 @@ def build_conditions(process_type, account, company): ) if account: - conditions += f"AND {deferred_account}='{frappe.db.escape(account)}'" + conditions += f"AND {deferred_account}={frappe.db.escape(account)}" elif company: conditions += f"AND p.company = {frappe.db.escape(company)}" diff --git a/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py b/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py index a183a5ee6aa..23dee2985b8 100644 --- a/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py +++ b/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py @@ -389,7 +389,9 @@ def split_invoices(invoices): if not item.serial_no: continue - return_against_is_added = any(d for d in _invoices if d.pos_invoice == pos_invoice.return_against) + return_against_is_added = any( + d for d in _invoices if d and d[0].pos_invoice == pos_invoice.return_against + ) if return_against_is_added: break diff --git a/erpnext/stock/doctype/serial_no/serial_no.js b/erpnext/stock/doctype/serial_no/serial_no.js index 88ed7abe2bd..b12bbbdb27c 100644 --- a/erpnext/stock/doctype/serial_no/serial_no.js +++ b/erpnext/stock/doctype/serial_no/serial_no.js @@ -18,3 +18,21 @@ cur_frm.cscript.onload = function () { frappe.ui.form.on("Serial No", "refresh", function (frm) { frm.toggle_enable("item_code", frm.doc.__islocal); }); + +frappe.ui.form.on("Serial No", { + refresh(frm) { + frm.trigger("view_ledgers"); + }, + + view_ledgers(frm) { + frm.add_custom_button(__("View Ledgers"), () => { + frappe.route_options = { + item_code: frm.doc.item_code, + serial_no: frm.doc.name, + posting_date: frappe.datetime.now_date(), + posting_time: frappe.datetime.now_time(), + }; + frappe.set_route("query-report", "Serial No Ledger"); + }); + }, +}); diff --git a/erpnext/stock/report/serial_no_ledger/serial_no_ledger.js b/erpnext/stock/report/serial_no_ledger/serial_no_ledger.js index 6c2c17db52c..6ba2b0ec634 100644 --- a/erpnext/stock/report/serial_no_ledger/serial_no_ledger.js +++ b/erpnext/stock/report/serial_no_ledger/serial_no_ledger.js @@ -45,8 +45,16 @@ frappe.query_reports["Serial No Ledger"] = { { label: __("As On Date"), fieldtype: "Date", + reqd: 1, fieldname: "posting_date", default: frappe.datetime.get_today(), }, + { + label: __("Posting Time"), + fieldtype: "Time", + reqd: 1, + fieldname: "posting_time", + default: frappe.datetime.now_time(), + }, ], }; diff --git a/erpnext/templates/pages/projects.py b/erpnext/templates/pages/projects.py index e3e26fc82a6..787c7c0069b 100644 --- a/erpnext/templates/pages/projects.py +++ b/erpnext/templates/pages/projects.py @@ -51,7 +51,7 @@ def get_tasks(project, start=0, search=None, item_status=None): "parent_task", ], limit_start=start, - limit_page_length=10, + limit_page_length=100, ) task_nest = [] for task in tasks: