SuperAPI AI 工具集

frappe-core-workflow

办公与效率

查看项目

更新于 10-16 06:18

技能介绍

用途:该技能面向 Frappe 框架的工作流引擎,帮助创建或修改 Workflow、定义状态与转换、添加动作条件,并排查工作流权限错误。

主要能力:工作流引擎是一个状态机,通过可配置的状态、转换和基于角色的权限控制文档生命周期。Workflow DocType 定义某 DocType 的状态机,包含 states 与 transitions 子表。状态行可设置 doc_status(0 草稿、1 已提交、2 已取消)、allow_edit、update_field、update_value、邮件模板等;转换行可设置源状态、action、next_state、allowed 角色、allow_self_approval、condition 表达式和 transition_tasks。

使用方式:先创建 Workflow State 与 Workflow Action Master 记录,再定义状态与转换。激活工作流(is_active=1)时会自动停用同 DocType 的其他工作流,并创建隐藏的 workflow_state 字段。引擎按当前状态、用户角色和 condition 解析可用转换,apply_workflow(doc, action) 执行转换并处理 docstatus 变化。条件表达式在沙箱中经 frappe.safe_eval() 求值,可访问 doc 字段及 frappe.db、frappe.utils 等。

限制:docstatus 只能向前推进(0→0、0→1、1→1、1→2),禁止从已取消状态转换或从已提交退回草稿;非可提交 DocType 的所有状态必须 doc_status=0;同一 DocType 只能有一个激活工作流;allow_self_approval=0 时文档所有者不能审批自己的文档,Administrator 始终可审批。资料未提供安装命令与具体版本要求。