批号拣货插件

背景:很多客户对系统的批号拣货有个性化需求,在标准系统无法配置实现时,需要通过二开批号拣货插件满足。 场景:涉及录单时无源单批号拣货服务,以及上下游单据下推时(有源单)批号拣货服务。 步骤:1.编写插件继承批号拣货插件基类;2.根据业务需要重载对应事件实现逻辑;3.注册插件至对应服务配置界面。 |
场景一:无源单批号拣货插件
工程需引用:
Kingdee.BOS.dll
Kingdee.BOS.DataEntity.dll
Kingdee.K3.SCM.App.Core
using Kingdee.K3.SCM.App.Core.ConvertBusinessService;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ClassLibrary1
{
public class Class1 : AbstractSinglePickPlugIn
{
/// <summary>
/// 捡货之前(插件可取消捡货)
/// </summary>
public override bool BeforePicking(Kingdee.K3.SCM.App.Core.ConvertBusinessService.LotPickArgs.BeforePickingArgs e)
{
return base.BeforePicking(e);
}
/// <summary>
/// 系统参数设置为不检霍是否需要执行捡货
/// </summary>
public override bool DoPickWhenNoSysSet()
{
return base.DoPickWhenNoSysSet();
}
/// <summary>
/// 修正解释库存取数脚本
/// </summary>
/// <param name="sql">即时库存取数脚本(获得物料范围的即时库存数据信息)</param>
/// <param name="paras">即时库存取数参数</param>
public override string RegexGetInvDataSql(string sql, List paras)
{
return base.RegexGetInvDataSql(sql, paras);
}
/// <summary>
/// 处理当前行的捡货库存捡货结果
/// </summary>
public override System.Data.DataRow[] RegexSelectResultByCurRowData(Kingdee.K3.SCM.App.Core.ConvertBusinessService.LotPickArgs.RegexSelectResultByCurRowDataArgs e)
{
return base.RegexSelectResultByCurRowData(e);
}
/// <summary>
/// 无源单单条捡货库存筛选过滤条件
/// </summary>
public override string RegexSinglePickFilterString(Kingdee.K3.SCM.App.Core.ConvertBusinessService.LotPickArgs.RegexSinglePickFilterStringArgs e)
{
return base.RegexSinglePickFilterString(e);
}
/// <summary>
/// 根据当前行数据整理捡货库存筛选排序字符串
/// </summary>
public override string RegexSinglePickSortString(Kingdee.K3.SCM.App.Core.ConvertBusinessService.LotPickArgs.RegexCurRowPickSortStringArgs e)
{
return base.RegexSinglePickSortString(e);
}
/// <summary>
/// 捡货前重整即时库存数据
/// </summary>
public override void RegexUseableInvData(System.Data.DataTable invDatas)
{
base.RegexUseableInvData(invDatas);
}
/// <summary>
/// 完成无源单单条捡货
/// </summary>
public override void AfterSinglePicking(Kingdee.K3.SCM.App.Core.ConvertBusinessService.LotPickArgs.AfterSinglePickingArgs arg)
{
base.AfterSinglePicking(arg);
}
}
}场景二:有源单批号拣货插件
工程需引用:
Kingdee.BOS.dll
Kingdee.BOS.DataEntity.dll
Kingdee.K3.SCM.App.Core
namespace ClassLibrary2{
public class Class2 : AbstractLotPickPlugIn
{
public override bool BeforePicking(Kingdee.K3.SCM.App.Core.ConvertBusinessService.LotPickArgs.BeforePickingArgs e)
{
return base.BeforePicking(e);
}
public override bool DoPickWhenNoSysSet()
{
return base.DoPickWhenNoSysSet();
}
public override string RegexGetInvDataSql(string sql, List paras)
{
return bas批号拣货插件
背景:很多客户对系统的批号拣货有个性化需求,在标准系统无法配置实现时,需要通过二开批号拣货插件满足。场景:涉及录单时无源单批号拣货...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



