SuperAPI AI 工具集

erpnext-syntax-serverscripts

编程与开发

查看项目

更新于 10-16 00:04

技能介绍

用途:为 ERPNext/Frappe 的 Server Scripts 提供完整语法参考,便于在沙箱环境中编写 Python 脚本。Server Scripts 通过 ERPNext 界面 Setup → Server Script 管理。

主要能力:覆盖四类脚本——Document Event(响应文档生命周期,如保存、提交、取消)、API(自定义 REST 端点,路径为 /api/method/{name})、Scheduler Event(按 Cron 计划执行任务)、Permission Query(按用户或角色过滤文档列表)。同时给出 UI 事件名与内部 hook 名的映射,例如 Before Save 对应 validate、After Save 对应 on_update、Before Delete 对应 on_trash。

必要用法与限制:沙箱禁止所有 import 语句,import json 会报 ImportError: import not found。应改用 Frappe 预加载命名空间,如用 frappe.utils.nowdate() 代替 from frappe.utils import nowdate,用 frappe.parse_json(data) 代替 json.loads。可用对象包括 doc、frappe.db、frappe.get_doc()、frappe.get_all()、frappe.throw()、frappe.msgprint()、frappe.log_error()、frappe.utils.*、frappe.session.user、frappe.form_dict、frappe.response 等。

版本与启用:Frappe v14+ 完整支持 Server Scripts,需执行 bench --site [site] set-config server_script_enabled true 启用;v15 语法无重大变化。

适用场景:需要在 ERPNext 中做校验、审批标记、自定义接口、定时提醒或按角色限制数据可见性时使用。资料未提供具体收费、价格与平台信息。