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

通版在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 BU分销购销销售订单如何设置没有检验不允许出库
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



