Skip to Content
Menu
This question has been flagged
1 Reply
808 Views

i have used the below code to add field into manufacturing module but i am getting error


# -*- coding: utf-8 -*-

from odoo import models, fields, api


class SalesOrderManufacturing(models.Model):
_inherit = "mrp.production"

sale_mo = fields.Char(string="Sale order no")

in xml i have added this




manufacturing.inherited.field5
mrp.production


position="after">





Odoo Server Error
Traceback (most recent call last):
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\tools\convert.py", line 677, in _tag_root
    f(rec)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\tools\convert.py", line 580, in _tag_record
    record = model._load_records([data], self.mode == 'update')
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\models.py", line 4205, in _load_records
    records = self._load_records_create([data['values'] for data in to_create])
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\models.py", line 4134, in _load_records_create
    return self.create(values)
  File "", line 2, in create
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\api.py", line 345, in _model_create_multi
    return create(self, arg)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\addons\base\models\ir_ui_view.py", line 482, in create
    return super(View, self).create(vals_list)
  File "", line 2, in create
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\api.py", line 345, in _model_create_multi
    return create(self, arg)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\addons\base\models\ir_fields.py", line 534, in create
    recs = super().create(vals_list)
  File "", line 2, in create
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\api.py", line 345, in _model_create_multi
    return create(self, arg)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\models.py", line 3895, in create
    fields[0].determine_inverse(batch_recs)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\fields.py", line 1185, in determine_inverse
    getattr(records, self.inverse)()
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\addons\base\models\ir_ui_view.py", line 300, in _inverse_arch
    view.write(data)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\addons\base\models\ir_ui_view.py", line 500, in write
    res = super(View, self).write(self._compute_defaults(vals))
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\models.py", line 3679, in write
    real_recs._validate_fields(vals, inverse_fields)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\models.py", line 1260, in _validate_fields
    check(self)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\addons\base\models\ir_ui_view.py", line 411, in _check_xml
    )).with_traceback(e.__traceback__) from None
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\addons\base\models\ir_ui_view.py", line 391, in _check_xml
    view.postprocess_and_fields(view_doc, validate=True)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\addons\base\models\ir_ui_view.py", line 851, in postprocess_and_fields
    arch, name_manager = self._postprocess_view(node, model, validate=validate)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\addons\base\models\ir_ui_view.py", line 863, in _postprocess_view
    self.postprocess(node, [], editable, name_manager)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\addons\base\models\ir_ui_view.py", line 963, in postprocess
    self.postprocess(child, current_node_path, node_info['editable'], name_manager)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\addons\base\models\ir_ui_view.py", line 963, in postprocess
    self.postprocess(child, current_node_path, node_info['editable'], name_manager)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\addons\base\models\ir_ui_view.py", line 963, in postprocess
    self.postprocess(child, current_node_path, node_info['editable'], name_manager)
  [Previous line repeated 1 more time]
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\addons\base\models\ir_ui_view.py", line 954, in postprocess
    validator(node, name_manager, node_info)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\addons\base\models\ir_ui_view.py", line 1090, in _validate_tag_field
    self.handle_view_error(msg)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\addons\base\models\ir_ui_view.py", line 673, in handle_view_error
    raise ValueError(formatted_message).with_traceback(from_traceback) from from_exception
odoo.exceptions.ValidationError: Error while validating view:
Field "sale_mo" does not exist in model "mrp.production"
View name: manufacturing.inherited.field5
Error context:
 view: ir.ui.view(1340,)
 xmlid: custom_manufacturing_sale_form_inherit
 view.model: mrp.production
 view.parent: ir.ui.view(1092,)
 file: c:\program files\odoo 14.0.20210710\server\odoo\extra_addons\mo_sale_inherit\views\new.xml
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\addons\base\models\ir_http.py", line 237, in _dispatch
    result = request.dispatch()
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\http.py", line 684, in dispatch
    result = self._call_function(**self.params)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\http.py", line 360, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\service\model.py", line 94, in wrapper
    return f(dbname, *args, **kwargs)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\http.py", line 348, in checked_call
    result = self.endpoint(*a, **kw)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\http.py", line 913, in __call__
    return self.method(*args, **kw)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\http.py", line 532, in response_wrap
    response = f(*args, **kw)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\addons\web\controllers\main.py", line 1393, in call_button
    action = self._call_kw(model, method, args, kwargs)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\addons\web\controllers\main.py", line 1381, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\api.py", line 396, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\api.py", line 383, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "", line 2, in button_immediate_install
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\addons\base\models\ir_module.py", line 74, in check_and_log
    return method(self, *args, **kwargs)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\addons\base\models\ir_module.py", line 475, in button_immediate_install
    return self._button_immediate_function(type(self).button_install)
  File "C:\Program Files\Odoo 14.0.20210710\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 "C:\Program Files\Odoo 14.0.20210710\server\odoo\modules\registry.py", line 89, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\modules\loading.py", line 455, in load_modules
    loaded_modules, update_module, models_to_check)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\modules\loading.py", line 348, in load_marked_modules
    perform_checks=perform_checks, models_to_check=models_to_check
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\modules\loading.py", line 221, in load_module_graph
    load_data(cr, idref, mode, kind='data', package=package)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\modules\loading.py", line 69, in load_data
    tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\tools\convert.py", line 733, in convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\tools\convert.py", line 799, in convert_xml_import
    obj.parse(doc.getroot())
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\tools\convert.py", line 719, in parse
    self._tag_root(de)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\tools\convert.py", line 677, in _tag_root
    f(rec)
  File "C:\Program Files\Odoo 14.0.20210710\server\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 "C:\Program Files\Odoo 14.0.20210710\server\odoo\http.py", line 640, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "C:\Program Files\Odoo 14.0.20210710\server\odoo\http.py", line 316, in _handle_exception
    raise exception.with_traceback(None) from new_cause
odoo.tools.convert.ParseError: while parsing file:/c:/program files/odoo 14.0.20210710/server/odoo/extra_addons/mo_sale_inherit/views/new.xml:3, near
            manufacturing.inherited.field5
            mrp.production
        
Can anyone tell me what i am doing wrong and how to correct it


Avatar
Discard
Best Answer

I believe the issue with the XML format... It should be like this




mrp.production.form.inherit.view
mrp.production










Avatar
Discard

<?xml version="1.0" encoding="utf-8"?>

<odoo>

<record model="ir.ui.view" id="mrp_production_form_inherit_view">

<field name="name">mrp.production.form.inherit.view</field>

<field name="model">mrp.production</field>

<field name="inherit_id" ref="mrp.mrp_production_form_view"/>

<field name="arch" type="xml">

<xpath expr="//field[@name='bom_id']" position="after">

<field name="sale_mo"/>

</xpath>

</field>

</record>

</odoo>

Author

thank you so much for your help