Power Platform中Dataverse两表联动更新实现方案咨询
实现方案对比:Power App 内置逻辑 vs Cloud Flow
一、可以在Power App内直接实现
在Power App中,你可以在提交Proven Study Cost新记录的逻辑里,追加更新Planned Study Cost表的操作,具体步骤如下:
在新增
Proven Study Cost记录的按钮或表单提交事件中,先完成新记录的创建:// 示例:通过表单控件提交记录 SubmitForm(frm_ProvenCost); // 或手动创建记录 Collect('Proven Study Cost', { 'Type Of Cost': drp_TypeOfCost.Selected.Value, 'Refunded Cost': Value(txt_RefundedCost.Text) });紧接着添加更新逻辑,匹配
Type Of Cost一致的Planned Study Cost记录并更新字段:UpdateIf( 'Planned Study Cost', 'Type Of Cost' = drp_TypeOfCost.Selected.Value, {'Refunded Study Cost': Value(txt_RefundedCost.Text)} );
局限:这种方式仅能覆盖通过当前Power App新增Proven Study Cost记录的场景,如果有其他渠道(比如直接在Dataverse后台录入、其他集成应用新增记录),则无法触发更新。
二、使用Cloud Flow实现更推荐
Cloud Flow(Power Automate)是后端触发的自动化流程,能覆盖所有新增Proven Study Cost记录的场景,实现更可靠的自动化同步,步骤如下:
- 创建新的自动化云流,触发条件选择「当Dataverse中创建一行时」,目标表选择
Proven Study Cost。 - 添加「列出行」操作,数据源选择
Planned Study Cost,筛选条件设置为:
(逻辑名称可通过Dataverse表字段详情查看)Type Of Cost eq @triggerBody()?['typeofcost'] // 替换为该选项集字段的实际逻辑名称 - 添加「更新行」操作,数据源选择
Planned Study Cost,行ID选择「列出行」返回的记录ID,将Refunded Study Cost字段设置为触发记录中的Refunded Cost值。 - 若存在多条匹配的
Planned Study Cost记录,添加「应用到每一个」控件遍历结果,逐一更新。
三、方案选择建议
- 若仅需支持当前Power App内的记录新增,且逻辑简单,Power App内置逻辑足够用,实时性好。
- 若需要支持多渠道的记录新增(比如后台手动录入、其他系统集成),或后续可能扩展更多自动化逻辑,Cloud Flow是更合适的选择——它将业务逻辑与前端App解耦,维护性和扩展性更强。
内容的提问来源于stack exchange,提问作者CommanderAnker
相关产品推荐
相关产品推荐

