OCA / l10n-argentina

Odoo modules for Argentina
GNU Affero General Public License v3.0
21 stars 51 forks source link

Error en instalación de los módulos #16

Closed dbareiro closed 9 years ago

dbareiro commented 9 years ago

Hola.

Estoy intentando instalar los módulos de Proyecto Aconcagua en una instalación recién hecha de Odoo. Para este caso logré instalar los siguientes módulos sin problemas en el orden listado:

Pero tuve errores al intentar instalar Retentions for Argentina. La excepción que obtengo es la siguiente (copiada del log de Odoo):

2015-08-23 11:53:30,223 7841 INFO opcionlibre openerp.modules.loading:
loading 1 modules...
2015-08-23 11:53:30,240 7841 INFO opcionlibre openerp.modules.loading:
1 modules loaded in 0.01s, 0 queries
2015-08-23 11:53:30,721 7841 INFO opcionlibre openerp.modules.loading:
loading 51 modules...
2015-08-23 11:53:30,846 7841 INFO opcionlibre openerp.modules.loading:
51 modules loaded in 0.12s, 0 queries
2015-08-23 11:53:30,855 7841 INFO opcionlibre openerp.modules.loading:
loading 52 modules...
2015-08-23 11:53:32,627 7841 INFO opcionlibre openerp.modules.module:
module l10n_ar_retentions_basic: creating or updating database tables
2015-08-23 11:53:32,990 7841 WARNING opcionlibre
openerp.modules.loading: module l10n_ar_retentions_basic: key
'init_xml' is deprecated in favor of 'data' for file
'retention_data.xml'.
2015-08-23 11:53:32,993 7841 WARNING opcionlibre
openerp.modules.loading: module l10n_ar_retentions_basic: key
'update_xml' is deprecated in favor of 'data' for file
'security/ir.model.access.csv'.
2015-08-23 11:53:32,994 7841 WARNING opcionlibre
openerp.modules.loading: module l10n_ar_retentions_basic: key
'update_xml' is deprecated in favor of 'data' for file
'retention_view.xml'.
2015-08-23 11:53:32,994 7841 WARNING opcionlibre
openerp.modules.loading: module l10n_ar_retentions_basic: key
'update_xml' is deprecated in favor of 'data' for file
'voucher_payment_receipt_view.xml'.
2015-08-23 11:53:32,994 7841 INFO opcionlibre openerp.modules.loading:
loading l10n_ar_retentions_basic/retention_data.xml
2015-08-23 11:53:33,442 7841 ERROR opcionlibre openerp.http: Exception
during JSON request handling.
Traceback (most recent call last):
  File "/opt/odoo/opcionlibre/openerp/http.py", line 537, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/opt/odoo/opcionlibre/openerp/http.py", line 574, in dispatch
    result = self._call_function(**self.params)
  File "/opt/odoo/opcionlibre/openerp/http.py", line 310, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/opt/odoo/opcionlibre/openerp/service/model.py", line 113, in wrapper
    return f(dbname, *args, **kwargs)
  File "/opt/odoo/opcionlibre/openerp/http.py", line 307, in checked_call
    return self.endpoint(*a, **kw)
  File "/opt/odoo/opcionlibre/openerp/http.py", line 803, in __call__
    return self.method(*args, **kw)
  File "/opt/odoo/opcionlibre/openerp/http.py", line 403, in response_wrap
    response = f(*args, **kw)
  File "/opt/odoo/opcionlibre/addons/web/controllers/main.py", line
948, in call_button
    action = self._call_kw(model, method, args, {})
  File "/opt/odoo/opcionlibre/addons/web/controllers/main.py", line
936, in _call_kw
    return getattr(request.registry.get(model), method)(request.cr,
request.uid, *args, **kwargs)
  File "/opt/odoo/opcionlibre/openerp/api.py", line 241, in wrapper
    return old_api(self, *args, **kwargs)
  File "/opt/odoo/opcionlibre/openerp/addons/base/module/module.py",
