根据供应商等级控制是否允许二次采购

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

根据供应商等级控制是否允许二次采购

【背景】

部分业务中有设置供应商等级,对于临时供应商会设置较低的等级,且需要使用等级控制不允许二次采购,如果在单据中进行控制?

【方案】

通过下面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":

需要根据企业设置的供应商等级指定的值修改,按等级编码设置

image.webp

配置方式

image.webp

以上脚本保存时有提示报错,可以忽略。

image.webp

配置过程中需要在采购订单的供应商基础资料字段中引用供应商等级字段

image.webp

【实现效果】

image.webp


参考文章:https://wenku.my7c.com/link/s/loC61

根据供应商等级控制是否允许二次采购

【背景】部分业务中有设置供应商等级,对于临时供应商会设置较低的等级,且需要使用等级控制不允许二次采购,如果在单据中进行控制?【方案...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息