Related
I'm trying to get a client_order_ref from a sale order, from the account.invoice module. I don't know why it says that the field doesn't exits, and the field it's defined. Please help me
Python code
from odoo import models, fields, api, _
class AccountInvoice(models.Model):
_inherit = 'account.invoice'
client_order_ref = fields.Char(string="Client Order Ref", compute="get_client_from_sale_order")
#api.depends('name')
def get_client_from_sale_order(self):
self.ensure_one()
for rec in self:
sale_order = self.env['sale.order'].search(
[('name', '=', rec.origin)]
)
rec.client_order_ref = sale_order.client_order_ref
XML code
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="invoice_tree" model="ir.ui.view">
<field name="name">account_invoice_tree_inherit</field>
<field name="model">account.invoice</field>
<field name="inherit_id" ref="account.invoice_tree"/>
<field name="arch" type="xml">
<xpath expr="//field[#name='partner_id']" position="after">
<field name="client_order_ref"/>
</xpath>
</field>
</record>
</odoo>
TRACEBACK
Error: Odoo Server Error
Traceback (most recent call last): File
"/opt/odoo/custom/src/odoo/odoo/models.py", line 1128, in
_validate_fields
check(self) File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_ui_view.py",
line 351, in _check_xml
self.postprocess_and_fields(view.model, view_doc, view.id) File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_ui_view.py",
line 1138, in postprocess_and_fields
self.raise_view_error(message, view_id) File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_ui_view.py",
line 568, in raise_view_error
raise ValueError(message) ValueError: Field client_order_ref does not exist
Error context: View account_invoice_tree_inherit [view_id: 1311,
xml_id: cloudpiles_custom.invoice_tree, model: account.invoice,
parent_id: 681]
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File
"/opt/odoo/custom/src/odoo/odoo/tools/convert.py", line 758, in parse
self._tags[rec.tag](rec, de, mode=mode) File "/opt/odoo/custom/src/odoo/odoo/tools/convert.py", line 663, in
_tag_record
record = model.with_context(rec_context)._load_records([data], self.mode == 'update') File
"/opt/odoo/custom/src/odoo/odoo/models.py", line 3883, in
_load_records
data['record']._load_records_write(data['values']) File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_ui_view.py",
line 1542, in _load_records_write
super(View, self)._load_records_write(values) File "/opt/odoo/custom/src/odoo/odoo/models.py", line 3821, in
_load_records_write
self.write(values) File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_ui_view.py",
line 445, in write
res = super(View, self).write(self._compute_defaults(vals)) File "/opt/odoo/custom/src/odoo/odoo/models.py", line 3392, in write
fields[0].determine_inverse(records) File "/opt/odoo/custom/src/odoo/odoo/fields.py", line 1200, in
determine_inverse
getattr(records, self.inverse)() File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_ui_view.py",
line 275, in _inverse_arch
view.write(data) File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_ui_view.py",
line 445, in write
res = super(View, self).write(self._compute_defaults(vals)) File "/opt/odoo/custom/src/odoo/odoo/models.py", line 3366, in write
self._write(store_vals) File "/opt/odoo/custom/src/odoo/odoo/models.py", line 3502, in _write
self._validate_fields(vals) File "/opt/odoo/custom/src/odoo/odoo/models.py", line 1132, in
validate_fields
raise ValidationError("%s\n\n%s" % (("Error while validating constraint"), tools.ustr(e))) odoo.exceptions.ValidationError: ('Error
while validating constraint\n\nField client_order_ref does not
exist\n\nError context:\nView
account_invoice_tree_inherit\n[view_id: 1311, xml_id:
cloudpiles_custom.invoice_tree, model: account.invoice, parent_id:
681]', None)
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File
"/opt/odoo/custom/src/odoo/odoo/http.py", line 656, in
_handle_exception
return super(JsonRequest, self)._handle_exception(exception) File "/opt/odoo/custom/src/odoo/odoo/http.py", line 314, in
_handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2]) File
"/opt/odoo/custom/src/odoo/odoo/tools/pycompat.py", line 87, in
reraise
raise value File "/opt/odoo/custom/src/odoo/odoo/http.py", line 698, in dispatch
result = self._call_function(**self.params) File "/opt/odoo/custom/src/odoo/odoo/http.py", line 346, in _call_function
return checked_call(self.db, *args, **kwargs) File "/opt/odoo/custom/src/odoo/odoo/service/model.py", line 98, in wrapper
return f(dbname, *args, **kwargs) File "/opt/odoo/custom/src/odoo/odoo/http.py", line 339, in checked_call
result = self.endpoint(*a, **kw) File "/opt/odoo/custom/src/odoo/odoo/http.py", line 941, in call
return self.method(*args, **kw) File "/opt/odoo/custom/src/odoo/odoo/http.py", line 519, in response_wrap
response = f(*args, **kw) File "/opt/odoo/auto/addons/web/controllers/main.py", line 967, in
call_button
action = self._call_kw(model, method, args, {}) File "/opt/odoo/auto/addons/web/controllers/main.py", line 955, in _call_kw
return call_kw(request.env[model], method, args, kwargs) File "/opt/odoo/custom/src/odoo/odoo/api.py", line 759, in call_kw
return _call_kw_multi(method, model, args, kwargs) File "/opt/odoo/custom/src/odoo/odoo/api.py", line 746, in _call_kw_multi
result = method(recs, *args, **kwargs) File "", line 2, in button_immediate_upgrade File
"/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_module.py", line
75, in check_and_log
return method(self, *args, **kwargs) File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_module.py", line
628, in button_immediate_upgrade
return self._button_immediate_function(type(self).button_upgrade) File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_module.py",
line 562, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True) File "/opt/odoo/custom/src/odoo/odoo/modules/registry.py", line 86, in
new
odoo.modules.load_modules(registry._db, force_demo, status, update_module) File
"/opt/odoo/custom/src/odoo/odoo/modules/loading.py", line 417, in
load_modules
force, status, report, loaded_modules, update_module, models_to_check) File
"/opt/odoo/custom/src/odoo/odoo/modules/loading.py", line 313, in
load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check File "/opt/odoo/custom/src/odoo/odoo/modules/loading.py", line 222, in
load_module_graph
load_data(cr, idref, mode, kind='data', package=package, report=report) File
"/opt/odoo/custom/src/odoo/odoo/modules/loading.py", line 68, in
load_data
tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report) File
"/opt/odoo/custom/src/odoo/odoo/tools/convert.py", line 802, in
convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report) File "/opt/odoo/custom/src/odoo/odoo/tools/convert.py", line 865, in
convert_xml_import
obj.parse(doc.getroot(), mode=mode) File "/opt/odoo/custom/src/odoo/odoo/tools/convert.py", line 764, in parse
exc_info[2] File "/opt/odoo/custom/src/odoo/odoo/tools/pycompat.py", line 86, in
reraise
raise value.with_traceback(tb) File "/opt/odoo/custom/src/odoo/odoo/tools/convert.py", line 758, in parse
self._tags[rec.tag](rec, de, mode=mode) File "/opt/odoo/custom/src/odoo/odoo/tools/convert.py", line 663, in
_tag_record
record = model.with_context(rec_context)._load_records([data], self.mode == 'update') File
"/opt/odoo/custom/src/odoo/odoo/models.py", line 3883, in
_load_records
data['record']._load_records_write(data['values']) File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_ui_view.py",
line 1542, in _load_records_write
super(View, self)._load_records_write(values) File "/opt/odoo/custom/src/odoo/odoo/models.py", line 3821, in
_load_records_write
self.write(values) File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_ui_view.py",
line 445, in write
res = super(View, self).write(self._compute_defaults(vals)) File "/opt/odoo/custom/src/odoo/odoo/models.py", line 3392, in write
fields[0].determine_inverse(records) File "/opt/odoo/custom/src/odoo/odoo/fields.py", line 1200, in
determine_inverse
getattr(records, self.inverse)() File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_ui_view.py",
line 275, in _inverse_arch
view.write(data) File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_ui_view.py",
line 445, in write
res = super(View, self).write(self._compute_defaults(vals)) File "/opt/odoo/custom/src/odoo/odoo/models.py", line 3366, in write
self._write(store_vals) File "/opt/odoo/custom/src/odoo/odoo/models.py", line 3502, in _write
self._validate_fields(vals) File "/opt/odoo/custom/src/odoo/odoo/models.py", line 1132, in
validate_fields
raise ValidationError("%s\n\n%s" % (("Error while validating constraint"), tools.ustr(e))) odoo.tools.convert.ParseError: "Error
while validating constraint
Field client_order_ref does not exist
Error context: View account_invoice_tree_inherit [view_id: 1311,
xml_id: cloudpiles_custom.invoice_tree, model: account.invoice,
parent_id: 681] None" while parsing
/opt/odoo/auto/addons/cloudpiles_custom/views/account_invoice_view.xml:3,
near
account_invoice_tree_inherit
account.invoice
I guess, you forgot an important point about inheritance from odoo's models...
when you added a new field on existing model in odoo's modules ,first of all you have to upgrading your module with command, not with odoo interface...
just run this command: ./odoo-bin -c /etc/odoo-server.conf -d data_base_name -u module_name
I hope this will help you.
i got error when i add field into views.xml file.
when i am trying to update myb custom module which a field is links to a new model i am getting.
error : odoo.tools.convert.ParseError
can you please help me
please give me answer for this.
i installed odoo 14 version on my ubuntu system
Error:
Odoo Server Error
Traceback (most recent call last):
File "/odoo-14/odoo-14-server/odoo/tools/convert.py", line 677, in _tag_root
f(rec)
File "/odoo-14/odoo-14-server/odoo/tools/convert.py", line 492, in _tag_record
model = env[rec_model]
File "/odoo-14/odoo-14-server/odoo/api.py", line 476, in __getitem__
return self.registry[model_name]._browse(self, (), ())
File "/odoo-14/odoo-14-server/odoo/modules/registry.py", line 177, in __getitem__
return self.models[model_name]
KeyError: 'view_order_form_inherit_new'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/odoo-14/odoo-14-server/odoo/addons/base/models/ir_http.py", line 237, in _dispatch
result = request.dispatch()
File "/odoo-14/odoo-14-server/odoo/http.py", line 683, in dispatch
result = self._call_function(**self.params)
File "/odoo-14/odoo-14-server/odoo/http.py", line 359, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/odoo-14/odoo-14-server/odoo/service/model.py", line 94, in wrapper
return f(dbname, *args, **kwargs)
File "/odoo-14/odoo-14-server/odoo/http.py", line 347, in checked_call
result = self.endpoint(*a, **kw)
File "/odoo-14/odoo-14-server/odoo/http.py", line 912, in __call__
return self.method(*args, **kw)
File "/odoo-14/odoo-14-server/odoo/http.py", line 531, in response_wrap
response = f(*args, **kw)
File "/odoo-14/odoo-14-server/addons/web/controllers/main.py", line 1394, in call_button
action = self._call_kw(model, method, args, kwargs)
File "/odoo-14/odoo-14-server/addons/web/controllers/main.py", line 1382, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/odoo-14/odoo-14-server/odoo/api.py", line 399, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/odoo-14/odoo-14-server/odoo/api.py", line 386, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-78>", line 2, in button_immediate_upgrade
File "/odoo-14/odoo-14-server/odoo/addons/base/models/ir_module.py", line 74, in check_and_log
return method(self, *args, **kwargs)
File "/odoo-14/odoo-14-server/odoo/addons/base/models/ir_module.py", line 654, in button_immediate_upgrade
return self._button_immediate_function(type(self).button_upgrade)
File "/odoo-14/odoo-14-server/odoo/addons/base/models/ir_module.py", line 593, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "/odoo-14/odoo-14-server/odoo/modules/registry.py", line 89, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/odoo-14/odoo-14-server/odoo/modules/loading.py", line 455, in load_modules
processed_modules += load_marked_modules(cr, graph,
File "/odoo-14/odoo-14-server/odoo/modules/loading.py", line 347, in load_marked_modules
loaded, processed = load_module_graph(
File "/odoo-14/odoo-14-server/odoo/modules/loading.py", line 222, in load_module_graph
load_data(cr, idref, mode, kind='data', package=package)
File "/odoo-14/odoo-14-server/odoo/modules/loading.py", line 69, in load_data
tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind)
File "/odoo-14/odoo-14-server/odoo/tools/convert.py", line 733, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate)
File "/odoo-14/odoo-14-server/odoo/tools/convert.py", line 799, in convert_xml_import
obj.parse(doc.getroot())
File "/odoo-14/odoo-14-server/odoo/tools/convert.py", line 719, in parse
self._tag_root(de)
File "/odoo-14/odoo-14-server/odoo/tools/convert.py", line 677, in _tag_root
f(rec)
File "/odoo-14/odoo-14-server/odoo/tools/convert.py", line 681, in _tag_root
raise ParseError('while parsing %s:%s, near\n%s' % (
Exception
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/odoo-14/odoo-14-server/odoo/http.py", line 639, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/odoo-14/odoo-14-server/odoo/http.py", line 315, in _handle_exception
raise exception.with_traceback(None) from new_cause
odoo.tools.convert.ParseError: while parsing /odoo-14/custom/addons/om_odoo_inheritance/views/sale_order.xml:4, near
<record id="ir.ui.view" model="view_order_form_inherit_new">
<field name="name">sale.order.inherit</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="//field[#name='payment_term_id']" position="after">
<field name="confirmed_user_id"/>
</xpath>
</field>
</record>
You've mixed up id and model. You have to swap them:
<record id="view_order_form_inherit_new" model="ir.ui.view">
I was trying to upgrade a module from Odoo 13 to Odoo 14 (stock_split_picking to be exact), I found an error that I don't really understand and I can't figure how to fix it.
It's an error that happen when I want to install the module, and after hours of search on the internet, hours of just reading Odoo's code in a hope of understanding what's happening... I just can't understand where is the problem, nothing seems to be anormal from what I've read on Odoo's Documentation on their website.
Here is my error :
Odoo Server Error
Traceback (most recent call last):
File "/opt/odoo/odoo/odoo/tools/convert.py", line 677, in _tag_root
f(rec)
File "/opt/odoo/odoo/odoo/tools/convert.py", line 580, in _tag_record
record = model._load_records([data], self.mode == 'update')
File "/opt/odoo/odoo/odoo/models.py", line 4185, in _load_records
records = self._load_records_create([data['values'] for data in to_create])
File "/opt/odoo/odoo/odoo/models.py", line 4114, in _load_records_create
return self.create(values)
File "<decorator-gen-43>", line 2, in create
File "/opt/odoo/odoo/odoo/api.py", line 345, in _model_create_multi
return create(self, arg)
File "/opt/odoo/odoo/odoo/addons/base/models/ir_ui_view.py", line 482, in create
return super(View, self).create(vals_list)
File "<decorator-gen-65>", line 2, in create
File "/opt/odoo/odoo/odoo/api.py", line 345, in _model_create_multi
return create(self, arg)
File "/opt/odoo/odoo/odoo/addons/base/models/ir_fields.py", line 508, in create
recs = super().create(vals_list)
File "<decorator-gen-13>", line 2, in create
File "/opt/odoo/odoo/odoo/api.py", line 345, in _model_create_multi
return create(self, arg)
File "/opt/odoo/odoo/odoo/models.py", line 3875, in create
fields[0].determine_inverse(batch_recs)
File "/opt/odoo/odoo/odoo/fields.py", line 1128, in determine_inverse
getattr(records, self.inverse)()
File "/opt/odoo/odoo/odoo/addons/base/models/ir_ui_view.py", line 300, in _inverse_arch
view.write(data)
File "/opt/odoo/odoo/odoo/addons/base/models/ir_ui_view.py", line 500, in write
res = super(View, self).write(self._compute_defaults(vals))
File "/opt/odoo/odoo/odoo/models.py", line 3664, in write
real_recs._validate_fields(set(vals) - set(inverse_fields))
File "/opt/odoo/odoo/odoo/models.py", line 1249, in _validate_fields
check(self)
File "/opt/odoo/odoo/odoo/addons/base/models/ir_ui_view.py", line 385, in _check_xml
view_def = view.read_combined(['arch'])
File "/opt/odoo/odoo/odoo/addons/base/models/ir_ui_view.py", line 813, in read_combined
arch = root.apply_view_inheritance(arch_tree, self.model)
File "/opt/odoo/odoo/odoo/addons/base/models/ir_ui_view.py", line 755, in apply_view_inheritance
return self._apply_view_inheritance(source, inherit_tree)
File "/opt/odoo/odoo/odoo/addons/base/models/ir_ui_view.py", line 764, in _apply_view_inheritance
source = view._apply_view_inheritance(source, inherit_tree)
File "/opt/odoo/odoo/odoo/addons/base/models/ir_ui_view.py", line 760, in _apply_view_inheritance
arch_tree = etree.fromstring(view.arch.encode('utf-8'))
File "src/lxml/lxml.etree.pyx", line 3213, in lxml.etree.fromstring (src/lxml/lxml.etree.c:79003)
File "src/lxml/parser.pxi", line 1848, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:118334)
File "src/lxml/parser.pxi", line 1736, in lxml.etree._parseDoc (src/lxml/lxml.etree.c:117014)
File "src/lxml/parser.pxi", line 1102, in lxml.etree._BaseParser._parseDoc (src/lxml/lxml.etree.c:111258)
File "src/lxml/parser.pxi", line 595, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:105102)
File "src/lxml/parser.pxi", line 706, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:106810)
File "src/lxml/parser.pxi", line 646, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:105956)
File "<string>", line 0
lxml.etree.XMLSyntaxError: <no detail available>
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/odoo/odoo/odoo/addons/base/models/ir_http.py", line 237, in _dispatch
result = request.dispatch()
File "/opt/odoo/odoo/odoo/http.py", line 683, in dispatch
result = self._call_function(**self.params)
File "/opt/odoo/odoo/odoo/http.py", line 359, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/odoo/odoo/odoo/service/model.py", line 94, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/odoo/odoo/odoo/http.py", line 347, in checked_call
result = self.endpoint(*a, **kw)
File "/opt/odoo/odoo/odoo/http.py", line 912, in __call__
return self.method(*args, **kw)
File "/opt/odoo/odoo/odoo/http.py", line 531, in response_wrap
response = f(*args, **kw)
File "/opt/odoo/odoo/addons/web/controllers/main.py", line 1367, in call_button
action = self._call_kw(model, method, args, kwargs)
File "/opt/odoo/odoo/addons/web/controllers/main.py", line 1355, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/opt/odoo/odoo/odoo/api.py", line 396, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/opt/odoo/odoo/odoo/api.py", line 383, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "/opt/odoo/odoo/addons/gfi_base/models/ir_module_module.py", line 35, in button_immediate_install
return super(IrModuleModule, self).button_immediate_install()
File "<decorator-gen-72>", line 2, in button_immediate_install
File "/opt/odoo/odoo/odoo/addons/base/models/ir_module.py", line 73, in check_and_log
return method(self, *args, **kwargs)
File "/opt/odoo/odoo/odoo/addons/base/models/ir_module.py", line 474, in button_immediate_install
return self._button_immediate_function(type(self).button_install)
File "/opt/odoo/odoo/odoo/addons/base/models/ir_module.py", line 592, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "/opt/odoo/odoo/odoo/modules/registry.py", line 89, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/opt/odoo/odoo/odoo/modules/loading.py", line 455, in load_modules
loaded_modules, update_module, models_to_check)
File "/opt/odoo/odoo/odoo/modules/loading.py", line 348, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check
File "/opt/odoo/odoo/odoo/modules/loading.py", line 221, in load_module_graph
load_data(cr, idref, mode, kind='data', package=package)
File "/opt/odoo/odoo/odoo/modules/loading.py", line 69, in load_data
tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind)
File "/opt/odoo/odoo/odoo/tools/convert.py", line 733, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate)
File "/opt/odoo/odoo/odoo/tools/convert.py", line 799, in convert_xml_import
obj.parse(doc.getroot())
File "/opt/odoo/odoo/odoo/tools/convert.py", line 719, in parse
self._tag_root(de)
File "/opt/odoo/odoo/odoo/tools/convert.py", line 677, in _tag_root
f(rec)
File "/opt/odoo/odoo/odoo/tools/convert.py", line 685, in _tag_root
)) from e
Exception
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/odoo/odoo/odoo/http.py", line 639, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/opt/odoo/odoo/odoo/http.py", line 315, in _handle_exception
raise exception.with_traceback(None) from new_cause
odoo.tools.convert.ParseError: while parsing /opt/odoo/odoo/addons/stock/views/res_partner_views.xml:8, near
<record id="view_partner_stock_form" model="ir.ui.view">
<field name="name">res.partner.stock.property.form.inherit</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="mail.res_partner_view_form_inherit_mail"/>
<field name="arch" type="xml">
<xpath expr="//page[#name='sales_purchases']/group" position="inside">
<group name="container_row_stock" groups="base.group_no_one" priority="6">
<group string="Inventory" name="inventory" colspan="2">
<field name="property_stock_customer"/>
<field name="property_stock_supplier"/>
</group>
</group>
</xpath>
</field>
</record>
My first thought was that the xpath was bad, but the error is not the same as an xpath error.
I already tried to delete this record for the installation, and then rewrite the record after having installing the module, and magic : the module can be upgraded without any error. Problem is that when we want to use the module, the error come again and make it impossible to use the module.
I do have a new odoo 8 installation on a synology rackstation and experience trouble sending some email: e.g. confirm a sales order to the client.
Odoo Configuration: Odoo-8, Webstation on
Sending an email from the Odoo admin -> email - email is OK
Odoo is sending an automated "system notification" confirming a sales order: Document Model: sale.order, OK
Printing a sales order- ok, however warning wkhtmltopdf is missing
Confirming a sales order by email- Not Good -> Error
OpenERP Server Error
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/openerp/http.py", line 499, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/usr/local/lib/python2.7/site-packages/openerp/http.py", line 516, in dispatch
result = self._call_function(**self.params)
File "/usr/local/lib/python2.7/site-packages/openerp/http.py", line 282, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/openerp/service/model.py", line 113, in wrapper
return f(dbname, *args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/openerp/http.py", line 279, in checked_call
return self.endpoint(*a, **kw)
File "/usr/local/lib/python2.7/site-packages/openerp/http.py", line 732, in __call__
return self.method(*args, **kw)
File "/usr/local/lib/python2.7/site-packages/openerp/http.py", line 375, in response_wrap
response = f(*args, **kw)
File "/var/packages/Odoo8/target/addons/web/controllers/main.py", line 944, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/var/packages/Odoo8/target/addons/web/controllers/main.py", line 936, in _call_kw
return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/var/packages/Odoo8/target/addons/email_template/wizard/mail_compose_message.py", line 54, in default_get
res.get('model'), res.get('res_id'), context=context
File "/usr/local/lib/python2.7/site-packages/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/var/packages/Odoo8/target/addons/email_template/wizard/mail_compose_message.py", line 103, in onchange_template_id
values = self.generate_email_for_composer_batch(cr, uid, template_id, [res_id], context=context)[res_id]
File "/usr/local/lib/python2.7/site-packages/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/var/packages/Odoo8/target/addons/email_template/wizard/mail_compose_message.py", line 167, in generate_email_for_composer_batch
template_values = self.pool.get('email.template').generate_email_batch(cr, uid, template_id, res_ids, fields=fields, context=ctx)
File "/usr/local/lib/python2.7/site-packages/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/var/packages/Odoo8/target/addons/email_template/email_template.py", line 514, in generate_email_batch
result, format = self.pool['report'].get_pdf(cr, uid, [res_id], report_service, context=ctx), 'pdf'
File "/usr/local/lib/python2.7/site-packages/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/var/packages/Odoo8/target/addons/report/models/report.py", line 252, in get_pdf
paperformat, specific_paperformat_args, save_in_attachment
File "/usr/local/lib/python2.7/site-packages/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/var/packages/Odoo8/target/addons/report/models/report.py", line 416, in _run_wkhtmltopdf
process = subprocess.Popen(wkhtmltopdf, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
I am not certain if the trouble is just the missing subprocess.Popen(wkhtmltopdf ...or a script error at line 710 or 1335?
I have not downloaded the script but may be somebody know the subprocess.py as I have no python experience.
Thank you!
I'm developing an OpenERP module and it contains too many class and when i try to install it i go that errors and i can't find which class have this error what should i do (i develop with eclipse IDE)
Traceback (most recent call last):
File "C:\Users\Mostafa\PycharmProjects\odoo\odoo8\openerp\http.py", line 517, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "C:\Users\Mostafa\PycharmProjects\odoo\odoo8\openerp\http.py", line 538, in dispatch
result = self._call_function(**self.params)
File "C:\Users\Mostafa\PycharmProjects\odoo\odoo8\openerp\http.py", line 294, in _call_function
return checked_call(self.db, *args, **kwargs)
File "C:\Users\Mostafa\PycharmProjects\odoo\odoo8\openerp\service\model.py", line 113, in wrapper
return f(dbname, *args, **kwargs)
File "C:\Users\Mostafa\PycharmProjects\odoo\odoo8\openerp\http.py", line 291, in checked_call
return self.endpoint(*a, **kw)
File "C:\Users\Mostafa\PycharmProjects\odoo\odoo8\openerp\http.py", line 754, in __call__
return self.method(*args, **kw)
File "C:\Users\Mostafa\PycharmProjects\odoo\odoo8\openerp\http.py", line 387, in response_wrap
response = f(*args, **kw)
File "C:\Users\Mostafa\PycharmProjects\odoo\odoo8\addons\web\controllers\main.py", line 953, in call_button
action = self._call_kw(model, method, args, {})
File "C:\Users\Mostafa\PycharmProjects\odoo\odoo8\addons\web\controllers\main.py", line 941, in _call_kw
return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
File "C:\Users\Mostafa\PycharmProjects\odoo\odoo8\openerp\api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "C:\Users\Mostafa\PycharmProjects\odoo\odoo8\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 "C:\Users\Mostafa\PycharmProjects\odoo\odoo8\openerp\api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "C:\Users\Mostafa\PycharmProjects\odoo\odoo8\openerp\addons\base\module\module.py", line 498, in _button_immediate_function
registry = openerp.modules.registry.RegistryManager.new(cr.dbname, update_module=True)
File "C:\Users\Mostafa\PycharmProjects\odoo\odoo8\openerp\modules\registry.py", line 341, in new
openerp.modules.load_modules(registry._db, force_demo, status, update_module)
File "C:\Users\Mostafa\PycharmProjects\odoo\odoo8\openerp\modules\loading.py", line 358, in load_modules
loaded_modules, update_module)
File "C:\Users\Mostafa\PycharmProjects\odoo\odoo8\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 "C:\Users\Mostafa\PycharmProjects\odoo\odoo8\openerp\modules\loading.py", line 158, in load_module_graph
models = registry.load(cr, package)
File "C:\Users\Mostafa\PycharmProjects\odoo\odoo8\openerp\modules\registry.py", line 148, in load
model = cls._build_model(self, cr)
File "C:\Users\Mostafa\PycharmProjects\odoo\odoo8\openerp\models.py", line 653, in _build_model
'_inherits': dict(cls._inherits),
ValueError: dictionary update sequence element #0 has length 11; 2 is required
It's very hard (verging on impossible) to answer without seeing your actual code. The problem is clearly in _inherits definition in one of your models.
Most likely you mixed up _inherits and _inherit. While the later one can be a either a list or a single string, _inherits has to be a dictionary.
It seems you might have erroneously defined _inherits as a list (instead of dict), because you really intended to use _inherit.
'_inherits': dict(cls._inherits), you just check it out whether you did right way or not. i am also beginner in openErp.but i think you have problem with this line. and Mr.Ludwik is correct without knowing the codes how can be possible to tell the error.