分销购销销售订单如何设置没有检验不允许出库

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

分销购销销售订单如何设置没有检验不允许出库

    通版在2021.5月份之前的版本中,在处理销售订单下推销售出库单的单据转换插件中有一个限制,就是如果物料勾选了发货检验,下推时会校验走发货检验路线,但是这个只处理了单据类型为标准销售和分销调拨类型的销售订单,后续版本将会添加分销购销类型的销售订单,提示信息如下图1-1:

图1-1


    如果等不及通版补丁,要支持分销购销类型的销售订单,应该如何处理,方法有两种。方法1,可以在BOS中扩展销售订单到销售出库单的单据转换,在其中的‘选单条件策略’上的‘附加条件‘上追加脚本 AND ( (FBaseCanOutQty+(FBASEDELIVERYMAXQTY-FBASEUNITQTY) > 0  or (FBaseCanOutQty < 0  AND FMaterialId.FErpClsID='6'))   AND (FMaterialId.FCHECKDELIVERY = '0' OR (FMaterialId.FCHECKDELIVERY = '1' AND FBUSINESSTYPE<>'NORMAL' AND FBUSINESSTYPE<>'DRPTRANS' AND FBUSINESSTYPE<>'DRPSALE'))),当然,这个时候也要相应地修改一下附加条件说明,如下图1-2所示:

    图1-2

    方法2,如果有二开人员,可以不用上面的BOS配置,通过修改单据转换插件来处理即可,步骤大致如下:1,创建继承至通版的类'Kingdee.K3.SCM.App.Sal.ServicePlugIn.SaleOrderToOutStock, Kingdee.K3.SCM.App.Sal.ServicePlugIn'(在程序集文件Kingdee.K3.SCM.App.Sal.ServicePlugIn.dll中,假设新创建的类名为SaleOrderToOutStockExtend),重写OnParseFilter方法,方法代码内容如下:

public override void OnParseFilter(BOS.Core.Metadata.ConvertElement.PlugIn.Args.ParseFilterEventArgs e)
{
    string filterSql = @"((FBaseCanOutQty+(FBASEDELIVERYMAXQTY-FBASEUNITQTY) > 0 or (FBaseCanOutQty < 0 AND FMaterialId.FErpClsID='6')) AND (FMaterialId.FCHECKDELIVERY = '0' OR (FMaterialId.FCHECKDELIVERY = '1' AND FBUSINESSTYPE<>'NORMAL' AND FBUSINESSTYPE<>'DRPTRANS' AND BUSINESSTYPE<>'DRPSALE')))";
    string messageInfo = Kingdee.BOS.Resource.ResManager.LoadKDString("1.可出数量(基本单位)必须大于0才允许下推 或 发货需检验物料请走检验路线!", "004103000020363", Kingdee.BOS.Resource.SubSystemType.SCM);
    if (string.IsNullOrWhiteSpace(e.FilterPolicySQL))
    {
        e.FilterPolicySQL = filterSql;
        e.PlugFilterDesc = messageInfo;
    }
    else
    {
        e.FilterPolicySQL = e.FilterPolicySQL + " AND " + filterSql;
        e.PlugFilterDesc += messageInfo;
    }
}

然后在单据转换插件策略中禁用通版插件‘SaleOrderToOutStock’,添加自定义插件'SaleOrderToOutStockExtend'并启用即可。

上面的代码简单说下: Sql脚本中的段

AND BUSINESSTYPE<>'DRPSALE'

代表的就是分销购销,可以根据需要动态地修改SQL脚本,另外语句

Kingdee.BOS.Resource.ResManager.LoadKDString

是处理多语言的,表达式

e.FilterPolicySQL

会解析并汇总单据转换插件中配置的选单条件策略的脚本。通过这个OnParseFilter方法的重写,可以自行处理下推或选单逻辑。


另外,通版预计在下一补丁中(预计发布时间在5.13号)处理分销购销订单的发货检测校验。

分销购销销售订单如何设置没有检验不允许出库

通版在2021.5月份之前的版本中,在处理销售订单下推销售出库单的单据转换插件中有一个限制,就是如果物料勾选了发货检验,下推时会校验...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息