单据保存校验业务日期大于库存的关账日期实现案例

【业务需求】
单据保存操作的校验规则中如何设置:
1、新增单据的单据日期大于库存的关账日期
库存类单据标准插件中已预置关账日期的校验,对于非库存单据或者二开单据,系统关账日期在校验规则中无法直接使用,这个需求要写插件实现,组织最大关账日期数据可以调用Kingdee.K3.SCM.App.Core.CommonService服务的GetMaxCloseDateByOrgId方法获得,或者直接从T_STK_CLOSEPROFILE表中读取
select max(FCLOSEDATE) FCLOSEDATE FROM T_STK_CLOSEPROFILE WHERE FCATEGORY = 'STK' and FORGID = xxx
T_STK_CLOSEPROFILE 关账记录表
FCATEGORY = 'HS': 存货关账
FCATEGORY = 'STK':库存关账
以处理申请单为例,保存操作配置插件脚本:
import clr
clr.AddReference('System')
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.ServiceHelper')
from System import *
from System import StringComparison
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.Metadata.EntityElement import *
from Kingdee.BOS.Core.Validation import *
from Kingdee.BOS.Log import Logger
from Kingdee.BOS.ServiceHelper import *
def OnAddValidators(e):
validator = StockOrgCloseDateValidator()
validator.AlwaysValidate = True
validator.EntityKey = "FBillHead"
e.Validators.Add(validator)
class StockOrgCloseDateValidator(AbstractValidator):
def Validate(self, dataEntities, validateContext, ctx):
if len(dataEntities) == 0:
return
for bill in dataEntities:
targetOrgId = b单据保存校验业务日期大于库存的关账日期实现案例
【业务需求】单据保存操作的校验规则中如何设置:1、新增单据的单据日期大于库存的关账日期库存类单据标准插件中已预置关账日期的校验,对...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



