From 865540d97499c698d4e128cd3840c4f5f9e101af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francisco=20Rold=C3=A1n?= Date: Tue, 20 Aug 2024 09:56:17 -0300 Subject: [PATCH] =?UTF-8?q?Auto=20asignaci=C3=B3n=20de=20Vendedor=20(#863)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: auto asignacion vendedor * fix: dupp --- erpnext/accounts/party.py | 19 +++++++++++++++---- .../doctype/sales_person/sales_person.js | 9 +++++++++ .../doctype/sales_person/sales_person.json | 10 +++++++++- 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py index 6def5bf57b0f..4d28b0c11266 100644 --- a/erpnext/accounts/party.py +++ b/erpnext/accounts/party.py @@ -85,10 +85,21 @@ def _get_party_details(party=None, account=None, party_type="Customer", company= # sales team if party_type=="Customer": - party_details["sales_team"] = [{ - "sales_person": d.sales_person, - "allocated_percentage": d.allocated_percentage or None - } for d in party.get("sales_team")] + sales_persons = [] + party_details["sales_team"] = [] + for d in party.get("sales_team"): + sales_persons.append(d.sales_person) + party_details["sales_team"].append({ + "sales_person": d.sales_person, + "allocated_percentage": d.allocated_percentage or None + }) + + for d in frappe.get_all("Sales Person", {"user": frappe.session.user}, pluck="name"): + if d not in sales_persons: + party_details["sales_team"].append({ + "sales_person":d, + "allocated_percentage": 100 + }) # supplier tax withholding category if party_type == "Supplier" and party: diff --git a/erpnext/setup/doctype/sales_person/sales_person.js b/erpnext/setup/doctype/sales_person/sales_person.js index b71a92f8a98e..5361bbdcb34a 100644 --- a/erpnext/setup/doctype/sales_person/sales_person.js +++ b/erpnext/setup/doctype/sales_person/sales_person.js @@ -19,6 +19,15 @@ frappe.ui.form.on('Sales Person', { } }; + frm.set_query("user", function(doc) { + return { + filters: { + "enabled": 1, + "user_type": "System User" + } + }; + }); + frm.make_methods = { 'Sales Order': () => frappe.new_doc("Sales Order") .then(() => frm.add_child("sales_team", {"sales_person": frm.doc.name})) diff --git a/erpnext/setup/doctype/sales_person/sales_person.json b/erpnext/setup/doctype/sales_person/sales_person.json index ca94bb3195c2..a3241008723e 100644 --- a/erpnext/setup/doctype/sales_person/sales_person.json +++ b/erpnext/setup/doctype/sales_person/sales_person.json @@ -17,6 +17,7 @@ "enabled", "cb0", "employee", + "user", "department", "lft", "rgt", @@ -139,13 +140,20 @@ "oldfieldname": "target_details", "oldfieldtype": "Table", "options": "Target Detail" + }, + { + "description": "Esto autoasignar\u00e1 al vendedor en las transacci\u00f3nes", + "fieldname": "user", + "fieldtype": "Link", + "label": "User", + "options": "User" } ], "icon": "icon-user", "idx": 1, "is_tree": 1, "links": [], - "modified": "2021-05-13 21:02:44.461588", + "modified": "2024-08-16 10:34:56.363159", "modified_by": "Administrator", "module": "Setup", "name": "Sales Person",