#常见问题#新增、下推、变更等操作即时触发字段值更新事件
一、问题描述
在使用bos字段属性配置时,我们会发现字段值更新事件使用起来非常便捷,使用久了就会发现这个功能也有一个弊端,在我们需要新增、下推、变更、复制等操作的时候这个功能是无法触发的。这让很多实施顾问都苦恼,虽然部分功能可以通过配置实体服务规则解决这个问题,但是在遇到标准的触发字段值更新事件有几十条关联配置时,要全部挪到实体服务规则重新配置也是一大难题。对此我出了两套方案供各位选择使用。
二、解决方法
方法一:这个是非常常见的方法,也是最容易实现的方法,但有局限性。我们可以分析值更新事件的具体配置逻辑。在相应的表头或者表体的实体服务规则重新定义这个值更新事件的内容。这个方法可以解决掉大部分的值即时触发字段值更新事件无法运行问题。局限性就是如果这个值更新事件配置得比较复杂。我们无法重现配置,或者其关联的内容比较多,梳理起来比较困难时。我们就不能用这种比较原始的方式了。
方法二:这个方法是最理想化的方式。也是我极力推荐的方式。它大大简化了我们的工作量,同时也是最保险可靠的方式。
但是需要我们懂一点点开发。这里我把关键代码放出来,供各位参考。
/// <summary>
/// 即时出发新增时价税合计值更新事件
/// </summary>
/// <param name="e"></param>
public override void AfterBindData(EventArgs e)
{
base.AfterBindData(e);
Entity Entity = this.Model.BusinessInfo.GetEntity("FPOOrderEntry");
DynamicObjectCollection dy = this.Model.GetEntityDataObject(Entity);
for (int i = 0; i < dy.Count; i++)
{
this.View.InvokeFieldUpdateService("FTaxPrice", i);
}
}
以上的代码在加载完数据后最后一个事件触发,获取对应的数据并且刷新字段服务事件,相当于界面上重新填写对于的字段。d
(3)适用版本
所有版本均可使用
(4)注意事项
此方法使用时要注意避开条件值为空或者条件值加载时不存在的情况。防止系统空指针异常
并没有什么卵用, 特别是二开单据下推销售订单 这种字段特别多,业务逻辑特别复杂的单据的时候
方法二这个代码如何使用呢???不懂开发的呢。。能否让我们小白依葫芦画瓢学一学呢
#常见问题#新增、下推、变更等操作即时触发字段值更新事件
本文2024-09-16 18:32:44发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-22846.html