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.常见问题.值更新和实体服务 针对值没有变化时的区别
【场景】值更新和实体服务 针对值没有变化时的区别【省流结论】值更新事件,只要前端传了对应的字段,就会触发;实体服务规则,会在前端传...
点击下载文档
本文2024-09-16 18:26:45发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-22189.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章