SetProperty()未按预期更新对象,Compose动作变量更新及多逻辑实现求助
Power Automate 变量更新问题解答
变量未更新的原因
setProperty函数的本质是创建并返回一个修改后的新对象,它不会直接修改原变量的内容。你当前只是在Compose动作里输出了这个新对象,但没有把新对象重新赋值给HasAtLeast1AttachmentsWith变量,所以原变量会一直保持初始的{"CapitalCall":"False"}。
要让变量真正更新,你需要:
- 保留Compose里的表达式(或者直接把表达式写在“设置变量”动作中)
- 添加一个设置变量动作,将Compose的输出结果赋值给
HasAtLeast1AttachmentsWith变量
单个Compose实现多次字段更新
可以实现。你只需要嵌套使用setProperty函数,在一个表达式里完成多字段的条件更新。比如同时处理两个字段的逻辑:
setProperty( setProperty( variables('HasAtLeast1AttachmentsWith'), 'CapitalCall', if(你的条件1, 'True', 'False') ), 'AnotherField', if(你的条件2, 'True', 'False') )
这个表达式会先基于原对象修改CapitalCall字段,再基于修改后的对象修改AnotherField字段,最终生成包含所有更新的新对象。之后同样需要通过“设置变量”动作把结果赋值回原变量。
内容的提问来源于stack exchange,提问作者k13
相关产品推荐
相关产品推荐

