用途:面向 Frappe Tweaks 的 Document Review(文档审核/审批)框架,提供创建、实施与排查文档审核规则的专家指导。
主要能力:通过 Document Review Rule 用 Python 脚本对文档做校验,脚本可访问 doc 变量,无需审核返回 None,需要审核返回含 message 与可选 data 的字典。规则可设 mandatory 阻止提交、disabled 临时停用,并可配置自动指派用户(每行有 ignore_permissions 选项)。审核结果以可提交的 Document Review 记录跟踪:草稿为待审、提交为通过、取消为驳回,状态与工作流、时间线和权限联动。规则在文档保存时通过 on_change 自动评估,表单顶部自动显示待审横幅,before_submit 自动通过待审项并在存在强制审核时阻止提交。
使用方式:在 Document Review Rule 列表新建规则,填写标题、reference_doctype、脚本、是否强制及指派用户后保存即生效。可在工作流条件中用 document_review.get_document_review_status(doctype, name) 返回 Approved、Pending Review、Can Approve 或 Can Submit。相关 API 包括 get_rules_for_doctype、evaluate_document_reviews、check_mandatory_reviews、submit_document_review、submit_all_document_reviews 等。
适用场景:价格审批、信用额度检查、折扣审批、合规检查、多级审批等。
限制:需依赖 Frappe 与 Frappe Tweaks 环境;脚本在 safe_exec 中以较高权限运行并忽略权限创建审核记录,需自行校验用户输入;规则按 doctype 缓存,改动后可能需清理缓存;文档不涉及具体安装命令与版本要求。
参考资料文档整理了架构、规则创建、脚本示例、集成模式与排查指南。