如何解决Power Automate创建项(Create Item)错误?
报错信息
"The 'inputs.parameters' of workflow operation 'Create_item' of type 'OpenApiConnection' is not valid. Error details: Input parameter 'item/field_13' is required to be of type 'Number/double'. The runtime value '' to be converted doesn't have the expected format 'Number/double'."
一步一步解决
1. 定位item/field_13对应的列表字段
- 打开SharePoint列表进入列表设置,在「列」区域点击「查看列」
- 筛选出所有数字类型的列,获取它们的内部名称:
- 点击具体列名进入编辑页面,浏览器地址栏末尾会显示
Field=XXX,XXX就是该列的内部名 - 用PowerShell批量导出更高效:
Connect-PnPOnline -Url "你的站点URL" -Interactive Get-PnPField -List "你的列表名称" | Select-Object Title, InternalName, TypeAsString
- 点击具体列名进入编辑页面,浏览器地址栏末尾会显示
- 对比工作流中
Create_item操作绑定的字段,就能对应上field_13是哪个列(field_xx是系统给列生成的临时标识,必然是你创建的某个数字列)
2. 报错核心原因
本质是:工作流给该数字字段传递了空字符串'',但SharePoint要求该字段必须为Number/double类型,空字符串无法转换为数字,因此触发报错。
3. 针对性修复方案
- 方案一:给数字列设置默认值
回到列表列设置,找到目标数字列,设置一个默认值(比如0),即使工作流不传值,列表会自动填充默认值,避免空值触发校验错误。 - 方案二:在工作流中处理空值
在Create_item操作的对应数字字段输入框中,用表达式将空值替换为合法数字:
把if(empty(triggerBody()?['你的数据源字段名']), 0, triggerBody()?['你的数据源字段名'])你的数据源字段名替换为实际取数的字段名,空值时用0(或你需要的其他合法数字)填充。 - 禁止随意修改字段类型:你之前将数字列改为单行文本的操作无效,因为工作流的
Create_item仍会按照原字段类型校验,反而会引发更多类型不匹配问题,建议改回数字类型再处理。
额外提醒
- 你对日期字段添加的
if(empty)处理和本次报错无关,无需在这方面耗费精力 - 如果数据来自Excel、表单等外部源,先确认源数据中对应字段为数字格式,避免是文本类型的空值或非数字内容
内容的提问来源于stack exchange,提问作者Tori Harris
相关产品推荐
相关产品推荐

