diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js index 63de8789c1..b48fb20d6f 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js @@ -79,7 +79,8 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({ get_query_filters: { docstatus: 1, status: ["!=", "Closed"], - company: me.frm.doc.company + company: me.frm.doc.company, + is_return: 0 } }) }, __("Get items from")); diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js index f2357226cd..007afe4b63 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js @@ -142,11 +142,12 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte target: me.frm, date_field: "posting_date", setters: { - company: me.frm.doc.company + customer: me.frm.doc.customer || undefined }, get_query: function() { var filters = { docstatus: 1, + company: me.frm.doc.company }; if(me.frm.doc.customer) filters["customer"] = me.frm.doc.customer; return { diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py index 2f98e865bc..0fc08c1cc3 100644 --- a/erpnext/controllers/queries.py +++ b/erpnext/controllers/queries.py @@ -222,19 +222,21 @@ def get_project_name(doctype, txt, searchfield, start, page_len, filters): "_txt": txt.replace('%', '') }) -def get_delivery_notes_to_be_billed(doctype, txt, searchfield, start, page_len, filters): - return frappe.db.sql("""select `tabDelivery Note`.name, `tabDelivery Note`.customer_name +def get_delivery_notes_to_be_billed(doctype, txt, searchfield, start, page_len, filters, as_dict): + return frappe.db.sql(""" + select `tabDelivery Note`.name, `tabDelivery Note`.customer, `tabDelivery Note`.posting_date from `tabDelivery Note` where `tabDelivery Note`.`%(key)s` like %(txt)s and - `tabDelivery Note`.docstatus = 1 and status not in ("Stopped", "Closed") %(fcond)s + `tabDelivery Note`.docstatus = 1 and `tabDelivery Note`.is_return = 0 + and status not in ("Stopped", "Closed") %(fcond)s and (`tabDelivery Note`.per_billed < 100 or `tabDelivery Note`.grand_total = 0) %(mcond)s order by `tabDelivery Note`.`%(key)s` asc - limit %(start)s, %(page_len)s""" % { - "key": searchfield, - "fcond": get_filters_cond(doctype, filters, []), - "mcond": get_match_cond(doctype), - "start": "%(start)s", "page_len": "%(page_len)s", "txt": "%(txt)s" - }, { "start": start, "page_len": page_len, "txt": ("%%%s%%" % txt) }) + """ % { + "key": searchfield, + "fcond": get_filters_cond(doctype, filters, []), + "mcond": get_match_cond(doctype), + "txt": "%(txt)s" + }, { "txt": ("%%%s%%" % txt) }, as_dict=as_dict) def get_batch_no(doctype, txt, searchfield, start, page_len, filters): cond = ""