单据体第一行实体服务规则不生效的处理方法原创
103人赞赏了该文章
760次浏览
编辑于2024年02月19日 15:54:50
不少客户遇到设置了单据体的实体服务规则,但是单据首次加载时不生效的情况,产生此类问题的原因是实体服务规则需要新增行,值更新等去触发,以费用报销单为例,
报销明细单据体默认行数是1,则在单据加载时,默认会创建一行数据,此时是不触发实体服务规则的,避免此类问题的方式有两种:
简单处理,将此值改为0,即第一行也需要点击新增行实现,这样就可以触发实体服务规则
使用python插件,将第一行的实体服务规则内容补上,例子如下:
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;
赞 103
103人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!
请选择打赏金币数 *
10金币20金币30金币40金币50金币60金币
可用金币: 0