Error intentando instalar módulos de Proyecto Aconcagua

684 views
Skip to first unread message

Daniel Bareiro

unread,
Aug 18, 2015, 6:11:42 PM8/18/15
to odoo-ar...@googlegroups.com
Hola. Espero que estén bien.

Estoy intentando instalar los módulos del Proyecto Aconcagua. Para
esto estoy siguiendo el orden de instalación mencionado en el
documento Instalacion-Proyecto-Aconcagua-Info-Adicional.pdf por si el
orden importa en el caso de que exista una dependencia entre los
módulos (favor de confirmar si este documento es aún válido --- lo
adjunto por las dudas).

En mi caso descargué el código del repositorio GIT de OCA:

$ git clone -b 8.0 --single-branch https://github.com/OCA/l10n-argentina.git

A continuación copié los archivos al directorio "addons" (/opt/odoo/addons).

Luego de actualizar la lista de módulos, no tuve problemas para
instalar base_vat_ar. Pero sí con el módulo "Point of Sale ARGENTINA"
(l10n_ar_point_of_sale) y siguientes obtengo una excepción.

En el caso del10n_ar_point_of_sale veo en la solapa "datos técnicos"
que todas las dependencias están cumplidas. Esta es la excepción que
obtengo al intentar instalar (copiada del log de Odoo):

-----------------------------------------------------------------------------------------------------------------------
2015-08-18 22:04:05,306 179 INFO opcionlibre openerp.modules.loading:
loading 1 modules...
2015-08-18 22:04:05,585 179 INFO opcionlibre openerp.modules.loading:
1 modules loaded in 0.28s, 0 queries
2015-08-18 22:04:05,822 179 INFO opcionlibre openerp.modules.loading:
loading 45 modules...
2015-08-18 22:04:08,083 179 INFO opcionlibre openerp.modules.loading:
45 modules loaded in 2.26s, 0 queries
2015-08-18 22:04:08,095 179 INFO opcionlibre openerp.modules.loading:
loading 50 modules...
2015-08-18 22:04:08,700 179 INFO opcionlibre openerp.modules.module:
module l10n_ar_point_of_sale: creating or updating database tables
2015-08-18 22:04:09,558 179 INFO opcionlibre openerp.modules.loading:
loading l10n_ar_point_of_sale/partner_data.xml
2015-08-18 22:04:09,621 179 INFO opcionlibre openerp.modules.loading:
loading l10n_ar_point_of_sale/pos_ar_view.xml
2015-08-18 22:04:09,925 179 INFO opcionlibre openerp.modules.loading:
loading l10n_ar_point_of_sale/account_invoice_view.xml
2015-08-18 22:04:10,006 179 ERROR opcionlibre
openerp.addons.base.ir.ir_ui_view: El elemento '<field
name="internal_number">' no puede ser localizado en la vista padre

