Power Automate Create_Item失败:DateofChange空值格式异常求助
问题原因
当流程进入无需填写「Date of Change」字段的分支时,传递给SharePoint的是空字符串(""),但SharePoint日期字段仅接受合法日期格式值或null(空值),因此触发类型不匹配错误。之前设置字段为非必填、修改列格式的操作,没有解决流程传递空字符串的核心问题。
解决方法
方案1:用表达式动态赋值null值
在Create item动作的「DateofChange」字段中,使用Power Automate表达式判断表单值是否为空,为空则传递null,否则传递表单值:
if(empty(triggerBody()?['DateofChange']), null, triggerBody()?['DateofChange'])
操作步骤:
- 编辑
Create item动作,点击字段旁的「表达式」按钮 - 输入上述表达式(注意替换为实际Forms字段的标识符)
- 保存流程后测试
方案2:分支内单独配置Create item
针对不需要填写日期字段的分支,单独添加一个Create item动作,完全不配置「DateofChange」字段(留空)。此时流程会自动向SharePoint传递null值,而非空字符串。
方案3:用Compose动作预处理值
先添加一个Compose动作,输入以下表达式预处理日期值:
if(empty(triggerBody()?['DateofChange']), null, triggerBody()?['DateofChange'])
之后在Create item的「DateofChange」字段中引用该Compose的输出,适合需要复用逻辑的场景。
注意事项
- 不要将SharePoint日期字段改为单行文本,会破坏数据类型一致性,增加后续日期处理的复杂度
- 字段设为非必填是前提,但必须配合传递
null值的逻辑才能解决问题
内容的提问来源于stack exchange,提问作者Johndolacjr
相关产品推荐
相关产品推荐

