金蝶云星空服务端基础资料赋值-公共方法
bos界面的单据转换规则映射已经无法满足,需要插件完善。
采购价目表下推采购调价单时,默认名称为:定期+日期(格式:yyyyMMDDhhmmss) 调价原因为:定期调价
命名格式【开发商标识.K3.SCM.App.Service.PlugIn】
(可以建一个转换插件的文件夹Convert),继承抽象类AbstractConvertPlugIn。【命名空间Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn】
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:引用需看参考【前置文章】
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)单据转换后事件