Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[13.0] sale_commission_pricelist - sale_commission_salesman error #274

Closed
mlramos opened this issue Dec 29, 2020 · 0 comments · Fixed by #294
Closed

[13.0] sale_commission_pricelist - sale_commission_salesman error #274

mlramos opened this issue Dec 29, 2020 · 0 comments · Fixed by #294

Comments

@mlramos
Copy link

mlramos commented Dec 29, 2020

Reproduced in runbot

Steps followed:

  1. Install sale_commission_pricelist and sale_commission_salesman
  2. In the administrator contact (Mitchel Admin) check "Agent" in the "Sales & Purchase" tab.
  3. Check "Convert salesman into agent" in the "Agent Information" tab.
  4. In a pricelist add two new product lines and add to each one the commission (different commissions)
  5. Create sales order (Commercial: Mitchel Admin; Pricelist: the pricelist mentioned in the previous point). Add two order lines: the first with product "FURN_6666", the second with product "E-COM11".

When you add the second order line the following error appears
Odoo Server Error
Traceback (most recent call last):
File "/.repo_requirements/odoo/odoo/api.py", line 745, in get
value = self._data[field][record._ids[0]]
KeyError:

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/.repo_requirements/odoo/odoo/fields.py", line 1004, in get
value = env.cache.get(record, self)
File "/.repo_requirements/odoo/odoo/api.py", line 751, in get
raise CacheMiss(record, field)
odoo.exceptions.CacheMiss: ("sale.order.line(,).agent_ids", None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/.repo_requirements/odoo/odoo/models.py", line 5096, in ensure_one
_id, = self._ids
ValueError: too many values to unpack (expected 1)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/.repo_requirements/odoo/odoo/http.py", line 624, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/.repo_requirements/odoo/odoo/http.py", line 310, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/.repo_requirements/odoo/odoo/tools/pycompat.py", line 14, in reraise
raise value
File "/.repo_requirements/odoo/odoo/http.py", line 669, in dispatch
result = self._call_function(**self.params)
File "/.repo_requirements/odoo/odoo/http.py", line 350, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/.repo_requirements/odoo/odoo/service/model.py", line 94, in wrapper
return f(dbname, *args, **kwargs)
File "/.repo_requirements/odoo/odoo/http.py", line 339, in checked_call
result = self.endpoint(*a, **kw)
File "/.repo_requirements/odoo/odoo/http.py", line 915, in call
return self.method(*args, **kw)
File "/.repo_requirements/odoo/odoo/http.py", line 515, in response_wrap
response = f(*args, **kw)
File "/.repo_requirements/odoo/addons/web/controllers/main.py", line 1327, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/.repo_requirements/odoo/addons/web/controllers/main.py", line 1319, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/.repo_requirements/odoo/odoo/api.py", line 387, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/.repo_requirements/odoo/odoo/api.py", line 374, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "/.repo_requirements/odoo/odoo/models.py", line 6251, in onchange
for name in nametree
File "/.repo_requirements/odoo/odoo/models.py", line 6252, in
if name not in done and snapshot0.has_changed(name)
File "/.repo_requirements/odoo/odoo/models.py", line 6097, in has_changed
return self[name] != record[name]
File "/.repo_requirements/odoo/odoo/models.py", line 5726, in getitem
return self._fields[key].get(self, type(self))
File "/.repo_requirements/odoo/odoo/fields.py", line 999, in get
self.compute_value(recs)
File "/.repo_requirements/odoo/odoo/fields.py", line 1113, in compute_value
records._compute_field_value(self)
File "/.repo_requirements/odoo/odoo/models.py", line 3998, in _compute_field_value
getattr(self, field.compute)()
File "/home/odoo/build/OCA/commission/sale_commission/models/sale_order.py", line 13, in _compute_commission_total
record.commission_total = sum(record.mapped("order_line.agent_ids.amount"))
File "/.repo_requirements/odoo/odoo/models.py", line 5302, in mapped
recs = recs._mapped_func(operator.itemgetter(name))
File "/.repo_requirements/odoo/odoo/models.py", line 5261, in _mapped_func
vals = [func(rec) for rec in self]
File "/.repo_requirements/odoo/odoo/models.py", line 5261, in
vals = [func(rec) for rec in self]
File "/.repo_requirements/odoo/odoo/models.py", line 5726, in getitem
return self._fields[key].get(self, type(self))
File "/.repo_requirements/odoo/odoo/fields.py", line 2968, in get
return super().get(records, owner)
File "/.repo_requirements/odoo/odoo/fields.py", line 2333, in get
return super().get(records, owner)
File "/.repo_requirements/odoo/odoo/fields.py", line 1028, in get
self.compute_value(recs)
File "/.repo_requirements/odoo/odoo/fields.py", line 1113, in compute_value
records._compute_field_value(self)
File "/.repo_requirements/odoo/odoo/models.py", line 3998, in _compute_field_value
getattr(self, field.compute)()
File "/home/odoo/build/OCA/commission/sale_commission_salesman/models/sale_order.py", line 18, in _compute_agent_ids
record.agent_ids = [(0, 0, self._prepare_agent_vals(partner))]
File "/home/odoo/build/OCA/commission/sale_commission_pricelist/models/sale_order.py", line 34, in _prepare_agent_vals
self.ensure_one()
File "/.repo_requirements/odoo/odoo/models.py", line 5099, in ensure_one
raise ValueError("Expected singleton: %s" % self)
ValueError: Expected singleton: sale.order.line(NewId ref='virtual_224', NewId ref='virtual_239')

sinerkiaid added a commit to sinerkiaid/commission that referenced this issue Mar 30, 2021
Solves [13.0] sale_commission_pricelist - sale_commission_salesman error OCA#274
AntoniRomera pushed a commit to AntoniRomera/commission that referenced this issue Jan 10, 2022
Solves [13.0] sale_commission_pricelist - sale_commission_salesman error OCA#274
ernesto-garcia-tecnativa pushed a commit to Tecnativa/commission that referenced this issue Feb 21, 2023
Solves [13.0] sale_commission_pricelist - sale_commission_salesman error OCA#274
ernesto-garcia-tecnativa pushed a commit to Tecnativa/commission that referenced this issue Feb 21, 2023
Solves [13.0] sale_commission_pricelist - sale_commission_salesman error OCA#274
ernesto-garcia-tecnativa pushed a commit to Tecnativa/commission that referenced this issue Feb 23, 2023
Solves [13.0] sale_commission_pricelist - sale_commission_salesman error OCA#274
ernesto-garcia-tecnativa pushed a commit to Tecnativa/commission that referenced this issue Feb 23, 2023
Solves [13.0] sale_commission_pricelist - sale_commission_salesman error OCA#274
omar7r pushed a commit to Comunitea/commission that referenced this issue May 24, 2023
Solves [13.0] sale_commission_pricelist - sale_commission_salesman error OCA#274
CLaurelB pushed a commit to vauxoo-dev/commission that referenced this issue Jun 14, 2024
Solves [13.0] sale_commission_pricelist - sale_commission_salesman error OCA#274
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants