У меня есть 3 аддон-модуля, которые мне нужно импортировать в Odoo v11 Enterprise Edition, которая находится в моей среде Odoo. sh. Мне удалось успешно импортировать два модуля, но в третьем случае я получаю сообщение об ошибке сервера Odoo. Это сообщение об ошибке, которое я получаю. Кто-нибудь имел подобные проблемы и может предложить некоторую помощь
Error:
Odoo Server Error
Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/models.py", line 1046, in _validate_fields
check(self)
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 342, in _check_xml
self.postprocess_and_fields(view.model, view_doc, view.id)
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 1082, in postprocess_and_fields
self.raise_view_error("\n".join(msg_lines), view_id)
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 519, in raise_view_error
raise ValueError(message)
ValueError: Field 'x_studio_over_credit' used in attributes must be present in view but is missing:
- 'x_studio_over_credit' in attrs="{'invisible': ['|', ('state', 'not in', ['draft']), ('x_studio_over_credit', '!=', False)]}"
- 'x_studio_over_credit' in attrs="{'invisible': ['|', ('state', 'not in', ['sent']), ('x_studio_over_credit', '!=', False)]}"
Error context:
View `view.sales.form.extend.one`
[view_id: 2257, xml_id: n/a, model: sale.order, parent_id: 844]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 745, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 655, in _tag_record
id = self.env(context=rec_context)['ir.model.data']._update(rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode)
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_model.py", line 1513, in _update
record = record.create(values)
File "/home/odoo/src/enterprise/web_studio/models/studio_mixin.py", line 18, in create
res = super(StudioMixin, self).create(vals)
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 408, in create
return super(View, self).create(self._compute_defaults(values))
File "/home/odoo/src/odoo/odoo/models.py", line 3434, in create
self._fields[key].determine_inverse(record)
File "/home/odoo/src/odoo/odoo/fields.py", line 1085, in determine_inverse
getattr(records, self.inverse)()
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 273, in _inverse_arch
view.write(data)
File "/home/odoo/src/enterprise/web_studio/models/studio_mixin.py", line 27, in write
res = super(StudioMixin, self).write(vals)
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 424, in write
return super(View, self).write(self._compute_defaults(vals))
File "/home/odoo/src/odoo/odoo/models.py", line 3138, in write
self._write(old_vals)
File "/home/odoo/src/odoo/odoo/models.py", line 3309, in _write
self._validate_fields(vals)
File "/home/odoo/src/odoo/odoo/models.py", line 1050, 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 \'x_studio_over_credit\' used in attributes must be present in view but is missing:\n - \'x_studio_over_credit\' in attrs="{\'invisible\': [\'|\', (\'state\', \'not in\', [\'draft\']), (\'x_studio_over_credit\', \'!=\', False)]}"\n - \'x_studio_over_credit\' in attrs="{\'invisible\': [\'|\', (\'state\', \'not in\', [\'sent\']), (\'x_studio_over_credit\', \'!=\', False)]}"\n\nError context:\nView `view.sales.form.extend.one`\n[view_id: 2257, xml_id: n/a, model: sale.order, parent_id: 844]', None)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/http.py", line 653, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/odoo/src/odoo/odoo/http.py", line 312, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/home/odoo/src/odoo/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/home/odoo/src/odoo/odoo/http.py", line 695, in dispatch
result = self._call_function(**self.params)
File "/home/odoo/src/odoo/odoo/http.py", line 344, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/odoo/src/odoo/odoo/service/model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "/home/odoo/src/odoo/odoo/http.py", line 337, in checked_call
result = self.endpoint(*a, **kw)
File "/home/odoo/src/odoo/odoo/http.py", line 939, in __call__
return self.method(*args, **kw)
File "/home/odoo/src/odoo/odoo/http.py", line 517, in response_wrap
response = f(*args, **kw)
File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 938, in call_button
action = self._call_kw(model, method, args, {})
File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 926, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/home/odoo/src/odoo/odoo/api.py", line 699, in call_kw
return call_kw_multi(method, model, args, kwargs)
File "/home/odoo/src/odoo/odoo/api.py", line 690, in call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-42>", line 2, in button_immediate_install
File "/home/odoo/src/odoo/odoo/addons/base/module/module.py", line 72, in check_and_log
return method(self, *args, **kwargs)
File "/home/odoo/src/odoo/odoo/addons/base/module/module.py", line 450, in button_immediate_install
return self._button_immediate_function(type(self).button_install)
File "/home/odoo/src/odoo/odoo/addons/base/module/module.py", line 552, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "/home/odoo/src/odoo/odoo/modules/registry.py", line 85, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 380, in load_modules
loaded_modules, update_module, models_to_check)
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 274, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 181, in load_module_graph
_load_data(cr, module_name, idref, mode, kind='data')
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 95, in _load_data
tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 792, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 853, in convert_xml_import
obj.parse(doc.getroot(), mode=mode)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 752, in parse
exc_info[2]
File "/home/odoo/src/odoo/odoo/tools/pycompat.py", line 86, in reraise
raise value.with_traceback(tb)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 745, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 655, in _tag_record
id = self.env(context=rec_context)['ir.model.data']._update(rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode)
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_model.py", line 1513, in _update
record = record.create(values)
File "/home/odoo/src/enterprise/web_studio/models/studio_mixin.py", line 18, in create
res = super(StudioMixin, self).create(vals)
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 408, in create
return super(View, self).create(self._compute_defaults(values))
File "/home/odoo/src/odoo/odoo/models.py", line 3434, in create
self._fields[key].determine_inverse(record)
File "/home/odoo/src/odoo/odoo/fields.py", line 1085, in determine_inverse
getattr(records, self.inverse)()
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 273, in _inverse_arch
view.write(data)
File "/home/odoo/src/enterprise/web_studio/models/studio_mixin.py", line 27, in write
res = super(StudioMixin, self).write(vals)
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 424, in write
return super(View, self).write(self._compute_defaults(vals))
File "/home/odoo/src/odoo/odoo/models.py", line 3138, in write
self._write(old_vals)
File "/home/odoo/src/odoo/odoo/models.py", line 3309, in _write
self._validate_fields(vals)
File "/home/odoo/src/odoo/odoo/models.py", line 1050, 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 'x_studio_over_credit' used in attributes must be present in view but is missing:
- 'x_studio_over_credit' in attrs="{'invisible': ['|', ('state', 'not in', ['draft']), ('x_studio_over_credit', '!=', False)]}"
- 'x_studio_over_credit' in attrs="{'invisible': ['|', ('state', 'not in', ['sent']), ('x_studio_over_credit', '!=', False)]}"
Error context:
View `view.sales.form.extend.one`
[view_id: 2257, xml_id: n/a, model: sale.order, parent_id: 844]
None" while parsing /home/odoo/src/odoo/addons/crm_customer_rating/views/views.xml:4, near
<record id="view_sales_form_extend_1" model="ir.ui.view">
<field name="name">view.sales.form.extend.one</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="//page[1]" position="after">
<page name="customer_satisfaction" string="Customer Satisfaction">
<group colspan="2" col="2">
<field name="quality_of_products" widget="priority"/>
<field name="acc_of_delivery" widget="priority"/>
<field name="order_satisfaction" widget="priority"/>
<field name="oa_package_rating" widget="priority"/>
</group>
</page>
</xpath>
</field>
</record>
Это мой XML Код
<record id="view_sales_form_extend_1" model="ir.ui.view">
<field name="name">view.sales.form.extend.one</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="//page[1]" position="after">
<page name="customer_satisfaction" string="Customer Satisfaction">
<group colspan="2" col="2">
<field name="quality_of_products" widget="priority"/>
<field name="acc_of_delivery" widget="priority"/>
<field name="order_satisfaction" widget="priority"/>
<field name="oa_package_rating" widget="priority"/>
</group>
</page>
</xpath>
</field>
</record>
<record id="view_sales_filter_extend" model="ir.ui.view">
<field name="name">view.sales.filter.extend.one</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_sales_order_filter"/>
<field name="arch" type="xml">
<xpath expr="//filter[@name='customer']" position="after">
<separator/>
<filter string="Quality of Products" name="quality_of_products" domain="[]" context="{'group_by':'quality_of_products'}"/>
<filter string="Accuracy of Delivery" name="acc_of_delivery" domain="[]" context="{'group_by':'acc_of_delivery'}"/>
<filter string="Order Satisfaction" name="order_satisfaction" domain="[]" context="{'group_by':'order_satisfaction'}"/>
<filter string="Overall Rating of Package" name="oa_package_rating" domain="[]" context="{'group_by':'oa_package_rating'}"/>
</xpath>
</field>
</record>
<record id="res_partner_customer_preferences" model="ir.ui.view">
<field name="name">res.partner.customer.preferences</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form" />
<field name="arch" type="xml">
<xpath expr="//page[@name='internal_notes']" position="after">
<page name="customer_preferences" string="Preferences">
<group colspan="2" col="2">
<field name="likes"/>
<field name="dislikes"/>
<field name="preferred_supply_time"/>
<field name="peculiarity_of_client"/>
</group>
</page>
</xpath>
</field>
</record>
Это новая ошибка, которую я получаю, когда Я изменил код в представлении. xml на
Error:
Odoo Server Error
Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/http.py", line 653, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/odoo/src/odoo/odoo/http.py", line 312, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/home/odoo/src/odoo/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/home/odoo/src/odoo/odoo/http.py", line 695, in dispatch
result = self._call_function(**self.params)
File "/home/odoo/src/odoo/odoo/http.py", line 344, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/odoo/src/odoo/odoo/service/model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "/home/odoo/src/odoo/odoo/http.py", line 337, in checked_call
result = self.endpoint(*a, **kw)
File "/home/odoo/src/odoo/odoo/http.py", line 939, in __call__
return self.method(*args, **kw)
File "/home/odoo/src/odoo/odoo/http.py", line 517, in response_wrap
response = f(*args, **kw)
File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 938, in call_button
action = self._call_kw(model, method, args, {})
File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 926, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/home/odoo/src/odoo/odoo/api.py", line 699, in call_kw
return call_kw_multi(method, model, args, kwargs)
File "/home/odoo/src/odoo/odoo/api.py", line 690, in call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-42>", line 2, in button_immediate_install
File "/home/odoo/src/odoo/odoo/addons/base/module/module.py", line 72, in check_and_log
return method(self, *args, **kwargs)
File "/home/odoo/src/odoo/odoo/addons/base/module/module.py", line 450, in button_immediate_install
return self._button_immediate_function(type(self).button_install)
File "/home/odoo/src/odoo/odoo/addons/base/module/module.py", line 552, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "/home/odoo/src/odoo/odoo/modules/registry.py", line 85, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 380, in load_modules
loaded_modules, update_module, models_to_check)
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 274, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 181, in load_module_graph
_load_data(cr, module_name, idref, mode, kind='data')
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 95, in _load_data
tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 792, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 836, in convert_xml_import
doc = etree.parse(xmlfile)
File "src/lxml/etree.pyx", line 3426, in lxml.etree.parse
File "src/lxml/parser.pxi", line 1861, in lxml.etree._parseDocument
File "src/lxml/parser.pxi", line 1881, in lxml.etree._parseFilelikeDocument
File "src/lxml/parser.pxi", line 1776, in lxml.etree._parseDocFromFilelike
File "src/lxml/parser.pxi", line 1187, in lxml.etree._BaseParser._parseDocFromFilelike
File "src/lxml/parser.pxi", line 601, in lxml.etree._ParserContext._handleParseResultDoc
File "src/lxml/parser.pxi", line 711, in lxml.etree._handleParseResult
File "src/lxml/parser.pxi", line 640, in lxml.etree._raiseParseError
File "/home/odoo/src/enterprise/crm_customer_rating/views/views.xml", line 10
lxml.etree.XMLSyntaxError: attributes construct error, line 10, column 82