Error de contexto:Vista `account.invoice.form.inherit2`
[view_id: 763, xml_id: n/a, model: account.invoice, parent_id: 469]
2015-08-18 22:04:10,016 179 ERROR opcionlibre openerp.http: Exception
during JSON request handling.
Traceback (most recent call last):
File "/opt/odoo/opcionlibre/openerp/http.py", line 518, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/opt/odoo/opcionlibre/openerp/http.py", line 539, in dispatch
result = self._call_function(**self.params)
File "/opt/odoo/opcionlibre/openerp/http.py", line 295, 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 292, in checked_call
return self.endpoint(*a, **kw)
File "/opt/odoo/opcionlibre/openerp/http.py", line 755, in __call__
return self.method(*args, **kw)
File "/opt/odoo/opcionlibre/openerp/http.py", line 388, in response_wrap
response = f(*args, **kw)
File "/opt/odoo/opcionlibre/addons/web/controllers/main.py", line
953, in call_button
action = self._call_kw(model, method, args, {})
File "/opt/odoo/opcionlibre/addons/web/controllers/main.py", line
941, in _call_kw
return getattr(request.registry.get(model), method)(request.cr,
request.uid, *args, **kwargs)
File "/opt/odoo/opcionlibre/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/opt/odoo/opcionlibre/openerp/addons/base/module/module.py",
line 450, 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 237, in wrapper
return old_api(self, *args, **kwargs)
File "/opt/odoo/opcionlibre/openerp/addons/base/module/module.py",
line 498, in _button_immediate_function
registry = openerp.modules.registry.RegistryManager.new(cr.dbname,
update_module=True)
File "/opt/odoo/opcionlibre/openerp/modules/registry.py", line 346, in new
openerp.modules.load_modules(registry._db, force_demo, status,
update_module)
File "/opt/odoo/opcionlibre/openerp/modules/loading.py", line 363,
in load_modules
loaded_modules, update_module)
File "/opt/odoo/opcionlibre/openerp/modules/loading.py", line 263,
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 182,
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 763, in
_tag_record
id = self.pool['ir.model.data']._update(cr] self.uid, rec_model,
self.module, res, rec_id or False, not self.isnoupdate(data_node),
noupdate=self.isnoupdate(data_node), mode=self.mode,
context=rec_context )
File "/opt/odoo/opcionlibre/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/opt/odoo/opcionlibre/openerp/addons/base/ir/ir_model.py",
line 1067, in _update
res_id = model_obj.create(cr, uid, values, context=context)
File "/opt/odoo/opcionlibre/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/opt/odoo/opcionlibre/openerp/addons/base/ir/ir_ui_view.py",
line 264, in create
context=context)
File "/opt/odoo/opcionlibre/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/opt/odoo/opcionlibre/openerp/api.py", line 332, in old_api
result = method(recs, *args, **kwargs)
File "/opt/odoo/opcionlibre/openerp/models.py", line 4007, in create
record = self.browse(self._create(old_vals))
File "/opt/odoo/opcionlibre/openerp/api.py", line 235, in wrapper
return new_api(self, *args, **kwargs)
File "/opt/odoo/opcionlibre/openerp/api.py", line 464, in new_api
result = method(self._model, cr, uid, *args, **kwargs)
File "/opt/odoo/opcionlibre/openerp/models.py", line 4198, in _create
recs._validate_fields(vals)
File "/opt/odoo/opcionlibre/openerp/api.py", line 235, in wrapper
return new_api(self, *args, **kwargs)
File "/opt/odoo/opcionlibre/openerp/models.py", line 1282, in _validate_fields
raise ValidationError('\n'.join(errors))
ParseError: "ValidateError
Field(s) `arch` failed against a constraint: Invalid view definition

Error details:
El elemento '<field name="internal_number">' no puede ser localizado
en la vista padre

Error de contexto:Vista `account.invoice.form.inherit2`
[view_id: 763, xml_id: n/a, model: account.invoice, parent_id: 469]"
while parsing /opt/odoo/opcionlibre/addons/l10n_ar_point_of_sale/account_invoice_view.xml:5,
near
<record id="view_pos_invoice_form" model="ir.ui.view">
<field name="name">account.invoice.form.inherit2</field>
<field name="model">account.invoice</field>
<field name="type">form</field>
<field name="inherit_id" ref="account.invoice_form"/>
<field name="arch" type="xml">
<data>
<field name="number" position="replace"/>
<field name="internal_number" position="replace"/>

<field name="type" position="before">
<label for="internal_number"
class="oe_edit_only" string="Invoice Number"/>
<h2>
<field name="denomination_id"
class="oe_inline" required="1" attrs="{'readonly':[('state', '!=',
'draft')]}"/>
<field name="internal_number"
class="oe_inline" placeholder="XXXX-XXXXXXXX"
attrs="{'readonly':[('state', '!=', 'draft')]}"/>
</h2>
</field>
<field name="account_id" position="after">
<field name="pos_ar_id"/>
<field name="is_debit_note" invisible="1"/>
</field>
<field name="amount_untaxed" position="replace">
<field name="amount_taxed" widget="monetary"
options="{'currency_field': 'currency_id'}"/>
<field name="amount_no_taxed" widget="monetary"
options="{'currency_field': 'currency_id'}"/>
<field name="amount_exempt" widget="monetary"
options="{'currency_field': 'currency_id'}"/>
<field name="amount_untaxed"
class="oe_subtotal_footer_separator" widget="monetary"
options="{'currency_field': 'currency_id'}"/>
</field>
<xpath
expr="//field[@name='tax_line']/tree/field[@name='name']"
position="after">
<field name="tax_id"
domain="[('tax_group','=','other'),
('type_tax_use','in',['sale','all'])]"/>
<field name="base_code_id" invisible="1"/>
<field name="tax_code_id" invisible="1"/>
</xpath>
</data>
</field>
</record>
2015-08-18 22:04:10,021 179 INFO opcionlibre werkzeug: 10.1.0.40 - -
[18/Aug/2015 22:04:10] "POST /web/dataset/call_button HTTP/1.1" 200 -
-----------------------------------------------------------------------------------------------------------------------

