Error Opciones Generales

439 views
Skip to first unread message

xro...@gmail.com

unread,
Oct 2, 2021, 5:12:16 PM10/2/21
to Usuarios Odoo / OpenERP en España
Hola.

A ver si alguien puede ayudarme. No sé si ha podido ocurrir tras actualizar el sistema o al instalar algún módulo, lo desconozco...
La cuestión es que desde hace unos días, al intentar acceder a Opciones Generales me salta el siguiente mensaje de error, aceptas la ventana y hay campos vacíos que antes no lo estaban:

Error:

Odoo Server Error


Traceback (most recent call last):

  File "/opt/odoo/12.0/odoo/odoo/api.py", line 1039, in get

    value = self._data[key][field][record._ids[0]]

KeyError: 74


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/opt/odoo/12.0/odoo/odoo/fields.py", line 981, in __get__

    value = record.env.cache.get(record, self)

  File "/opt/odoo/12.0/odoo/odoo/api.py", line 1041, in get

    raise CacheMiss(record, field)

odoo.exceptions.CacheMiss: ('resource.calendar(74,).display_name', None)


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/opt/odoo/12.0/odoo/odoo/api.py", line 1039, in get

    value = self._data[key][field][record._ids[0]]

KeyError: 74


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/opt/odoo/12.0/odoo/odoo/fields.py", line 981, in __get__

    value = record.env.cache.get(record, self)

  File "/opt/odoo/12.0/odoo/odoo/api.py", line 1041, in get

    raise CacheMiss(record, field)

odoo.exceptions.CacheMiss: ('resource.calendar(74,).name', None)


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/opt/odoo/12.0/odoo/odoo/http.py", line 656, in _handle_exception

    return super(JsonRequest, self)._handle_exception(exception)

  File "/opt/odoo/12.0/odoo/odoo/http.py", line 314, in _handle_exception

    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])

  File "/opt/odoo/12.0/odoo/odoo/tools/pycompat.py", line 87, in reraise

    raise value

  File "/opt/odoo/12.0/odoo/odoo/http.py", line 698, in dispatch

    result = self._call_function(**self.params)

  File "/opt/odoo/12.0/odoo/odoo/http.py", line 346, in _call_function

    return checked_call(self.db, *args, **kwargs)

  File "/opt/odoo/12.0/odoo/odoo/service/model.py", line 97, in wrapper

    return f(dbname, *args, **kwargs)

  File "/opt/odoo/12.0/odoo/odoo/http.py", line 339, in checked_call

    result = self.endpoint(*a, **kw)

  File "/opt/odoo/12.0/odoo/odoo/http.py", line 941, in __call__

    return self.method(*args, **kw)

  File "/opt/odoo/12.0/odoo/odoo/http.py", line 519, in response_wrap

    response = f(*args, **kw)

  File "/opt/odoo/12.0/odoo/addons/web/controllers/main.py", line 962, in call_kw

    return self._call_kw(model, method, args, kwargs)

  File "/opt/odoo/12.0/odoo/addons/web/controllers/main.py", line 954, in _call_kw

    return call_kw(request.env[model], method, args, kwargs)

  File "/opt/odoo/12.0/odoo/odoo/api.py", line 749, in call_kw

    return _call_kw_multi(method, model, args, kwargs)

  File "/opt/odoo/12.0/odoo/odoo/api.py", line 736, in _call_kw_multi

    result = method(recs, *args, **kwargs)

  File "/opt/odoo/12.0/odoo/odoo/models.py", line 5522, in onchange

    result['value'] = snapshot1.diff(snapshot0)

  File "/opt/odoo/12.0/odoo/odoo/models.py", line 5435, in diff

    result[name] = field.convert_to_onchange(self[name], record, {})

  File "/opt/odoo/12.0/odoo/odoo/fields.py", line 2181, in convert_to_onchange

    return super(Many2one, self).convert_to_onchange(value, record, names)

  File "/opt/odoo/12.0/odoo/odoo/fields.py", line 842, in convert_to_onchange

    return self.convert_to_read(value, record)

  File "/opt/odoo/12.0/odoo/odoo/fields.py", line 2162, in convert_to_read

    return (value.id, value.sudo().display_name)

  File "/opt/odoo/12.0/odoo/odoo/fields.py", line 985, in __get__

    self.determine_value(record)

  File "/opt/odoo/12.0/odoo/odoo/fields.py", line 1098, in determine_value

    self.compute_value(recs)

  File "/opt/odoo/12.0/odoo/odoo/fields.py", line 1052, in compute_value

    self._compute_value(records)

  File "/opt/odoo/12.0/odoo/odoo/fields.py", line 1043, in _compute_value

    getattr(records, self.compute)()

  File "/opt/odoo/12.0/odoo/odoo/models.py", line 1570, in _compute_display_name

    names = dict(self.name_get())

  File "/opt/odoo/12.0/odoo/odoo/models.py", line 1589, in name_get

    result.append((record.id, convert(record[name], record)))

  File "/opt/odoo/12.0/odoo/odoo/models.py", line 5117, in __getitem__

    return self._fields[key].__get__(self, type(self))

  File "/opt/odoo/12.0/odoo/odoo/fields.py", line 985, in __get__

    self.determine_value(record)

  File "/opt/odoo/12.0/odoo/odoo/fields.py", line 1088, in determine_value

    record._prefetch_field(self)

  File "/opt/odoo/12.0/odoo/odoo/models.py", line 2836, in _prefetch_field

    result = records.read([f.name for f in fs], load='_classic_write')

  File "/opt/odoo/12.0/odoo/odoo/models.py", line 2774, in read

    self._read_from_database(stored, inherited)

  File "/opt/odoo/12.0/odoo/odoo/models.py", line 2901, in _read_from_database

    cr.execute(query_str, params)

  File "/opt/odoo/12.0/odoo/odoo/sql_db.py", line 148, in wrapper

    return f(self, *args, **kwargs)

  File "/opt/odoo/12.0/odoo/odoo/sql_db.py", line 225, in execute

    res = self._obj.execute(query, params)

