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

MS Planner工作流中设置排除周末的工作日截止日期报错求助

MS Planner工作流:设置提交后2个工作日截止日期的公式修复

问题分析

你当前的公式触发“invalid input”错误,核心原因是逻辑覆盖不全+日期判断的潜在语法问题:

  • 原公式仅通过dayOfWeek >=4将周四、周五、周六归为一类统一加4天,既不符合2个工作日的需求,也可能因Power Automate对日期计算的合法性校验触发报错;
  • 虽确认triggerOutputs()?['body/receivedDateTime']可用,但需确保dayOfWeek和addDays接收的是标准日期类型。

正确公式

以下公式针对不同星期几精确计算2个工作日后的截止日期(Power Automate中dayOfWeek返回值:0=周日,1=周一,2=周二,3=周三,4=周四,5=周五,6=周六):

if(dayOfWeek(triggerOutputs()?['body/receivedDateTime']) == 5,
    addDays(triggerOutputs()?['body/receivedDateTime'], 4),
    if(dayOfWeek(triggerOutputs()?['body/receivedDateTime']) == 4 || dayOfWeek(triggerOutputs()?['body/receivedDateTime']) == 6,
        addDays(triggerOutputs()?['body/receivedDateTime'], 3),
        addDays(triggerOutputs()?['body/receivedDateTime'], 2)
    )
)

逻辑说明

  • 周五(5)提交:加4个自然日,跳过周六、周日,截止到下周二(2个工作日后)
  • 周四(4)/周六(6)提交:加3个自然日,周四截止到下周一,周六截止到下周二
  • 周日(0)到周三(3)提交:加2个自然日,直接得到2个工作日后的日期

额外排查步骤

如果仍报错,尝试将日期转换为明确的时区格式,确保函数接收标准日期:

if(dayOfWeek(convertFromUtc(triggerOutputs()?['body/receivedDateTime'], 'Asia/Shanghai')) == 5,
    addDays(convertFromUtc(triggerOutputs()?['body/receivedDateTime'], 'Asia/Shanghai'), 4),
    if(dayOfWeek(convertFromUtc(triggerOutputs()?['body/receivedDateTime'], 'Asia/Shanghai')) == 4 || dayOfWeek(convertFromUtc(triggerOutputs()?['body/receivedDateTime'], 'Asia/Shanghai')) == 6,
        addDays(convertFromUtc(triggerOutputs()?['body/receivedDateTime'], 'Asia/Shanghai'), 3),
        addDays(convertFromUtc(triggerOutputs()?['body/receivedDateTime'], 'Asia/Shanghai'), 2)
    )
)

(将Asia/Shanghai替换为你的实际时区)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 21:53:12