Hi,
I am trying to avoid that users can be able to make delivery (out) transfers of quantities greater than was demanded.
I try it with this server action, but is not working:
Can this be done?
Thanks.
Odoo is the world's easiest all-in-one management software.
 It includes hundreds of business apps:
Hi,
I am trying to avoid that users can be able to make delivery (out) transfers of quantities greater than was demanded.
I try it with this server action, but is not working:
Can this be done?
Thanks.
No worries, need to use UserError instead of Warning, here the complete code:
model: Stock move line
if record.reserved_uom_qty < record.qty_done:
raise UserError("You can't transfer more than the Initial Demand!")
thanks
I think you want an Automated Action.
A Server Action needs to be called from code or via a Button.
That's true mate. Tried as a server action, but the error that is displaying is like there is an error in the code, not a message or warning to the user:
This is the full error:
RPC_ERROR
Odoo Server Error
Traceback (most recent call last):
  File "/home/odoo/src/odoo/odoo/http.py", line 1652, 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 1679, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
  File "/home/odoo/src/odoo/odoo/http.py", line 1883, in dispatch
    result = self.request.registry['ir.http']._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 734, in route_wrapper
    result = endpoint(self, *args, **params_ok)
  File "/home/odoo/src/odoo/addons/web/controllers/dataset.py", line 42, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "/home/odoo/src/odoo/addons/web/controllers/dataset.py", line 33, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/home/odoo/src/odoo/odoo/api.py", line 468, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/home/odoo/src/odoo/odoo/api.py", line 453, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/home/odoo/src/odoo/addons/stock/models/stock_picking.py", line 827, in write
    res = super(Picking, self).write(vals)
  File "/home/odoo/src/odoo/addons/mail/models/mail_thread.py", line 315, in write
    result = super(MailThread, self).write(values)
  File "/home/odoo/src/odoo/addons/mail/models/mail_activity_mixin.py", line 241, in write
    return super(MailActivityMixin, self).write(vals)
  File "/home/odoo/src/odoo/odoo/models.py", line 3785, in write
    field.write(self, value)
  File "/home/odoo/src/odoo/odoo/fields.py", line 4267, in write
    return self.write_batch([(records, value)])
  File "/home/odoo/src/odoo/odoo/fields.py", line 4288, in write_batch
    return self.write_real(records_commands_list, create)
  File "/home/odoo/src/odoo/odoo/fields.py", line 4460, in write_real
    comodel.browse(command[1]).write(command[2])
  File "/home/odoo/src/odoo/addons/base_automation/models/base_automation.py", line 415, in write
    action._process(records, domain_post=domain_post)
  File "/home/odoo/src/odoo/addons/base_automation/models/base_automation.py", line 340, in _process
    raise e
  File "/home/odoo/src/odoo/addons/base_automation/models/base_automation.py", line 337, in _process
    action_server.sudo().with_context(**ctx).run()
  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_actions.py", line 675, in run
    res = runner(run_self, eval_context=eval_context)
  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_actions.py", line 545, 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 391, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
  File "ir.actions.server(729,)", line 14, in <module>
odoo.exceptions.Warning: You can't transfer more than the Initial Demand!
The above server error caused the following client error:
null
Erstellen Sie heute ein Konto, um exklusive Funktionen zu nutzen und mit unserer tollen Community zu interagieren!
Registrieren| Verknüpfte Beiträge | Antworten | Ansichten | Aktivität | |
|---|---|---|---|---|
|  | 4 Apr. 25  | 10147 | ||
|  | 0 Okt. 24  | 2006 | ||
|  | 1 Okt. 23  | 9193 | ||
|  | 3 Nov. 21  | 3869 | ||
|  | 0 Apr. 21  | 3815 |