psycopg2.ProgrammingError: column resource_calendar.auto_generate does not exist

LINE 1: ...urs_per_day","resource_calendar"."name" as "name","resource_...

                                                             ^


Gracias.

cubells

unread,
Oct 3, 2021, 3:14:53 AM10/3/21
to openerp-s...@googlegroups.com
El 2/10/21 a les 23:12, xro...@gmail.com ha escrit:
> Hola.
>
> A ver si alguien puede ayudarme. No sé si ha podido ocurrir tras
> actualizar el sistema o al instalar algún módulo, lo desconozco...
> La cuestión es que desde hace unos días, al intentar acceder a Opciones
> Generales me salta el siguiente mensaje de error, aceptas la ventana y
> hay campos vacíos que antes no lo estaban:
>


reinicia odoo con la opción --update=all




--
Atentament, cubells.
--

xro...@gmail.com

unread,
Oct 3, 2021, 2:12:46 PM10/3/21
to Usuarios Odoo / OpenERP en España
Gracias Cubells. Llevo todo el día investigando en los hilos del foro y finalmente he probado los siguientes comandos:

- ps -ef | grep odoo (compruebo la ruta del proceso)
- sudo systemctl stop odoo12 (paro el servicio)
- python3 /opt/acme/12.0/odoo/odoo-bin -c /opt/config/odoo12.conf -d acme_db -u all (arranco el servicio de nuevo actualizando la bd)
- tail -f /opt/acme/log/odoo12-server.log (mientras, veía el log en otro terminal)

He lanzado el servicio y lo matado en varias ocasiones y, como no veía que fuese a acabar, lo de dejado en torno a una hora y lo he vuelto a parar.
Los errores se seguían reproduciendo en el portal web.

¿Cómo sabemos que ya ha acabado el proceso? ¿Es posible que llegue a tardar horas en acabar o que la bd esté corrupta?

Juanjo A.

unread,
Oct 8, 2021, 2:51:55 AM10/8/21
to Usuarios Odoo / OpenERP en España
--stop-after-init es tu amigo.  odoo --help para mas info

Un saludo
JuanjoA

xro...@gmail.com

unread,
Oct 9, 2021, 9:18:12 AM10/9/21
to Usuarios Odoo / OpenERP en España

Genial, ha funcionado. Mil gracias a los 2!!

Ya para cerrar el hilo y evitar que me vuelva a ocurrir en el futuro, ¿cuál sería el proceso de actualización correcto? Yo lo entiendo así:

1.- sudo apt-get update && apt-get upgrade -y
2.- Actualizar módulos OCA con git (script).
3.- sudo systemctl stop odoo12
4.- python3 /opt/acme/12.0/odoo/odoo-bin -c /opt/config/odoo12.conf -d acme_db -u all --stop-after-init
5.- Reiniciar el servidor.
6- Dentro de Odoo, actualizar módulo Base y resto de Apps.
Reply all
Reply to author
Forward
0 new messages