Parece ser que la excepción está relacionada con una relación entre
los datos. ¿Alguna idea de cómo solucionarlo?


Gracias anticipadas por responder.

Saludos,
Daniel
Instalacion-Proyecto-Aconcagua-Info-Adicional.pdf

Gabriel Davini

unread,
Aug 21, 2015, 12:48:36 PM8/21/15
to odoo-ar...@googlegroups.com
Hola Daniel,

Error details:
El elemento '<field name="internal_number">' no puede ser localizado
en la vista padre

Parece ser que la excepción está relacionada con una relación entre
los datos. ¿Alguna idea de cómo solucionarlo?

Intenté reproducir el error y no lo puedo hacer, tanto con la rama 8.0 como con la master los módulos se instalan correctamente. El error hace referencia a un campo que se instala con el módulo account, y si mirás el __openerp__.py del Point of Sale, esa depencia está declarada correctamente.

Lo único que me queda pensar es que tengas una versión vieja del servidor o de los módulos, probaste hacer un pull del servidor? Si lo instalaste mediante paquetes de tu distro intentá hacer un upgrade de los paquetes del servidor.

Espero que te sirva.

Saludos.
--
Gabriel.

Daniel Bareiro

unread,
Aug 23, 2015, 7:57:36 AM8/23/15
to odoo-ar...@googlegroups.com
El 21 de agosto de 2015, 1:48 p. m., Gabriel Davini
<gabrielfran...@gmail.com> escribió:

> Hola Daniel,

Hola, Gabriel. Gracias por responder.
Probé hacer un pull de Odoo e iniciar una nueva instancia con esta
versión actualizada de Odoo. Para este caso logré instalar los
siguientes módulos sin problemas:

* base_vat_ar
* Point of sale Argentina.
* Payments for Argentina.
* Account checks.
* Checkbook Management.

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>
--------------------------------------------------------------------------------------------------------------------------------------------

Gracias por tu tiempo.

Saludos,
Daniel

Gabriel Davini

unread,
Aug 23, 2015, 4:13:35 PM8/23/15
to odoo-ar...@googlegroups.com
Daniel,

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>
--------------------------------------------------------------------------------------------------------------------------------------------

El error viene porque no tenés instalado el módulo Argentina - Chart of Account. Pero siguiendo los pasos que vos mencionás, no logro reproducir el error. En mi base, ese módulo está instalado. Probá instalándolo y luego seguí con retenciones y percepciones, a ver si asi sale andando.

También estaría bueno que cargues un issue en github[0] para ver si ellos te pueden dar una respuesta más acertada del problema o corregir el bug, si lo es.

Saludos!

--
Gabriel.

Daniel Bareiro

unread,
Aug 23, 2015, 5:15:36 PM8/23/15
to odoo-ar...@googlegroups.com
El 23 de agosto de 2015, 5:13 p. m., Gabriel Davini
<gabrielfran...@gmail.com> escribió:

> Daniel,

Hola, Gabriel.
Efectivamente, no tenía instalado el módulo "Argentina - Chart of
account". 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 por tu respuesta. Tendré en cuenta la referencia para abrir un
ticket por este tema.

Saludos,
Daniel

Gabriel Davini

