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