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

基于Power Automate实现SharePoint自动休假余额工作流求助

无审批自动休假预订工作流实现方案(Power Automate + SharePoint)

核心逻辑

员工提交休假申请后,系统自动校验目标日期的Leave balance是否大于0:

  • 校验通过:直接完成预订,更新SharePoint余额并通知经理
  • 校验不通过:告知员工名额已满

具体配置步骤

1. 完善SharePoint列表结构

确保你的列表包含以下字段(按需补充):

  • Date:日期类型(存储休假日期)
  • Day:文本/计算列(可选,自动提取星期几,方便快速查看)
  • Leave balance:数字类型(单日可休假名额,初始值设为3)
  • Employee Name:文本/人员类型(记录预订休假的员工)

2. 搭建Power Automate云流

推荐用Microsoft Forms作为员工申请入口(比直接在SharePoint提交更友好),流程配置如下:

步骤1:设置触发条件

选择当新响应提交时(Microsoft Forms触发器),关联你创建的休假申请表单(表单需包含「员工姓名」「休假日期」两个字段)

步骤2:获取目标日期的剩余额度

添加获取项目(SharePoint动作),配置:

  • 站点地址:你的SharePoint站点URL
  • 列表名称:目标休假列表
  • 筛选查询:Date eq '@{triggerBody()['rXXXXX']}'(rXXXXX替换为Forms中「休假日期」字段的内部名称,可在Forms设置中查看)

步骤3:判断余额是否可用

添加条件动作,设置判断规则:

@{outputs('获取项目')?['body/Leave balance']} > 0

步骤4:处理通过校验的申请(「是」分支)

依次添加以下动作:

  • 更新项目(SharePoint):找到对应日期的额度记录,将Leave balance更新为@{sub(outputs('获取项目')?['body/Leave balance'], 1)}(用表达式实现余额减1)
  • 创建项目(SharePoint):在列表中新增一条预订记录,填写Employee Name为申请人姓名,Date为休假日期,Leave balance设为0(或备注「已预订」)
  • 发送电子邮件(V2):收件人设为经理邮箱,邮件内容示例:

    员工@{triggerBody()['员工姓名字段内部名']}已成功预订@{triggerBody()['休假日期字段内部名']}的休假,当日剩余休假额度为@{sub(outputs('获取项目')?['body/Leave balance'], 1)}

步骤5:处理未通过校验的申请(「否」分支,可选)

添加发送电子邮件(V2),通知员工:

抱歉,@{triggerBody()['休假日期字段内部名']}的休假名额已用完,无法完成预订

关键优化点

  • 开启并发控制:在流程设置中把并行度设为1,避免多个员工同时申请同一日期时出现余额超减的问题
  • 统一日期格式:确保Forms和SharePoint的日期格式一致,避免筛选不到对应额度记录
  • 人员字段适配:如果用人员类型存储员工信息,需在流程中转换为用户的显示名称或邮箱,避免显示异常

内容的提问来源于stack exchange,提问作者Shiva srivastava

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 09:33:32