目录
1、什么是服务器动作(ir.actions.server)
2、编写需要执行的python函数
3、编写动作
效果图:
参数说明:
服务器动作的应用场景
在Odoo中,服务器动作(Server Action)是一种执行预定义操作的机制,通常在后端执行。它们可以在各种场景下用于自动化和扩展功能。以下是一些服务器动作的应用场景:
-
自动化业务流程:
- 创建销售订单时,自动触发服务器动作生成相关的发货单或发票。
- 客户付款后,自动将订单状态更新为“已付款”。
-
批量处理数据:
- 执行定期的批量数据处理任务,如清理过期数据、计算统计信息等。
- 执行数据导入后的一系列操作,确保数据的完整性和一致性。
-
邮件通知:
- 在特定条件下,如订单交付日期逼近或库存水平低于阈值,发送自动化的邮件通知。
- 定期发送报表或摘要电子邮件。
-
集成外部系统:
- 与外部系统进行集成,例如通过调用外部API执行某些操作。
- 实时同步数据,确保Odoo中的数据与外部系统保持一致。
-
自定义业务逻辑:
- 执行定制的业务逻辑,例如根据客户需求进行特定的计算。
- 在特定条件下执行定制的数据处理步骤。
-
自动化报表生成:
- 根据特定的条件生成和分发报表,确保相关人员能够及时获得所需的信息。
-
自动化集成测试:
- 在系统更新后,执行自动化测试以确保新功能没有破坏现有功能。
- 定期执行数据一致性和完整性检查。
-
触发客户端动作:
- 通过触发客户端动作,在前端进行用户界面的交互,例如显示通知或执行一些前端脚本。
1、什么是服务器动作(ir.actions.server)
在Odoo中,服务器动作(Server Action)是一种用于执行后端(服务器端)逻辑的配置项。通过服务器动作,你可以定义一些操作,这些操作在特定的触发条件下会执行后端的Python代码或者其他动作。服务器动作通常与菜单、按钮、工作流等组件关联,用于在特定的事件发生时触发相应的逻辑。
服务器动作允许你配置在后端执行的逻辑,这些逻辑可以在特定的条件下触发,为Odoo定制化和扩展提供了很大的灵活性。
2、编写需要执行的python函数
# 批量关机
def action_auto_stop(self):
for i in self:
i.qeum_stop() # 循环记录执行方法
3、编写动作
下面是一个简单的服务器动作示例,它在特定模型选中记录时执行关机函数
<record id="model_cec_cc_action_stop" model="ir.actions.server">
<field name="name">批量关机</field>
<field name="model_id" ref="cec_cc.model_cec_cc"/>
<field name="binding_model_id" ref="cec_cc.model_cec_cc"/>
<field name="binding_view_types">form,list</field>
<field name="state">code</field>
<field name="code">action = records.action_auto_stop()</field>
</record>
效果图:
参数说明:
<record>标签:定义一个记录(记录类型为ir.actions.server
)
id:该记录的唯一标识符
model:指定该记录的模型为ir.actions.server
,即服务器动作模型。
name:服务器动作的名称,显示在Odoo用户界面上,此处为“批量关机”。
model_id:指定服务器动作关联的模型,即model_cec_cc
model_id-ref:引用模型的外部标识符,确保关联到正确的模型
binding_model_id:指定与此动作关联的模型。
binding_model_id-ref:引用关联的模型的外部标识符
binding_view_types:指定动作绑定到的视图类型,此处为“form”和“list”。
state:指定触发动作的条件,此处为code
,表示在服务器端执行的代码中触发动作。
code:包含要执行的 Python 代码文章来源:https://www.toymoban.com/news/detail-802878.html
action = records.action_auto_stop() :在记录(模型为model_cec_cc
)上调用 action_auto_stop
方法文章来源地址https://www.toymoban.com/news/detail-802878.html
到了这里,关于odoo16实用功能之创建/自定义服务器动作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!