Odoo12:如何在没有弹出窗口的情况下从树视图显示窗体视图?
我将此字段(one2many)设置为:Odoo12:如何在没有弹出窗口的情况下从树视图显示窗体视图?,odoo,odoo-12,Odoo,Odoo 12,我将此字段(one2many)设置为: <field name="utenzeEE_ids" context="{'default_id_immobile':active_id}"> <tree> <field name="pod"/> <field name="matricola"/> <field name="tipo"/> <field n
<field name="utenzeEE_ids" context="{'default_id_immobile':active_id}">
<tree>
<field name="pod"/>
<field name="matricola"/>
<field name="tipo"/>
<field name="indirizzo"/>
<field name="sub"/>
<field name="dal"/>
<field name="al"/>
<field name="id_cig" widget="selection"/>
</tree>
<form>
<header></header>
<sheet>
<group>
<field name="pod"/>
<field name="matricola"/>
<field name="tipo"/>
<field name="indirizzo"/>
<field name="sub"/>
<field name="dal"/>
<field name="al"/>
<field name="id_cig" widget="many2one_list"/>
<field name="id_misuratore" widget="many2one_list"/>
<field name="id_immobile" widget="many2one_list"/>
<field name="attivitasvolte_ids" widget="one2many_list"/>
</group>
</sheet>
</form>
</field>
1-将函数放在one2many(“详细模型”)的模型中是否正确
2-view=self.env.ref('module.form\u view\u name')
我不明白我要放在这里的是哪个模块,让我解释一下,我有“utilitpower.immobili”这是表单视图的模块,其中有按钮的树,还有“utilitpower.utinze\ee”是细节视图的模块。我认为这是操作的目标模块,因为我们将其用于视图id和视图参数(根据),是否正确
3-'res_model':'model for eg:hr.payslip',
这里我知道我必须插入该模型以显示视图,因此在我的例子中是utilitypower.utinze_ee
如果我在尝试单击按钮时所做的操作是正确的,则会出现以下错误:
Odoo Server Error
Traceback (most recent call last):
File "/opt/odoo/odoo12/odoo/tools/cache.py", line 88, in lookup
r = d[key]
File "/opt/odoo/odoo12/odoo/tools/func.py", line 69, in wrapper
return func(self, *args, **kwargs)
File "/opt/odoo/odoo12/odoo/tools/lru.py", line 44, in __getitem__
a = self.d[obj].me
KeyError: ('ir.model.data', <function IrModelData.xmlid_lookup at 0x7fe3b62f5400>, 'utilitypower.immobili')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/odoo/odoo12/odoo/http.py", line 654, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/opt/odoo/odoo12/odoo/http.py", line 312, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/opt/odoo/odoo12/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/opt/odoo/odoo12/odoo/http.py", line 696, in dispatch
result = self._call_function(**self.params)
File "/opt/odoo/odoo12/odoo/http.py", line 344, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/odoo/odoo12/odoo/service/model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/odoo/odoo12/odoo/http.py", line 337, in checked_call
result = self.endpoint(*a, **kw)
File "/opt/odoo/odoo12/odoo/http.py", line 939, in __call__
return self.method(*args, **kw)
File "/opt/odoo/odoo12/odoo/http.py", line 517, in response_wrap
response = f(*args, **kw)
File "/opt/odoo/odoo12/addons/web/controllers/main.py", line 966, in call_button
action = self._call_kw(model, method, args, {})
File "/opt/odoo/odoo12/addons/web/controllers/main.py", line 954, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/opt/odoo/odoo12/odoo/api.py", line 749, in call_kw
return _call_kw_multi(method, model, args, kwargs)
File "/opt/odoo/odoo12/odoo/api.py", line 736, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "/opt/odoo/odoo12-custom-addons/utility_power/models/utilitypower_ee_utenze.py", line 23, in action_view_form_modelname
view = self.env.ref('utilitypower.utenze_ee')
File "/opt/odoo/odoo12/odoo/api.py", line 854, in ref
return self['ir.model.data'].xmlid_to_object(xml_id, raise_if_not_found=raise_if_not_found)
File "/opt/odoo/odoo12/odoo/addons/base/models/ir_model.py", line 1396, in xmlid_to_object
t = self.xmlid_to_res_model_res_id(xmlid, raise_if_not_found)
File "/opt/odoo/odoo12/odoo/addons/base/models/ir_model.py", line 1380, in xmlid_to_res_model_res_id
return self.xmlid_lookup(xmlid)[1:3]
File "<decorator-gen-25>", line 2, in xmlid_lookup
File "/opt/odoo/odoo12/odoo/tools/cache.py", line 93, in lookup
value = d[key] = self.method(*args, **kwargs)
File "/opt/odoo/odoo12/odoo/addons/base/models/ir_model.py", line 1369, in xmlid_lookup
raise ValueError('External ID not found in the system: %s' % xmlid)
ValueError: External ID not found in the system: utilitypower.immobili
Odoo服务器错误
回溯(最近一次呼叫最后一次):
文件“/opt/odoo/odoo12/odoo/tools/cache.py”,第88行,在查找中
r=d[键]
包装器中的文件“/opt/odoo/odoo12/odoo/tools/func.py”,第69行
返回函数(self、*args、**kwargs)
文件“/opt/odoo/odoo12/odoo/tools/lru.py”,第44行,在__
a=self.d[obj].me
KeyError:('ir.model.data','utilitypower.immobili')
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“/opt/odoo/odoo12/odoo/http.py”,第654行,在异常处理中
返回super(JsonRequest,self)。\u handle\u异常(exception)
文件“/opt/odoo/odoo12/odoo/http.py”,第312行,在异常处理中
raise pycompat.reraise(类型(异常)、异常、sys.exc_info()[2])
文件“/opt/odoo/odoo12/odoo/tools/pycompat.py”,第87行,重新登录
增值
文件“/opt/odoo/odoo12/odoo/http.py”,第696行,发送中
结果=self.\u调用函数(**self.params)
文件“/opt/odoo/odoo12/odoo/http.py”,第344行,在调用函数中
返回选中的\u调用(self.db、*args、**kwargs)
文件“/opt/odoo/odoo12/odoo/service/model.py”,第97行,在包装器中
返回f(数据库名,*args,**kwargs)
文件“/opt/odoo/odoo12/odoo/http.py”,第337行,在checked_调用中
结果=自身终点(*a,**kw)
文件“/opt/odoo/odoo12/odoo/http.py”,第939行,在调用中__
返回自方法(*参数,**kw)
文件“/opt/odoo/odoo12/odoo/http.py”,第517行,作为响应
响应=f(*参数,**kw)
文件“/opt/odoo/odoo12/addons/web/controllers/main.py”,第966行,调用按钮
action=self.\u调用\u kw(模型、方法、参数,{})
文件“/opt/odoo/odoo12/addons/web/controllers/main.py”,第954行,输入
返回调用(request.env[model],方法,args,kwargs)
文件“/opt/odoo/odoo12/odoo/api.py”,第749行,在call\u kw中
return\u call\u kw\u multi(方法、模型、参数、kwargs)
文件“/opt/odoo/odoo12/odoo/api.py”,第736行,在调用中
结果=方法(recs、*args、**kwargs)
文件“/opt/odoo/odoo12自定义加载项/utility\u power/models/utilitypower\u ee\u utineze.py”,第23行,在操作中\u视图\u表单\u modelname
视图=self.env.ref('utilitypower.utinze\u ee'))
文件“/opt/odoo/odoo12/odoo/api.py”,第854行,参考
将self['ir.model.data'].xmlid_返回给_对象(xml_id,如果未找到则提升=如果未找到则提升)
xmlid_to_对象中的文件“/opt/odoo/odoo12/odoo/addons/base/models/ir_model.py”,第1396行
t=self.xmlid_to_res_model_res_id(xmlid,如果找不到则引发)
文件“/opt/odoo/odoo12/odoo/addons/base/models/ir_model.py”,第1380行,xmlid_to_res_model_id
返回self.xmlid_查找(xmlid)[1:3]
xmlid_查找中的文件“”,第2行
文件“/opt/odoo/odoo12/odoo/tools/cache.py”,第93行,在查找中
value=d[key]=self.method(*args,**kwargs)
xmlid_查找中的文件“/opt/odoo/odoo12/odoo/addons/base/models/ir_model.py”,第1369行
raise VALUERROR('在系统中找不到外部ID:%s'%xmlid)
ValueError:在系统中找不到外部ID:utilitypower.immobili
我错在哪里?请使用one2many树状视图中“id\u cig”字段后的以下按钮
<button string="View"
name="action_view_form_modelname"
type="object"
class="oe_highlight"/>
在树状视图中单击按钮时,将重定向到记录的特定表单视图
我将用一个销售订单行树状视图的示例向您解释,您必须看到不带弹出窗口的销售订单行表单视图。您给出的Xml代码是正确的
必须在Python文件sale.order.line中编写的Python代码。例如:
class HrPayslip(models.Model):
_inherit = 'sale.order.line'
@api.multi
def action_view_form_modelname(self):
view = self.env.ref('sale.form_view_xml_id')
return {
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'sale.order.line',
'views': [(view.id, 'form')],
'view_id': view.id,
'res_id': self.id,
'context': self.env.context,
}
让我澄清你的疑问:
请在one2many树视图中的“id\u cig”字段后使用下面的按钮
<button string="View"
name="action_view_form_modelname"
type="object"
class="oe_highlight"/>
在树状视图中单击按钮时,将重定向到记录的特定表单视图
我将用一个销售订单行树状视图的示例向您解释,您必须看到不带弹出窗口的销售订单行表单视图。您给出的Xml代码是正确的
必须在Python文件sale.order.line中编写的Python代码。例如:
class HrPayslip(models.Model):
_inherit = 'sale.order.line'
@api.multi
def action_view_form_modelname(self):
view = self.env.ref('sale.form_view_xml_id')
return {
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'sale.order.line',
'views': [(view.id, 'form')],
'view_id': view.id,
'res_id': self.id,
'context': self.env.context,
}
让我澄清你的疑问:
class HrPayslip(models.Model):
_inherit = 'sale.order.line'
@api.multi
def action_view_form_modelname(self):
view = self.env.ref('sale.form_view_xml_id')
return {
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'sale.order.line',
'views': [(view.id, 'form')],
'view_id': view.id,
'res_id': self.id,
'context': self.env.context,
}