unread,
Aug 23, 2015, 8:06:37 PM8/23/15
to odoo-ar...@googlegroups.com
Efectivamente, no tenía instalado el módulo "Argentina - Chart of
account". 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?

La verdad ni idea.  Estuve mirando la definición de la vista del wizard ese, y no veo que haya ningún filtro por compañía o algo de eso. Esto te genera algún otro error, o el plan contable funciona ok? Te animás a cargar esto en el issue también?

Saludos.
--
Gabriel.

Daniel Bareiro

unread,
Aug 23, 2015, 10:16:51 PM8/23/15
to odoo-ar...@googlegroups.com
Hola, Gabriel

El 23 de agosto de 2015, 9:06 p. m., Gabriel Davini
<gabrielfran...@gmail.com> escribió:
Gracias por tomarte el tiempo de revisar esto. Si la segunda vez que
me aparece esa ventana le doy a "Aplicar" dejando "Desconocido" en
Compañia (es la única opción), me sale un warning diciendo:

Constraint Error

The name of the journal must be unique per company !


Si le doy a "Cancelar" se cierra ese formulario. Luego si intento
instalar el módulo "Retentions for Argentina", no da ahora la
excepción que mencionaba antes. Pero está este formulario de
configuración que aparece dos veces.

> Te animás a cargar esto en el issue también?

