使用代码实现单据下推

使用代码实现单据下推
背景:在金蝶云星空/生产制造领域中,生产订单的领料/退料/补料/调拨场景广泛使用了第三方单据下推实现,为了方便二次开发对制造流程单据下推的需求实现,本文将会介绍如何使用代码实现将指定选中单据进行下推目标单功能的基本实现。
第三方下推:选中的源单不为目标单的真实上游数据,实现下推的真实源单仅为选中单据的关联单据(如生产订单关联用料清单下推生产领料单),或者以选中数据的冗余字段作为筛选真实选单的逻辑取数关系(生产备料单冗余用料清单内码下推生产领料单)。
相关接口介绍
单据转换服务简介
接口类IConvertService
一般用于服务端调用,如操作插件,需自行声明对象
IConvertService service = Kingdee.BOS.App.ServiceHelper.GetService<IConvertService>();
服务类ConvertServiceHelper
常用于表单插件的调用,如表单插件,列表插件,直接使用
相关服务方法简介
获取转换规则GetConvertRules/GetConvertRule
使用源单与目标单确定获取所有相关的规则
string sourceFormId = 'SAL_SaleOrder';
string targetFormId = 'PRD_MO';
var rules = ConvertServiceHelper.GetConvertRules(this.Context,sourceFormId,targetFormId);
使用转换规则标识获取指定的转换规则
string convertRuleId = 'PRD_SALEORDER2MO'; //销售订单下推生产订单
var ruleMeta = ConvertServiceHelper.GetConvertRule(this.Context,convertRuleId);
var rule = ruleMeta.Rule;
下推服务Push
List<ListSelectedRow> selectedRows = new List<ListSelectedRow>();
....
PushArgs = new PushArgs(rule,selectedRows.ToArray());//下推入口参数
OperateOption option = OperateOption.Create();//选项参数
option.SetVariableValue('customizeParam','1');//注册自定义参数键值对
ConvertOperationResult result = ConvertServiceHelper.Push(this.Context,args,option);
ListSelectedRow:下推选中行对象
string sourceFormId = 'SAL_SaleOrder';
string primaryKeyValue = 1000;//单据头内码
string entryPrimaryKeyValue = 1000;//下推的单据体内码
in
使用代码实现单据下推
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



