金蝶云星空单据转换插件-二开(协同开发云六)

文章目录

  • 金蝶云星空单据转换插件-二开(协同开发云六)
    • 前置文章
    • 背景说明
    • 业务需求
    • 开发实现
      • 无项目先创建插件项目
      • 修改生成路径
      • 添加类PUR_PriceToPat
      • 重写转换后事件
      • 编译项目
      • 未二开过需先扩展
      • 单据转换规则注册插件
      • 启用转换规则并保存
      • 其他事件

金蝶云星空单据转换插件-二开(协同开发云六)

前置文章

金蝶云星空服务端基础资料赋值-公共方法

背景说明

bos界面的单据转换规则映射已经无法满足,需要插件完善。

业务需求

采购价目表下推采购调价单时,默认名称为:定期+日期(格式:yyyyMMDDhhmmss) 调价原因为:定期调价

开发实现

无项目先创建插件项目

命名格式【开发商标识.K3.SCM.App.Service.PlugIn】
金蝶云星空单据转换插件-二开(协同开发云六)_第1张图片

修改生成路径

金蝶云星空单据转换插件-二开(协同开发云六)_第2张图片

添加类PUR_PriceToPat

(可以建一个转换插件的文件夹Convert),继承抽象类AbstractConvertPlugIn。【命名空间Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn】
金蝶云星空单据转换插件-二开(协同开发云六)_第3张图片
金蝶云星空单据转换插件-二开(协同开发云六)_第4张图片
金蝶云星空单据转换插件-二开(协同开发云六)_第5张图片

using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn;
using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.Args;
using Kingdee.BOS.Core.Metadata.FieldElement;

重写转换后事件

在这里插入图片描述

var billHead = e.Result.FindByEntityKey("FBillHead");      //目标单
            foreach (var item in billHead)
            {
                object date = item["CreateDate"];

                //FName
                item.DataEntity["Name"] = date.ToString();

                //单选辅助资料:调价原因:默认值
                BaseDataField reasonField = e.TargetBusinessInfo.GetField("FPaReason") as BaseDataField;                //参考 金蝶云星空服务端基础资料赋值-公共方法 - lanrenka - 博客园 (cnblogs.com)
                BOSCommon.SetBaseDataFieldValue(this.Context, reasonField, item.DataEntity, "7590e08cf9064cdfbfe7e3a7fb0741e2");

            }

BOSCommon:引用需看参考【前置文章】

编译项目

金蝶云星空单据转换插件-二开(协同开发云六)_第6张图片

未二开过需先扩展

金蝶云星空单据转换插件-二开(协同开发云六)_第7张图片
金蝶云星空单据转换插件-二开(协同开发云六)_第8张图片

单据转换规则注册插件

金蝶云星空单据转换插件-二开(协同开发云六)_第9张图片
金蝶云星空单据转换插件-二开(协同开发云六)_第10张图片
金蝶云星空单据转换插件-二开(协同开发云六)_第11张图片

启用转换规则并保存

金蝶云星空单据转换插件-二开(协同开发云六)_第12张图片

其他事件

OnInitVariable(InitVariableEventArgs e)初始化变量,可以得到转换规则,源单和目标单的BussinessInfo

OnQueryBuilderParemeter(QueryBuilderParemeterEventArgs e)解析字段映射关系,并构建查询参数。这里可以加入你想要的额外的字段

OnInSelectedRow(InSelectedRowEventArgs e)构建列表中选择数据行的查询条件语句

OnParseFilter(ParseFilterEventArgs e)解析过滤策略中配置的条件

OnGetSourceData(GetSourceDataEventArgs e)下推时,执行SQL,读取源单数据(下推执行)

OnBeforeGroupBy(BeforeGroupByEventArgs e)执行源数据分组前

OnCreateTarget(CreateTargetEventArgs e)根据源数据分组结果,初始化创建目标单据数据包(下推执行)

OnBeforeFieldMapping(BeforeFieldMappingEventArgs e)根据字段映射,向目标字段填充值之前

OnFieldMapping(FieldMappingEventArgs e)根据字段映射,向目标字段填充值

OnAfterFieldMapping(AfterFieldMappingEventArgs e)所有字段映射完成

OnCreateLink(CreateLinkEventArgs e)关联关系(Link表)创建前

OnAfterCreateLink(CreateLinkEventArgs e)关联关系(Link表)创建完成

AfterConvert(AfterConvertEventArgs e)单据转换后事件

你可能感兴趣的:(金蝶云星空,工作笔记,协同开发云,开发语言,经验分享,笔记,visual,studio)