gpt4 book ai didi

python - 为什么在 Odoo v11 中删除了工作流?

转载 作者:数据小太阳 更新时间:2023-10-29 02:48:24 24 4
gpt4 key购买 nike

我有一个模块在 Odoo 10 中使用时运行良好。但是,在 Odoo 11 中,部分工作流不起作用。

我是 Odoo 11 的新手,我找不到有关工作流程的信息。 Odoo 10 和 Odoo 11 之间的工作流程有何不同?我认为我必须更改 .xml 文件。

提前致谢。

最佳答案

从版本 11 开始,Odoo 不再使用工作流。它们在版本 9 和 10 中开始被删除(但它们在那些版本中仍然可用)。由于缺乏灵 active ,它们被认为更难迁移和处理。

所以你必须删除你所做的工作流程。取而代之的是,您必须只使用按钮调用的 Python 方法,并在这些按钮方法内部检查遵循一种或另一种方式的必要条件,并手动调用您的流程必须遵循的其他方法。当然,您必须从那里调用 ORM write 方法来修改记录的状态。

示例

对于工作流,你有这样的事情:

XML View

<button name="cancel" states="draft,sent" string="Cancel Quotation" groups="base.group_user"/>

XML 工作流

<record id="act_draft" model="workflow.activity">
<field name="wkf_id" ref="wkf_sale"/>
<field name="flow_start">True</field>
<field name="name">draft</field>
</record>

<record id="act_cancel" model="workflow.activity">
<field name="wkf_id" ref="wkf_sale"/>
<field name="name">cancel</field>
<field name="flow_stop">True</field>
<field name="kind">stopall</field>
<field name="action">action_cancel()</field>
</record>

<record id="trans_draft_cancel" model="workflow.transition">
<field name="act_from" ref="act_draft"/>
<field name="act_to" ref="act_cancel"/>
<field name="signal">cancel</field>
</record>

现在,您应该将其转换成如下内容:

XML View

<button name="action_cancel" states="draft,sent" string="Cancel Quotation" groups="base.group_user"/>

Python 代码

@api.multi
def action_cancel(self):
...
self.write({
'state': 'cancel',
})

关于python - 为什么在 Odoo v11 中删除了工作流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48049478/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com