You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过RestAPI取消ERPNext中的员工考勤记录?

如何通过RestAPI取消ERPNext中的考勤记录

ERPNext中取消考勤记录并非通过普通CRUD操作实现,而是需要调用内置的业务方法——这也是你直接更新或删除失败的核心原因:

  • 直接更新status字段会触发内置业务逻辑校验,返回500错误
  • 删除操作要求文档必须先处于Cancelled状态,因此必须先执行取消操作

具体实现步骤

ERPNext的RestAPI支持直接调用文档的业务方法,取消考勤记录可通过以下两种方式实现:

方式1:调用通用取消方法

使用frappe.client.cancel通用方法,传入考勤记录的文档类型和名称:

curl -X POST \
  https://你的ERPNext实例地址/api/method/frappe.client.cancel \
  -H "Authorization: token 你的API_KEY:你的API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "doctype": "Attendance",
    "name": "ATT000123"
  }'

方式2:直接调用Attendance的cancel方法

直接调用Attendance文档的cancel方法,仅需传入考勤记录名称:

curl -X POST \
  https://你的ERPNext实例地址/api/method/Attendance.cancel \
  -H "Authorization: token 你的API_KEY:你的API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "ATT000123"
  }'

关键注意事项

  • 替换示例中的你的ERPNext实例地址、你的API_KEY:你的API_SECRET和ATT000123为实际值
  • 确保使用的API密钥拥有考勤记录的取消权限
  • 只有处于Submitted状态的考勤记录可以取消,Draft状态的记录可直接删除
  • 若请求失败,响应体中会包含具体错误信息(如权限不足、文档状态不符等)

内容的提问来源于stack exchange,提问作者MD Rameez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 00:21:03