PowerApps OnSelect多Set语句不触发Power Automate流问题咨询
问题原因分析
- GUID类型序列化异常:PowerApps中
GUID()返回的是原生GUID数据类型,直接传入JSON()函数序列化时会生成带类型标识的非预期输出,而非纯字符串格式,导致最终拼接的JSON结构不符合Power Automate的入参要求,入参校验不通过因此流不会触发,也无显性报错。 - 流入参类型不匹配:若你在Power Automate流中将uuid字段定义为数字类型,第一段代码传入的12345为数字符合校验规则可以正常运行,第二段生成的GUID为字符串格式,不符合类型要求会直接被拦截,无法触发流。
- 手动拼接JSON的隐性错误:手动拼接JSON字符串容易出现转义符、结构嵌套错误,你可以临时添加标签控件输出
DATAJSON_NEW_PROJECT的实际值,对比两段代码的输出差异就能快速定位格式问题。
修复方案
- 先将GUID转为字符串再序列化,修改第二段代码中uuid的赋值部分,将
JSON(NewGUID)替换为JSON(Text(NewGUID)),保证序列化输出为纯字符串格式。 - 更推荐直接使用PowerApps原生
JSON()函数序列化对象,避免手动拼接JSON带来的格式错误,优化后的代码如下:
Set( NewGUID; Text(GUID()) );; Set( DATAJSON_NEW_PROJECT; JSON( { flowdata: { uuid: NewGUID; name: TextInput_Projectname.Text } } ) ;; DT_Reporting_Flow_0.Run(DATAJSON_NEW_PROJECT; "NewProjekt")
- 进入Power Automate流的触发动作配置页,确认uuid字段的类型已修改为字符串类型,匹配GUID的格式要求。
内容的提问来源于stack exchange,提问作者shima
相关产品推荐
相关产品推荐