line 446, in button_immediate_install
    return self._button_immediate_function(cr, uid, ids,
self.button_install, context=context)
  File "/opt/odoo/opcionlibre/openerp/api.py", line 241, in wrapper
    return old_api(self, *args, **kwargs)
  File "/opt/odoo/opcionlibre/openerp/addons/base/module/module.py",
line 494, in _button_immediate_function
    registry = openerp.modules.registry.RegistryManager.new(cr.dbname,
update_module=True)
  File "/opt/odoo/opcionlibre/openerp/modules/registry.py", line 370, in new
    openerp.modules.load_modules(registry._db, force_demo, status,
update_module)
  File "/opt/odoo/opcionlibre/openerp/modules/loading.py", line 355,
in load_modules
    loaded_modules, update_module)
  File "/opt/odoo/opcionlibre/openerp/modules/loading.py", line 255,
in load_marked_modules
    loaded, processed = load_module_graph(cr, graph, progressdict,
report=report, skip_modules=loaded_modules,
perform_checks=perform_checks)
  File "/opt/odoo/opcionlibre/openerp/modules/loading.py", line 176,
in load_module_graph
    _load_data(cr, module_name, idref, mode, kind='data')
  File "/opt/odoo/opcionlibre/openerp/modules/loading.py", line 118,
in _load_data
    tools.convert_file(cr, module_name, filename, idref, mode,
noupdate, kind, report)
  File "/opt/odoo/opcionlibre/openerp/tools/convert.py", line 901, in
convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
  File "/opt/odoo/opcionlibre/openerp/tools/convert.py", line 987, in
convert_xml_import
    obj.parse(doc.getroot(), mode=mode)
  File "/opt/odoo/opcionlibre/openerp/tools/convert.py", line 853, in parse
    self._tags[rec.tag](self.cr] rec, n, mode=mode)
  File "/opt/odoo/opcionlibre/openerp/tools/convert.py", line 755, in
_tag_record
    f_val = self.id_get(cr, f_ref)
  File "/opt/odoo/opcionlibre/openerp/tools/convert.py", line 832, in id_get
    res = self.model_id_get(cr, id_str, raise_if_not_found)
  File "/opt/odoo/opcionlibre/openerp/tools/convert.py", line 843, in
model_id_get
    raise_if_not_found=raise_if_not_found)
  File "/opt/odoo/opcionlibre/openerp/api.py", line 241, in wrapper
    return old_api(self, *args, **kwargs)
  File "/opt/odoo/opcionlibre/openerp/addons/base/ir/ir_model.py",
line 936, in xmlid_to_res_model_res_id
    return self.xmlid_lookup(cr, uid, xmlid)[1:3]
  File "/opt/odoo/opcionlibre/openerp/api.py", line 241, in wrapper
    return old_api(self, *args, **kwargs)
  File "<string>", line 2, in xmlid_lookup
  File "/opt/odoo/opcionlibre/openerp/tools/cache.py", line 74, in lookup
    value = d[key] = self.method(*args, **kwargs)
  File "/opt/odoo/opcionlibre/openerp/addons/base/ir/ir_model.py",
line 926, in xmlid_lookup
    raise ValueError('External ID not found in the system: %s' % (xmlid))
ParseError: "External ID not found in the system:
l10n_ar_chart_of_account.account_type_tax" while parsing
/opt/odoo/opcionlibre/addons/l10n_ar_retentions_basic/retention_data.xml:135,
near
<record id="retencion_iva_a_depositar" model="account.account">
    <field name="code">212051</field>
    <field name="reconcile" eval="False"/>
    <field name="parent_id" search="[('name', '=', 'DEUDAS FISCALES')]"/>
    <field name="type">other</field>
    <field name="name">Retenciones IVA a Depositar</field>
    <field name="user_type" ref="l10n_ar_chart_of_account.account_type_tax"/>
  </record>

