即时库存锁库校验预计解锁日期为必录

【客户需求】: 即时库存锁库里需要设置锁库天数、预计解锁日期、到期解锁起始日为必录字段,在BOS里设置了必录,保存时没有检查。保存按钮是一个空操作不能设置校验规则


【需求分析】:
1、选择锁库物料,加载解锁界面时,系统默认会填写"到期解锁起始日"为当前日期,锁库天数、预计解锁日期为空,填写"预计解锁日期",自动计算"锁库天数",BOS中针对"预计解锁日期"设置为必录
2、保存操作的点击事件为空,未配置任何服务和操作,相关的保存和校验逻辑都写在动态表单的插件中,无法干预
3、相关插件未对"预计解锁日期"是否录入做校验
【实现方案】:针对上面3点的分析,尝试以下扩展方案
1、方案1(方案不可行)、保存按钮点击事件挂载"空操作",在操作上添加字段必录的校验规则,测试发现可以校验字段是否必录,但是无法终止按钮事件的继续执行。
2、方案2(方案不可行)、使用Python插件,重写BarItemClick事件,在插件中校验字段是否必录,校验不通过设置e.Cancel = True或者抛出异常,依然无法终止按钮事件的继续执行。
3、方案3(方案可行)、使用Python插件,重写BarItemClick事件,新增点击按钮,隐藏原有的保存按钮,插件中校验字段是否必录,校验不通过则弹出提示信息,校验通过则触发原有"保存"按钮的执行事件。
import clr
clr.AddReference("System")
clr.AddReference("Kingdee.BOS")
clr.AddReference("Kingdee.BOS.Core")
clr.AddReference("Kingdee.BOS.DataEntity")
from System import *
from System import StringComparison
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.Core.Metadata.FieldElement import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
from Kingdee.BOS.Core.Metadata import *
from Kingdee.BOS.Orm.DataEntity import *
def BarItemClick(e):
if e.BarItemKey.Equals("TBTEST", StringComparison.OrdinalIgnoreCase):
subEntity = this.Vie即时库存锁库校验预计解锁日期为必录
【客户需求】: 即时库存锁库里需要设置锁库天数、预计解锁日期、到期解锁起始日为必录字段,在BOS里设置了必录,保存时没有检查。保存按...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



