单据体第一行实体服务规则不生效的处理方法

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

单据体第一行实体服务规则不生效的处理方法

不少客户遇到设置了单据体的实体服务规则,但是单据首次加载时不生效的情况,产生此类问题的原因是实体服务规则需要新增行,值更新等去触发,以费用报销单为例,image.webp

报销明细单据体默认行数是1,则在单据加载时,默认会创建一行数据,此时是不触发实体服务规则的,避免此类问题的方式有两种:

  1. 简单处理,将此值改为0,即第一行也需要点击新增行实现,这样就可以触发实体服务规则

  2. 使用python插件,将第一行的实体服务规则内容补上,例子如下:

    image.webp

python源码如下:

def AfterBindData(e):
    iCount = this.View.Model.GetEntryRowCount("FEntity"
    for i in range(iCount): 
        #获取每一行中xxx字段的值
        acc0 = this.Model.GetValue("xxx", i) 
        #todo 对值进行判断做相关操作
        if acc0 is not None and acc0=='123':
            #举例,将abc字段设为不可编辑
            this.View.GetControl("abc").Enabled = False;

单据体第一行实体服务规则不生效的处理方法

不少客户遇到设置了单据体的实体服务规则,但是单据首次加载时不生效的情况,产生此类问题的原因是实体服务规则需要新增行,值更新等去触发...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息