物料/供应商已经被禁用了,为什么供应链单据还能正常提交审核呢?该如何做控制呢?
适用版本:所有版本
一、现状说明:
1、供应链单据目前只在新增单据时对F7范围做了过滤,但若单据是复制、关联生成、导入时,未在提交、审核时再次校验(部分单据可能有在补丁中做处理,但因需要每个单据每个字段单独做控制,故未统一处理),故会造成物料已被禁用,但是单据仍可正常执行的问题。
2、9.0版本已通过风控平台做控制,且支持自定义风控模型,由客户自行配置需要管控的基础数据、单据及管控方式(强控或者弱控),但低版本仍未做全面管控。
二、低版本DEP脚本处理指导,可参考以下案例:
1、采购申请单控制物料未核准不允许提交为例:
(1)DEP扩展,将脚本放在对应实体的对应操作的前置脚本中,如下图:
(2)、脚本如下,本脚本与单据无关,任何单据需要控制物料状态,均可用此脚本。
var ctx = pluginCtx.getContext(); var objectValue = methodCtx.getParamValue(0); var entries = objectValue.getEntries(); if(entries.size() > 0){ for (var i = 0;i < entries.size(); i++) { var entryInfo = entries.get(i); var material = entryInfo.getMaterial(); if(material != null && material.getId() != null){ var id = material.getId().toString(); var sic = new com.kingdee.bos.metadata.entity.SelectorItemCollection(); sic.add(new com.kingdee.bos.metadata.entity.SelectorItemInfo("id")); sic.add(new com.kingdee.bos.metadata.entity.SelectorItemInfo("number")); sic.add(new com.kingdee.bos.metadata.entity.SelectorItemInfo("status")); sic.add(new com.kingdee.bos.metadata.entity.SelectorItemInfo("name")); var materialInfo = com.kingdee.eas.basedata.master.material.MaterialFactory.getLocalInstance(ctx).getMaterialInfo(new com.kingdee.bos.dao.ormapping.ObjectUuidPK(id),sic); if(materialInfo.getStatus() != com.kingdee.eas.basedata.master.material.UsedStatusEnum.APPROVED){ throw new com.kingdee.bos.BOSException("物料:"+ materialInfo.getName() + "未核准,提交失败!"); } } } }
2、采购入库单控制供应商未核准不允许提交为例:
(1)DEP扩展,将脚本放在对应实体的对应操作的前置脚本中,如下图:
(2)、脚本如下,本脚本与单据无关,任何单据需要控制供应商状态,均可用此脚本。
var ctx = pluginCtx.getContext(); var info = methodCtx.getParamValue(0); var supplierId = info.getSupplier().getId(); var sic = new com.kingdee.bos.metadata.entity.SelectorItemCollection(); sic.add("usedStatus"); sic.add("id"); var supplier = com.kingdee.eas.basedata.master.cssp.SupplierFactory.getLocalInstance(ctx). getSupplierInfo(new com.kingdee.bos.dao.ormapping.ObjectUuidPK(supplierId), sic); if(supplier.getUsedStatus() != com.kingdee.eas.basedata.master.cssp.UsedStatusEnum.APPROVED){ throw new com.kingdee.bos.BOSException("供应商不是核准状态,不允许提交"); }
物料/供应商已经被禁用了,为什么供应链单据还能正常提交审核呢?该如何做控制呢?
本文2024-09-22 19:34:27发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-108051.html
- 鼎捷EAI整合規範文件V3.1.07 (集團).pdf
- 鼎捷OpenAPI應用場景說明_基礎資料.pdf
- 鼎捷OpenAPI應用場景說明_財務管理.pdf
- 鼎捷T100 API設計器使用手冊T100 APIDesigner(V1.0).docx
- 鼎新e-GoB2雲端ERP B2 線上課程E6-2應付票據整批郵寄 領取.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A4使用者建立權限設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C3會計開帳與會計傳票.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程E6-1應付票據.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A5-1進銷存參數設定(初階篇).pdf
- 鼎新e-GoB2雲端ERP B2 線上課程D2帳款開帳與票據開帳.pdf