自定义下推插件(调用系统现有的转换规则)原创
金蝶云社区-popcat
popcat
40人赞赏了该文章 883次浏览 未经作者许可,禁止转载编辑于2023年06月16日 16:52:46

接这篇文章自定义下推插件开发,调用转换规则实现自定义下推 (kingdee.com)

上面这篇文章讲的是调用自己编写的转换规则进行下推,但是有的时候我们的需求可能不止这些,

比如:实现关联查询,这个时候就需要我们调用系统现有的转换规则

但是直接修改转换规则标识进行调用像这样:

IConvertService service = Kingdee.BOS.App.ServiceHelper.GetService<IConvertService>();
                    string convertRuleld = "AP_InStockTOPayableMap";
                    var rule = ConvertServiceHelper.GetConvertRule(this.Context, convertRuleld).Rule;
                    List<ListSelectedRow> selectedRows = new List<ListSelectedRow>();
                    string sourceFormId = "AP_InStock";//发起下推的单据标识

这样百分百会报一个错误:源单类型不一致!!

这个时候我们还需要做另外一个配置

PushArgs PushArgs = new PushArgs(rule, selectedRows.ToArray());//下推入口参数
                    PushArgs.TargetBillTypeId = "a83c007f22414b399b0ee9b9aafc75f9";
                    OperateOption option = OperateOption.Create();//选项参数

加上我们的单据内码ID:(需要自行去数据库查询)不是单据标识!

PushArgs.TargetBillTypeId = "a83c007f22414b399b0ee9b9aafc75f9";

只需要改这两个更改,就可以调用已有的转换规则,并实现关联查询的需求

赞 40