Merge pull request #16446 from Zlash65/jv-fix
fix(accounts): wrong filters sent to fetch reference name in Journal Entry
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.js b/erpnext/accounts/doctype/journal_entry/journal_entry.js
index 60c974f..0aa62d5 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.js
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.js
@@ -145,6 +145,13 @@
};
}
+ // payroll entry
+ if(jvd.reference_type==="Payroll Entry") {
+ return {
+ query: "erpnext.hr.doctype.payroll_entry.payroll_entry.get_payroll_entries_for_jv",
+ };
+ }
+
var out = {
filters: [
[jvd.reference_type, "docstatus", "=", 1]
@@ -167,10 +174,18 @@
out.filters.push([jvd.reference_type, "per_billed", "<", 100]);
}
-
+
if(jvd.party_type && jvd.party) {
- out.filters.push([jvd.reference_type,
- (jvd.reference_type.indexOf("Sales")===0 ? "customer" : "supplier"), "=", jvd.party]);
+ var party_field = "";
+ if(jvd.reference_type.indexOf("Sales")===0) {
+ var party_field = "customer";
+ } else if (jvd.reference_type.indexOf("Purchase")===0) {
+ var party_field = "supplier";
+ }
+
+ if (party_field) {
+ out.filters.push([jvd.reference_type, party_field, "=", jvd.party]);
+ }
}
return out;
diff --git a/erpnext/hr/doctype/payroll_entry/payroll_entry.py b/erpnext/hr/doctype/payroll_entry/payroll_entry.py
index c9d6290..7345095 100644
--- a/erpnext/hr/doctype/payroll_entry/payroll_entry.py
+++ b/erpnext/hr/doctype/payroll_entry/payroll_entry.py
@@ -525,3 +525,16 @@
response['submitted'] = 1 if bank_entries else 0
return response
+
+def get_payroll_entries_for_jv(doctype, txt, searchfield, start, page_len, filters):
+ return frappe.db.sql("""
+ select name from `tabPayroll Entry`
+ where `{key}` LIKE %(txt)s
+ and name not in
+ (select reference_name from `tabJournal Entry Account`
+ where reference_type="Payroll Entry")
+ order by name limit %(start)s, %(page_len)s"""
+ .format(key=searchfield), {
+ 'txt': "%%%s%%" % frappe.db.escape(txt),
+ 'start': start, 'page_len': page_len
+ })