Me comentaron que este error viene porque no tengo instalado el módulo Argentina - Chart of Account. Efectivamente, no lo tenía instalado. Pero hay algo que no me queda claro acá. Cuando instalé el primer módulo de la lista que mencioné antes (base_vat_ar), me salía una ventana para completar las opciones de contabilidad para la empresa definida. Pero luego de instalar el módulo "Argentina - Chart of account" me vuelve a salir la ventana para completar las opciones de contabilidad, pero esta vez en la opción "Compañía" aparece solamente la opción "Desconocido".

¿Es por algún tipo de inconsistencia que aparece este formulario dos veces para completar y sin tener la compañia configurada?

Gracias anticipadas.

Saludos, Daniel

sebastiken commented 9 years ago

Estimado @dbareiro ,

Buenos días, es así como le dijeron que primero debe instalar y configurar el plan de cuentas del módulo l10n_ar_chart_of_account porque tanto el módulos de percepciones como el de retenciones utilizan cuentas contables de ese plan. Por un lado, la idea de que sea así fue para que ya venga preconfiguradas algunas retenciones y percepciones sin tener que romperse la cabeza cada vez. Por otro, si uno no quiere utilizar el plan contable del módulo l10n_ar_chart_of_account, esto lo estaría impidiendo. Por esto último, en este PR se estuvo hablando sobre separar la parte de la carga de datos para Retenciones y Percepciones en otro módulo, de forma que no impida utilizar otro plan de cuentas. Con respecto a la inconsistencia, le comento un par de cosas a tener en cuenta:

Espero haya sido de utilidad la explicación.

dbareiro commented 9 years ago

Hola, Sebastián.

Gracias su respuesta. Ayer, haciendo pruebas, pensé cambiar el orden de instalación e intentar el siguiente:

De esta manera pude confirmar que en este orden no se produce el error que mencioné antes y el asistente de opciones de contabilidad solo me aparece con la instalación del módulo l10n_ar_chart_of_account (Plan de cuentas básico Argentina). Esto lo pude verificar en una nueva instalación de Odoo desde cero.

Lamentablemente esto surgió en una prueba y no porque tuviera alguna documentación donde lo haya encontrado. Tenía un archivo PDF (Instalacion-Proyecto-Aconcagua-Info-Adicional.pdf) donde leí sobre el orden de instalación, pero parecía una documentación un tanto vieja porque en las capturas se veía que estaba hecho con OpenERP. Si hay alguna documentación más actualizada sobre instalación y uso de los módulos, especialmente para quienes no somos contadores (yo soy ingeniero), apreciaría sin pudiera indicarme algunas referencias.

Algo más que me gustaría mencionar es que en el log de Odoo encontré el siguiente error en la instalación del módulo l10n_ar_point_of_sale que también lo vi ocasionalmente en algunas de mis pruebas anteriores (aunque no en todas), pero parece que no es un error crítico que evita la instalación de este módulo:

2015-08-24 22:02:10,946 19687 ERROR opcionlibre openerp.sql_db: bad
query: UPDATE "ir_actions_todo" SET
"state"='done',"write_uid"=1,"write_date"=(now() at time zone 'UTC')
WHERE id IN (1)
Traceback (most recent call last):
  File "/opt/odoo/opcionlibre/openerp/sql_db.py", line 234, in execute
    res = self._obj.execute(query, params)
TransactionRollbackError: no se pudo serializar el acceso debido a un
update concurrente

2015-08-24 22:02:10,950 19687 INFO opcionlibre openerp.service.model:
SERIALIZATION_FAILURE, retry 1/5 in 0.9898 sec...

¿Alguna idea de cuál puede ser la causa? Porque, como decía, no siempre lo vi en mis pruebas. Parece aleatorio.

Gracias por su tiempo.

Saludos cordiales, Daniel