Hi ,
How i can add sale order line tree in my custom module (i.e don't want inherit) and data will be save in my own custom detail module.
please tell me how is it possible.
Regards,
Fawad
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
Hi ,
How i can add sale order line tree in my custom module (i.e don't want inherit) and data will be save in my own custom detail module.
please tell me how is it possible.
Regards,
Fawad
Hello
without Inheriting it's not possible, because in sale.order.line we have to keep our custom model field as many2one.
Note: Jignesh given proper example(Check the Jignesh Mehta reply)
hi sorry to reopen this topic but since 3 days i tried to add sale order line to my custom module but very complicate many error.
Erreur:
Odoo Server Error
Traceback (most recent call last):
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 757, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 662, in _tag_record
record = model.with_context(rec_context)._load_records([data], self.mode == 'update')
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3838, in _load_records
records = self._load_records_create([data['values'] for data in to_create])
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3752, in _load_records_create
return self.create(values)
File "<decorator-gen-32>", line 2, in create
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 452, in _model_create_multi
return create(self, arg)
File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 428, in create
return super(View, self).create(vals_list)
File "<decorator-gen-3>", line 2, in create
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 452, in _model_create_multi
return create(self, arg)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3533, in create
records = self._create(data_list)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3619, in _create
col_val = field.convert_to_column(val, self, stored)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\fields.py", line 1946, in convert_to_column
value = self.convert_to_cache(value, record)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\fields.py", line 1958, in convert_to_cache
raise ValueError("Wrong value for %s: %r" % (self, value))
ValueError: Wrong value for ir.ui.view.type: 'field'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 654, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 312, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\pycompat.py", line 87, in reraise
raise value
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 696, in dispatch
result = self._call_function(**self.params)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 344, in _call_function
return checked_call(self.db, *args, **kwargs)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\service\model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 337, in checked_call
result = self.endpoint(*a, **kw)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 939, in __call__
return self.method(*args, **kw)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 517, in response_wrap
response = f(*args, **kw)
File "c:\program files (x86)\odoo 12.0\server\odoo\addons\web\controllers\main.py", line 966, in call_button
action = self._call_kw(model, method, args, {})
File "c:\program files (x86)\odoo 12.0\server\odoo\addons\web\controllers\main.py", line 954, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 749, in call_kw
return _call_kw_multi(method, model, args, kwargs)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 736, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-61>", line 2, in button_immediate_install
File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_module.py", line 73, in check_and_log
return method(self, *args, **kwargs)
File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_module.py", line 444, in button_immediate_install
return self._button_immediate_function(type(self).button_install)
File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_module.py", line 553, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\registry.py", line 86, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 421, in load_modules
loaded_modules, update_module, models_to_check)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 313, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 222, in load_module_graph
load_data(cr, idref, mode, kind='data', package=package, report=report)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 68, in load_data
tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 801, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 864, in convert_xml_import
obj.parse(doc.getroot(), mode=mode)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 754, in parse
self.parse(rec, mode)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 763, in parse
exc_info[2]
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\pycompat.py", line 86, in reraise
raise value.with_traceback(tb)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 757, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 662, in _tag_record
record = model.with_context(rec_context)._load_records([data], self.mode == 'update')
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3838, in _load_records
records = self._load_records_create([data['values'] for data in to_create])
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3752, in _load_records_create
return self.create(values)
File "<decorator-gen-32>", line 2, in create
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 452, in _model_create_multi
return create(self, arg)
File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 428, in create
return super(View, self).create(vals_list)
File "<decorator-gen-3>", line 2, in create
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 452, in _model_create_multi
return create(self, arg)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3533, in create
records = self._create(data_list)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3619, in _create
col_val = field.convert_to_column(val, self, stored)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\fields.py", line 1946, in convert_to_column
value = self.convert_to_cache(value, record)
File "C:\Program Files (x86)\Odoo 12.0\server\odoo\fields.py", line 1958, in convert_to_cache
raise ValueError("Wrong value for %s: %r" % (self, value))
odoo.tools.convert.ParseError: "Wrong value for ir.ui.view.type: 'field'" while parsing file:/c:/program files (x86)/odoo 12.0/server/odoo/addons/magazine/views/views.xml:5, near
<record id="view_magazine_rapport_tree" model="ir.ui.view">
<field name="name">view.magazine.rapport.tree</field>
<field name="model">magazine.rapport</field>
<field name="arch" type="xml">
<field name="sale_order_line_ids" nolabel="1">
<tree string="Rapport Magazine" editable="bottom">
<field name="order_partner_id"/>
<field name="product_id"/>
</tree>
</field>
</field>
</record>
Hello Fawad Mazhar,
Try below code
custom.py :-
class CustomModel(models.Model):
_name = 'custom.model'
name = fields.Char('Name')
sale_order_line_ids = fields.One2many('sale.order.line', 'custom_model_id', 'Sale Order Line')
class SaleOrderLine(models.Model):
_inherit = 'sale.order.line'
custom_model_id = fields.Many2one('custom.model', 'Custom Model')
custom_view.xml :-
<record id="custom_model_form_view" model="ir.ui.view">
<field name="name">custom.model.form.view</field>
<field name="model">custom.model</field>
<field name="arch" type="xml">
<form string="Custom Model">
<group>
<group>
<field name="name"/>
</group>
<group/>
</group>
<group name="custom_lines" string"Custom Lines">
<field name="sale_order_line_ids" nolabel="1">
<tree editable="bottom">
<field name="product_id"/>
<field name="name"/>
<field name="product_uom_qty"/>
<field name="price_unit"/>
<field name="price_subtotal"/>
</tree>
</field>
</group>
</form>
</field>
</field>
Hope this will helps you
Thanks,
i want to show particular sale order lines by selecting sale order id from many2one in custom module
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign up