BOS.常见问题.值更新和实体服务 针对值没有变化时的区别

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

BOS.常见问题.值更新和实体服务 针对值没有变化时的区别

【场景】值更新和实体服务 针对值没有变化时的区别 【省流结论】 值更新事件,只要前端传了对应的字段,就会触发; 实体服务规则,会在前端传了对应的字段的同时,校验数据是否变化,当不变化时不触发。 【背景】 比如设置了一个组织字段,一个关联使用组织的物料;当组织变化的时候原则上需要清空物料;系统默认不会处理。 ![20240531 1051.webp](/download/01002f97c288d3cf42339aaec7ece5e25871.webp) 这个时候通常都是使用值更新或者实体服务规则,在组织变化时,清空物料 【值更新事件和实体服务规则事件 效果演示】 (0)值更新事件演示,验证值变化和不变化的场景 ![image.webp](/download/0100a4283e17b51d4891a96893061df95990.webp) ![20240531 1055.webp](/download/0100239f88810af7463695ee40dfa6e27d33.webp) 值变化时:物料被清空 值不变化时:物料被清空 (1)实体服务规则演示,验证值变化和不变化的场景 ![image.webp](/download/0100a5103952c32d4c0d8c5350566d1481fa.webp) ![image.webp](/download/010015c44e068b284e16b24d9afbc9993f28.webp) ![20240531 1101.webp](/download/01002c6debd5e5a749f8b293961c1e86dee2.webp) 值变化时:物料被清空 值不变化时:物料不会清空 【值更新事件和实体服务规则事件 代码堆栈】 VS 中 调用堆栈显示外部堆栈 实体服务规则逻辑 ![image.webp](/download/0100831fa3200cde451a85d6e50d8cb528a6.webp) ![image.webp](/download/0100ff086dccb99a45c88f57e24d42386c47.webp) 【运行逻辑】 ![image.webp](/download/01001cd52820729241c48ac3ca7d17bbbda5.webp) 【二开代码触发值更新和实体服务规则的逻辑】 ```csharp //触发字段值更新 this.View.InvokeFieldUpdateService(fieldKey, 0); //触发实体服务规则 this.View.Model.SetValue(fieldKey, value); this.View.RuleContainer.RaiseDataChanged(fieldKey, this.Model.DataObject, new BOSActionExecuteContext(this.View)); ```

BOS.常见问题.值更新和实体服务 针对值没有变化时的区别

【场景】值更新和实体服务 针对值没有变化时的区别【省流结论】值更新事件,只要前端传了对应的字段,就会触发;实体服务规则,会在前端传...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息