¡BIENVENIDO AL FORO DE ODOO ARGENTINA!

BRINDAMOS UN ESPACIO A LA COMUNIDAD ARGENTINA DE ODOO PARA CENTRALIZAR EL DEBATE, COMPARTIR IDEAS, DESARROLLOS, Y FORMAR PARTE DE UNA COMUNIDAD QUE CRECE DÍA A DÍA

¿No estás registrado?  REGISTRATE

Se marcó esta pregunta
2 Respuestas
1996 Vistas

Al intentar definir un boton para copiar un registro este me genera un Key error en todos los menus de mi modulo, el metodo lo he puesto asi:

@api.multi
def button_copy(self, default=None):
    self.ensure_one()
    default = dict(default or {})
    return super(Registro, self).copy(default)

Al entrar a los menus obtengo:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/odoo/http.py", line 638, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/usr/lib/python2.7/dist-packages/odoo/http.py", line 675, in dispatch
    result = self._call_function(**self.params)
  File "/usr/lib/python2.7/dist-packages/odoo/http.py", line 331, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/odoo/service/model.py", line 101, in wrapper
    return f(dbname, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/odoo/http.py", line 324, in checked_call
    result = self.endpoint(*a, **kw)
  File "/usr/lib/python2.7/dist-packages/odoo/http.py", line 933, in __call__
    return self.method(*args, **kw)
  File "/usr/lib/python2.7/dist-packages/odoo/http.py", line 504, in response_wrap
    response = f(*args, **kw)
  File "/usr/lib/python2.7/dist-packages/odoo/addons/web/controllers/main.py", line 827, in search_read
    return self.do_search_read(model, fields, offset, limit, domain, sort)
  File "/usr/lib/python2.7/dist-packages/odoo/addons/web/controllers/main.py", line 846, in do_search_read
    Model = request.env[model]
  File "/usr/lib/python2.7/dist-packages/odoo/api.py", line 752, in __getitem__
    return self.registry[model_name]._browse((), self)
  File "/usr/lib/python2.7/dist-packages/odoo/modules/registry.py", line 174, in __getitem__
    return self.models[model_name]
KeyError: u'comprasmayores.registro'

y asi con cada menu... Alguna sugerencia o solucion del por que de esto??
Gracias de antemano, Saludos.

Avatar
Descartar
Autor Mejor respuesta

Resuelto definiendo mi metodo asi:

 

@api.multi

def button_copy(self, default=None):

    if default is None:

        default = {}

    default.update({'state': 'restarted'})

    return super(Registro, self).copy(default)

Avatar
Descartar
Mejor respuesta

el problema es que no está encontrando el módulo comprasmayores. Fijate las dependencias del módulo, en el archivo __openerp__.py

Avatar
Descartar
Autor

Lo cual me parece extrañp, puesto que el modulo lo tengo instalado, el error me lo salta cuando tengo ese metodo activo y lo necesito poder usar. La idea seria poder usarlo con el boton que cree y puse en el header de mi formulario pero no puedo acceder a ningun menu mientras el metodo este en el codigo por lo que lo tengo que comentar para poder seguir con el desarrollo en otras areas del modulo, pero como ya dije necesito este boton funcional.

Autor

Estoy trabajando en odoo v10

el módulo por más que este instalado, si no esta definido como dependencia en el archivo __openerp__ del módulo que lo invoca va a dar error

Autor

La cuestión es que este es un módulo independiente de los que vienen ya integrados y ninguno depende de este x lo que no veo lógico que este este en el archivo manifest en las dependencias

Si en las vistas se invoca alguna vista de otro módulo, debe ser declarado en el archivo manifest