Lo hice unos minutos después de responderte el otro correo. Espero que
alguien lo pueda ver porque vi que todos los demás issues abiertos
estaban sin respuesta :-(


Saludos,
Daniel

Daniel Blanco

unread,
Aug 23, 2015, 11:34:33 PM8/23/15
to odoo-Argentina - Preguntas y respuestas para personalizadores

Daniel, en esto último que te da, el módulo que estés instalando, está intentando crear un diario con un nombre que ya existe.

Hacé una prueba, de hacer una copia de la base de datos y una vez hecha, intenta bajar el servidor y correrle un odoo.py -c odoo.conf -d <nombre de tu base de datos> -u all para que actualice todos los módulos.

Lo de la copia de la base de datos, es importante, porque esto, te va a hacer perder cualquier personalización que tengas, que no sea instalada por medio de módulos, pero al menos va a sincronizar lo que tenés en los addons de la instancia, con lo que está en la base de datos. Es una buena manera de independizarse de problemas de actualización de módulos.

Si hay error en los módulos, es probable que el error persista, en cuyo caso va a ser más fácil rastrear el problema. Si te vuelve a dar el error de constraint en el módulo, tratá de seguirlo en el log, para ver exactamente cual es el módulo que lo provoca, y en qué punto. Si te vuelve a dar el error, fijate en los archivos de data del módulo que estés instalando, y comentale el tag <record>......</record> que te da el problema y probá que pasa. Fijate el nombre del diario que esté en el record mencionado, para ver si no existe de antes... (muy probable que sí, entre tantas pruebas de instalación). Acordate de lo hecho, para que una vez que esté funcionando el módulo descomentes el <record>....</record>

Daniel Bareiro

unread,
Aug 24, 2015, 4:11:12 PM8/24/15
to odoo-ar...@googlegroups.com
El 24 de agosto de 2015, 12:34 a. m., Daniel Blanco
<dan...@blancomartin.com.ar> escribió:

> Daniel,

Hola, Daniel.

> en esto último que te da, el módulo que estés instalando, está
> intentando crear un diario con un nombre que ya existe.
>
> Hacé una prueba, de hacer una copia de la base de datos y una vez hecha,
> intenta bajar el servidor y correrle un odoo.py -c odoo.conf -d <nombre de
> tu base de datos> -u all para que actualice todos los módulos.
>
> Lo de la copia de la base de datos, es importante, porque esto, te va a
> hacer perder cualquier personalización que tengas, que no sea instalada por
> medio de módulos, pero al menos va a sincronizar lo que tenés en los addons
> de la instancia, con lo que está en la base de datos. Es una buena manera de
> independizarse de problemas de actualización de módulos.

Gracias por el dato. Supongo que odoo.conf sería el archivo de
configuración con su ruta completa, partiendo de que estoy dentro del
path de los archivos de la instancia, lo que en ese caso se traduciría
en:

opcionlibre@odoo2:~$ ./odoo.py -c /etc/odoo-opcionlibre-server.conf -d
opcionlibre -u all

Pero desde las 16 hs (en este momento son las 16.43) que no veo
avances en el log. Lo último que registró fue esto:

----------------------------------------------------------------------------------------------------------------
(...)
2015-08-24 19:00:50,923 17357 INFO opcionlibre
openerp.modules.loading: loading
l10n_ar_retentions_basic/retention_data.xml
2015-08-24 19:00:51,108 17357 INFO opcionlibre
openerp.modules.loading: loading
l10n_ar_retentions_basic/security/ir.model.access.csv
2015-08-24 19:00:51,213 17357 INFO opcionlibre
openerp.modules.loading: loading
l10n_ar_retentions_basic/retention_view.xml
2015-08-24 19:00:51,518 17357 INFO opcionlibre
openerp.modules.loading: loading
l10n_ar_retentions_basic/voucher_payment_receipt_view.xml
2015-08-24 19:00:52,144 17357 INFO opcionlibre
openerp.addons.base.ir.ir_translation: module
l10n_ar_retentions_basic: loading translation file (es_AR) for
language es_AR
2015-08-24 19:00:52,150 17357 INFO opcionlibre
openerp.tools.translate: loading
/opt/odoo/opcionlibre/addons/l10n_ar_retentions_basic/i18n/es_AR.po
2015-08-24 19:00:52,260 17357 INFO opcionlibre
openerp.modules.loading: 53 modules loaded in 222.13s, 0 queries
2015-08-24 19:00:53,837 17357 WARNING opcionlibre
openerp.modules.loading: The model res.document.type has no access
rules, consider adding one. E.g.
access_res_document_type,access_res_document_type,model_res_document_type,,1,0,0,0
2015-08-24 19:00:53,849 17357 WARNING opcionlibre
openerp.modules.loading: The transient model wizard.create.check
(wizard create check) should not have explicit access rules!
2015-08-24 19:00:55,059 17357 INFO opcionlibre
openerp.modules.loading: Modules loaded.
2015-08-24 19:00:55,064 17357 INFO opcionlibre openerp.models:
Computing parent left and right for table ir_ui_menu...
----------------------------------------------------------------------------------------------------------------

Y el script aún no devolvió el prompt, como si todavía se estuviera
ejecutando. ¿Este comportamiento es esperable?

> Si hay error en los módulos, es probable que el error persista, en cuyo caso
> va a ser más fácil rastrear el problema. Si te vuelve a dar el error de
> constraint en el módulo, tratá de seguirlo en el log, para ver exactamente
> cual es el módulo que lo provoca, y en qué punto.

Ese error de constraint lo daba al instalar el módulo "Argentina -
Chart of account" bajo el siguiente escenario. El módulo también
presenta luego de su instalación el mismo asistente para completar las
opciones de contabilidad que había presentado la instalación previa
del módulo "Point of sale Argentina". Cuando instalé "Point of sale
Argentina" aparecía preseleccionada la empresa correcta, donde solo
ajusté los valores de IVA compra/ventas y acepté los cambios. Pero en
la instalación de "Argentina - Chart of account", al aparecer
nuevamente este formulario y cuya única opción de empresa es
"Desconocido", si aplicaba los cambios con esta configuración se
producía este error con la ventana de la "constraint Error". Aunque no
se si con "para ver cuál exactamente es el módulo" te referís a esto o
si por debajo este módulo esta invocando a otros de cuya interacción
se produce este error.

> Si te vuelve a dar el error, fijate en los archivos de data del módulo que estés instalando, y
> comentale el tag <record>......</record> que te da el problema y probá que
> pasa. Fijate el nombre del diario que esté en el record mencionado, para ver
> si no existe de antes... (muy probable que sí, entre tantas pruebas de
> instalación). Acordate de lo hecho, para que una vez que esté funcionando el
> módulo descomentes el <record>....</record>.

El módulo cuya instalación generaba el error es "Argentina - Chart of
account", así que estos son los archivos para este módulo:

----------------------------------------------------------------------------------------------------------------
opcionlibre@odoo2:~/addons/l10n_ar_chart_of_account$ ls -l
total 80
-rw-r--r-- 1 root root 46567 ago 18 17:56 account_chart.xml
-rw-r--r-- 1 root root 5554 ago 18 17:56 account_tax_code.xml
-rw-r--r-- 1 root root 6055 ago 18 17:56 account_tax.xml
-rw-r--r-- 1 root root 735 ago 18 17:56 fiscal_templates.xml
-rw-r--r-- 1 root root 1058 ago 18 17:56 __init__.py
-rw-r--r-- 1 root root 234 ago 18 17:56 l10n_chart_ar_wizard.xml
-rw-r--r-- 1 root root 1635 ago 18 17:56 __openerp__.py
----------------------------------------------------------------------------------------------------------------

¿Cuáles serían los "archivos de data"?

Con respecto a las pruebas, me aseguré de hacer cada una de ellas en
una instalación limpia así que no creo que hayan quedado cosas que
pudieran generar interferencia de algún proceso anterior.


Gracias por responder.

Saludos,
Daniel

Gabriel Davini

unread,
Aug 24, 2015, 4:49:40 PM8/24/15
to odoo-ar...@googlegroups.com
Si querés podés probar instalar todo de cero, teniendo en cuenta que
luego de instalar point of sale instales a mano el chart of account.

Saludos.
> --
> Recuerda siempre poner la mayor cantidad de datos para que se entienda bien
> que necesitas y que respondes. Algunos errores comunes:
>
> - Siempre mencionar en que versión de odoo trabajas.
> - Siempre mencionar si el servidor esta en LINUX o en windows y en que
> versión.
> - No alcanza con colocar el debug del error, debes indicar que necesitas que
> haga el código.
> - Comparte tu código en un servidor abierto como Launchpad u otro.
> - Si haces un manual, tutorial o algo de interés comunal, trata de usar
> google docs.
>
> Tu tiempo es tan valioso como el de cualquiera de la comunidad. Aquí se
> valora el aporte que hagas.
>
> Nuestras normas mínimas de convivencia puede leerlas en
> https://groups.google.com/d/forum/odoo-argentina?hl=es-ES
> ---
> Has recibido este mensaje porque estás suscrito al grupo "odoo-Argentina -
> Preguntas y respuestas para personalizadores" de Grupos de Google.
> Para anular la suscripción a este grupo y dejar de recibir sus mensajes,
> envía un correo electrónico a odoo-argentin...@googlegroups.com.
> Para publicar una entrada en este grupo, envía un correo electrónico a
> odoo-ar...@googlegroups.com.
> Para obtener más opciones, visita https://groups.google.com/d/optout.
>


--
Gabriel.

Daniel Bareiro

unread,
Aug 24, 2015, 5:23:48 PM8/24/15
to odoo-ar...@googlegroups.com
Hola, Gabriel.

El 24 de agosto de 2015, 5:49 p. m., Gabriel Davini
<gabrielfran...@gmail.com> escribió:

> Si querés podés probar instalar todo de cero, teniendo en cuenta que
> luego de instalar point of sale instales a mano el chart of account.

Este orden de instalación parece no dar errores:

* l10n_ar_chart_of_account (Plan de cuentas básico Argentina)
* base_vat_ar (Chequeo de CUIT/CUIL)
* l10n_ar_point_of_sale (Punto de Venta)
* l10n_ar_account_payment (Cobros y pagos)
* l10n_ar_account_check (Gestión de Cheques)
* 10n_ar_account_create_check (Gestión de chequeras)
* l10n_ar_retentions_basic (Retenciones)

Lo voy a volver a probar y confirmo.

Saludos,
Daniel

Daniel Bareiro

unread,
Aug 24, 2015, 6:13:21 PM8/24/15
to odoo-ar...@googlegroups.com
Hola de nuevo.

El 24 de agosto de 2015, 6:23 p. m., Daniel Bareiro
<dbar...@gmail.com> escribió:

> Este orden de instalación parece no dar errores:
>
> * l10n_ar_chart_of_account (Plan de cuentas básico Argentina)
> * base_vat_ar (Chequeo de CUIT/CUIL)
> * l10n_ar_point_of_sale (Punto de Venta)
> * l10n_ar_account_payment (Cobros y pagos)
> * l10n_ar_account_check (Gestión de Cheques)
> * 10n_ar_account_create_check (Gestión de chequeras)
> * l10n_ar_retentions_basic (Retenciones)
>
> Lo voy a volver a probar y confirmo.

Confirmo 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).


