根据供应商等级控制是否允许二次采购
【背景】
部分业务中有设置供应商等级,对于临时供应商会设置较低的等级,且需要使用等级控制不允许二次采购,如果在单据中进行控制?
【方案】
通过下面python脚本实现,在单据中获取等级编号,判断是否有采购记录。
【脚本】
import clr clr.AddReference('mscorlib') clr.AddReference('Kingdee.BOS.App') from System import * from Kingdee.BOS.App.Data import * def BeforeDoOperation(e): opCode=e.Operation.FormOperation.Operation.ToUpperInvariant(); if(opCode=="SAVE"): billObj = this.View.Model.DataObject; billNo = billObj["BillNo"]; Supplier = billObj["SupplierId"]; SupplierId = Supplier["ID"]; if Supplier["SupplierBase"][0]["SupplierGrade"] <> None: SupplierDJ = Supplier["SupplierBase"][0]["SupplierGrade"]["Number"]; if SupplierDJ == "GYSDJ_SYS_003": sql = "select FBILLNO from t_PUR_POOrder where FCANCELSTATUS <> 'B' and FDOCUMENTSTATUS <> 'Z' and FSUPPLIERID=" + str(SupplierId) + "order by FCREATEDATE"; a = DBUtils.ExecuteScalar(this.Context, sql, None); if a <> None and a<>billNo: e.Cancel = True; this.View.ShowWarnningMessage("供应商等级为C级且被单据"+str(a)+"使用过,单据保存失败,不允许二次采购!");
以上脚本中的这段
if SupplierDJ == "GYSDJ_SYS_003":
需要根据企业设置的供应商等级指定的值修改,按等级编码设置
配置方式
以上脚本保存时有提示报错,可以忽略。
配置过程中需要在采购订单的供应商基础资料字段中引用供应商等级字段
【实现效果】
参考文章:https://wenku.my7c.com/link/s/loC61
根据供应商等级控制是否允许二次采购
【背景】部分业务中有设置供应商等级,对于临时供应商会设置较低的等级,且需要使用等级控制不允许二次采购,如果在单据中进行控制?【方案...
点击下载文档
上一篇:采购在途与待检货品的查询下一篇:销售退货业务的处理方式
本文2024-09-16 18:59:18发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-25681.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章