分销购销销售订单如何设置没有检验不允许出库
通版在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号)处理分销购销订单的发货检测校验。
分销购销销售订单如何设置没有检验不允许出库
本文2024-09-16 17:22:09发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-15266.html