En el log 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...
---------------------------------------------------------------------------------------------------------------------------------


Saludos,
Daniel

Daniel Blanco

unread,
Aug 25, 2015, 11:49:46 AM8/25/15
to odoo-Argentina - Preguntas y respuestas para personalizadores
Si hay muchos modulos instalados, tarda varios minutos.. pero deberías ir viendo progreso en el log.

Gabriel Davini

unread,
Aug 25, 2015, 1:23:39 PM8/25/15
to odoo-ar...@googlegroups.com
Vos sabés que no estoy seguro si eso es un error de algún módulo en particular. Ya he visto varias veces ese mismo trace, se me hace que es alguna pavada del lado del servidor, si te fijás no molesta en nada. Lo busqué un poco y vi que hay gente que ha reportado el mismo problema [0] y [1].

Por lo que entiendo de acá[2], sucede cuando más de una transacción tienen bloqueada una fila de una tabla, una de las trasacciones realiza un commit y cualquiera de las otras que quería tocar esa fila es pateada con ese error.

Saludos!

Daniel Bareiro

unread,
Aug 27, 2015, 9:08:49 AM8/27/15
to odoo-ar...@googlegroups.com
Hola, Gabriel.

El 25 de agosto de 2015, 2:23 p. m., Gabriel Davini
<gabrielfran...@gmail.com> escribió:

