47.Odoo产品分析 (五) – 定制板块(2) – 为业务自定义odoo(2)
Odoo产品分析 (五) – 定制板块(2) – 为业务自定义odoo(1)
字段名 | 标签 | 字段类型 |
x_daterequired | Date Required | Date |
x_rush | Rush Order | Boolean |
Odoo中自定义的字段应该以x_作为前缀,这是为了避免自定义的字段与系统中已存在的字段冲突。
在开发者模式中,odoo允许用户添加自定义字段到模型中。在设置中找到模型菜单,看到组成当前系统的模型列表:
点击sale.order模型可以查看组成该模型的所有字段,该表单对应ir.model数据表:
在这里,可以检查字段的名称、字段类型以及是否为必需字段。某些字段也可被指定为只读字段。这些字段通常被odoo自动生成或计算。
注意,检查模型是学习odoo数据的结构以及它是如何组织的一个很好的方法。
在这里不是点击"创建"按钮(因为它表示创建一个新的模型,现在要做的是在现有的模型中添加需要的字段),点击编辑,在字段列表下点击"添加项目":
定义Date Required字段和Rush Order字段。然后点击保存
Odoo提供了一个类似XML的文本编辑器。打开销售订单表单,然后从调试菜单中选择"编辑表单视图":
然后界面会出现一张构成销售订单视图的真实的XML代码。可以复制粘贴现有字段,这样就不必输入所有特殊字符以及理解语法,该表单对应ir.ui.view模型:
现在找到代码中显示表单付款条款的字段(大概在第40行左右)。然后,直接在下面添加自定义的两个字段:
点击保存,并刷新浏览器重新查看该表单,可以看到自定义的字段:
除了有修改的表单和列表视图的能力,也可以在Odoo中自定义更适合组织需求的搜索。
在默认的搜索中,并不是所有的字段都可以作为检索对象,默认的系统中能检索的对象有:
比如表单中的付款条款字段。因此需要编辑搜索视图来达成要求。在开发者模式下,查看到"付款条款"字段为payment_term_id:
观察该表单的结构,发现代码中有很多<Field name=""/>样式的标签。这些字段定义了哪些搜索字段在列表搜索框中是可用的。
保存后刷新浏览器。在搜索框中搜索一个关键字,显示按付款条款搜索:
创建一个自定义的紧急订单动作,该动作允许我们创建一个菜单,以轻松的接收到紧急菜单。这个菜单将很有用,可以根据操作节省大量的击键并提高可用性。
关于定制有一个方便的地方就是,可以经常使用现有的记录作为复制/粘贴的模板,然后简单地进行定制更改。这大大降低了键入错误的风险。
复制领域值为[('state','not in',('draft','sent','cancel'))]的表单,然后对其进行修改:
领域值字段中,添加一个条件,使x_rush字段的值为true。x_rush就是前面自定义的字段,将它放在表单中:
在定制odoo时,不可避免地需要创建一些新的菜单创建的视图或也许可以用不同的方式过滤或限制一个视图的其他动作。创建新菜单并将它们绑定到自定义操作的功能能够得到更好的用户体验,能更符合特定业务需求。
保存。然后点击销售菜单查看,该菜单已经出现在该出现的位置了,因为当前没有订单被标记为紧急订单(即x_rush全为false),因此这里没有记录显示: