Odoo 中如何在一个 form 中有条件的显示 field?


Odoo 中如何在一个 form 中有条件的显示 field?

www.chinamaker.net 2015-09-29 09:26:20 admin

Odoo 开发中经常会遇到这样的需求,对象中根据条件是否显示一个字段。比如如果不是创建人,不不显示客户的联系方式,Odoo 中如何实现呢?<一>domain在 odoo 中可以根据对象字段的值或者关系确定是否显示一个字段。例1)

结婚了才公布男朋友的名字。2)
这是动态 domain 的例子,根据选择结构确定字段是否显示。还有一种方式是,可以在 view 中,根据 states 的值确定字段是否显示。<二>view 的state<三>动态视图
  1. def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):  
  2.         if context is None:context = {}  
  3.         res = super(rhwl_gene, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False)  
  4.         if res['type']=="form":  
  5.             id = res['id']  
  6.             //根据id去取得资料,并进行判断  
  7.             if 条件成立:  
  8.                 doc = etree.XML(res['arch'])  
  9.                 doc.xpath("//form")[0].set("edit","false")  
  10.                 res['arch']=etree.tostring(doc)  
  11.         return res 

来源:苏州远鼎官网


相关标签 TAG :  Odoo      form  有条件的显示  field?  


苏州远鼎

运用前沿科学技术,苏州远鼎信息技术有限公司以开源管理软件产品为核心,为企业和政府组织提供软件及服务,是OpenERP(Odoo)专业服务商,中国开源管理软件服务市场的领跑者。

Read More

远鼎产品

联系远鼎

  • 苏州工业园区星湖街328号22栋301
  • +86-0512-69361217
  • odoo@chinamaker.net
  • www.chinamaker.net