> Vos sabés que no estoy seguro si eso es un error de algún módulo en
> particular. Ya he visto varias veces ese mismo trace, se me hace que es
> alguna pavada del lado del servidor, si te fijás no molesta en nada. Lo
> busqué un poco y vi que hay gente que ha reportado el mismo problema [0] y
> [1].
>
> Por lo que entiendo de acá[2], sucede cuando más de una transacción tienen
> bloqueada una fila de una tabla, una de las trasacciones realiza un commit y
> cualquiera de las otras que quería tocar esa fila es pateada con ese error.

Sí, había estado viendo que ese mensaje de error venía por el lado de
PostgreSQL cuando Odoo intentaba actualizar una tabla. Parece ser que
esto genera algún tipo de condición de carrera, lo que hace que su
aparición sea no siempre reproducible.

Al margen de estos errores, ¿alguien tiene alguna documentación sobre
el uso de estos módulos? Vi algunos videos en el sitio del proyecto
[1], pero no estoy seguro si estoy perdiéndome algo. Será que tal vez
me quedé con la idea de lo que habíamos visto hace un tiempo en un
taller organizado en este grupo [2] (no volví a hacer pruebas en Odoo
con la localización desde aquel entonces) y en esa localización las
cosas parecían estar "más a la vista" por decirlo de alguna manera. Lo
que no significa que acá no se puedan hacer, sino que haya que darle
algunas otras vueltas. Pero sin documentación, videos u otras
referencias se me complica un poco y estoy pensando en si a causa de
esto me conviene seguir con esta localización o hacer pruebas con
otra.

Por mencionar un ejemplo, vi que en uno de los videos cargan un
cliente y al momento de configurar el domicilio, los datos se
completan automáticamente de manera predictiva como si estuvieran
cargados en una lista de provincias Argentinas, pero en mi caso eso no
sucedía.

Apreciaría algunas comentarios/recomendaciones al respecto.

Gracias por las referencias y por responder.

Saludos,
Daniel

[1] http://proyectoaconcagua.com.ar/modulos.html
[2] https://www.youtube.com/watch?v=uT9QosschoI
Reply all
Reply to author
Forward
0 new messages