SuperAPI AI 工具集

erpnext-impl-controllers

编程与开发

查看项目

更新于 10-16 00:04

技能介绍

用途:帮助开发者判断 ERPNext/Frappe 中服务端 DocType 逻辑应如何实现,侧重“怎么做”的决策与工作流;精确语法另见 erpnext-syntax-controllers。兼容 v14/v15/v16。

主要能力:提供 Controller 与 Server Script 的选择决策树(需要导入外部库、复杂多文档事务与回滚、完整 Python 能力、覆盖标准 DocType 时用 Controller;无自定义应用的快速校验或简单自动填充用 Server Script);提供钩子选择决策树(validate、on_update、after_insert、before_submit、on_submit、before_cancel、on_cancel、on_trash、autoname、on_change);给出可提交文档的完整生命周期流程与执行顺序;说明 Controller 覆盖方式(override_doctype_class、doc_events 事件处理器,v16 新增 extend_doctype_class);介绍 flags 系统与常见实现模式(校验报错、自动计算、字段变更检测、保存后动作、自定义命名)。

关键限制:on_update 之后对 self 的修改不会被保存,需改用 frappe.db.set_value;不要在钩子中调用 frappe.db.commit();避免在 validate 中做重操作(可在 on_update 中用 frappe.enqueue());不要在 on_update 中调用 self.save() 以免死循环;不要假设跨文档的钩子顺序。

适用场景:为自定义应用编写或覆盖 ERPNext DocType 服务端逻辑、排查钩子执行顺序与保存行为问题。

资料未提供安装命令、收费与平台信息。