You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Logic App Dynamics Connector:记录更新时如何识别变更字段?

仅用Logic Apps + Dynamics连接器检测字段变更的实用方案

嗨,针对你遇到的「需要识别Dynamics记录更新时哪些字段发生变更」的问题,完全不用折腾自定义HTTP触发的工作流,用Logic Apps和Dynamics原生连接器就能搞定,给你梳理几个靠谱的落地方案:

方案1:触发器筛选+新旧版本值对比

这个方案适合你需要精准判断具体哪些字段变更的场景:

  • 第一步:用Dynamics的「当记录被更新时」触发器,先在设置里勾选你重点关注的字段作为「触发字段」(也就是「仅当这些字段变更时触发」选项),这样只有目标字段变动时才会触发Logic App,减少不必要的执行。
  • 第二步:添加「获取记录历史」动作,传入触发器返回的@triggerBody()?['recordId'],拉取该记录的所有版本历史;接着用「排序」动作把历史版本按创建时间降序排列,取倒数第二个条目(也就是更新前的版本数据)。
  • 第三步:用「条件」动作或者「Compose」动作写表达式,对比新旧版本的目标字段值。比如判断Status字段是否变更,表达式可以写:
    @not(equals(triggerBody()?['statuscode'], outputs('Get_Record_History')?['body/value'][1]['statuscode']))
    
    如果返回true,就说明该字段发生了变更,后续可以执行对应的业务动作。

方案2:利用Dynamics的变更跟踪功能

如果你的Dynamics环境可以开启字段变更跟踪(需要在Dynamics后台对目标实体和字段开启),这是最省心的方案:

  • 第一步:在Dynamics后台找到目标实体,开启「变更跟踪」,再给需要监控的字段勾选「启用变更跟踪」。
  • 第二步:在Logic Apps里添加「查询变更的记录」动作,选择目标实体并设置合适的时间范围(比如「过去15分钟」),这个动作会返回所有被跟踪字段发生变更的记录,结果里的changedattributes字段会直接告诉你哪些字段发生了变更。
  • 第三步:解析changedattributes数组,快速判断是否有你关注的字段,进而决定是否执行后续操作。

方案3:OData过滤条件快速校验

如果只需要针对单个或少数字段做判断,也可以在触发器之后用「检索多个记录」动作,结合Dynamics的OData过滤条件对比状态。比如要判断Amount字段是否变化,过滤条件可以写:

recordid eq '@triggerBody()?['recordId']' and amount ne '@triggerBody()?['amount']'

这个方案更适合简单场景,灵活性不如前两个,但胜在配置快。

这些方案都是基于Logic Apps和Dynamics原生连接器实现的,不需要额外开发自定义工作流活动,应该能完美匹配你的需求。

内容的提问来源于stack exchange,提问作者Stephen Anderson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 03:57:35