Hello!
I hope someone could help me ..
I'd like to find the best way to validate multiple scrap orders at the same time.
Thanks in advance...!
v16E
There are a large number of scrap orders (previously imported with Excel), so we need to validate them and change their status from draft to done, en masse and not one by one.
To validate all the orders at the same time, I created an Action Server,
When one scrap order is selected, sometimes works (it is validated and change from draft to done) and other times doesn't work, and got this error:
When multiple scrap orders are selected, never works.
and got this error:
RPC_ERROR
Odoo Server Error
Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/models.py", line 5174, 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 "/home/odoo/src/odoo/odoo/tools/safe_eval.py", line 383, in safe_eval
return unsafe_eval(c, globals_dict, locals_dict)
File "ir.actions.server(901,)", line 1, in
File "/home/odoo/src/odoo/addons/stock/models/stock_scrap.py", line 187, in action_validate
self.ensure_one()
File "/home/odoo/src/odoo/odoo/models.py", line 5177, in ensure_one
raise ValueError("Expected singleton: %s" % self)
ValueError: Expected singleton: stock.scrap(5, 4)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/http.py", line 1638, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "/home/odoo/src/odoo/odoo/service/model.py", line 133, in retrying
result = func()
File "/home/odoo/src/odoo/odoo/http.py", line 1665, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "/home/odoo/src/odoo/odoo/http.py", line 1869, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "/home/odoo/src/odoo/addons/website/models/ir_http.py", line 237, in _dispatch
response = super()._dispatch(endpoint)
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
result = endpoint(**request.params)
File "/home/odoo/src/odoo/odoo/http.py", line 700, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "/home/odoo/src/odoo/addons/web/controllers/action.py", line 42, in run
result = action.run()
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_actions.py", line 674, in run
res = runner(run_self, eval_context=eval_context)
File "/home/odoo/src/odoo/addons/website/models/ir_actions_server.py", line 61, in _run_action_code_multi
res = super(ServerAction, self)._run_action_code_multi(eval_context)
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_actions.py", line 544, in _run_action_code_multi
safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self)) # nocopy allows to return 'action'
File "/home/odoo/src/odoo/odoo/tools/safe_eval.py", line 397, in safe_eval
raise ValueError('%s: "%s" while evaluating\n%r' % (ustr(type(e)), ustr(e), expr))
ValueError: : "Expected singleton: stock.scrap(5, 4)" while evaluating
'records.action_validate()'
The above server error caused the following client error:
RPC_ERROR: Odoo Server Error
at makeErrorFromResponse (https://mybd-test-12773407.dev.odoo.com/web/assets/42953-a4ee3f4/web.assets_backend.min.js:993:163)
at XMLHttpRequest. (https://mybd-test-12773407.dev.odoo.com/web/assets/42953-a4ee3f4/web.assets_backend.min.js:1001:13)
I appreciate a lot your help to find the best way to validate multiple scrap orders.
Thank you!!!
LG