单据转换插件--变量初始化事件(OnInitVariable )

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

单据转换插件--变量初始化事件(OnInitVariable )

一、说明

1、OnInitVariable 变量初始化事件,在平台初始化后触发,得到初始化的数据,或对操作选项进行干预

2、InitVariableEventArgs 初始化参数,相关属性

1)Context 上下文

2)Rule 转换规则

3)SourceBusinessInfo 源单元数据

4)TargetBusinessInfo 目标单元数据

二、相关代码

1、初始化时得到源单和目标单元数据

using System;
using System.ComponentModel;
using System.Text;
using Kingdee.BOS.Core;
using Kingdee.BOS.Util;
using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn;
using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.Args;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Core.Metadata.ConvertElement;
using Kingdee.BOS.Core.Metadata.EntityElement;
namespace Kingdee.BOS.TestPlugIn.BillABillB
{
    [HotUpdate]
    [Description("转换规则插件")]
    public class BillConvertPlugIn : AbstractConvertPlugIn
    {
        /// <summary>
        /// 转换规则初始化变量事件
        /// 此事件中可以得到转换规则,源单元数据,目标单据元数据
        /// </summary>
        /// <param name="e"></param>
        public override void OnInitVariable(InitVariableEventArgs e)
        {
            var convertRule = e.Rule;
            var srcBusinessInfo = e.SourceBusinessInfo;
            var tgtBusinessInfo = e.TargetBusinessInfo;
        }
    }
}

三、问题

1、初始化时取消对下游单据新增权限验证,Python代码

def OnInitVariable(e): 
    this.Option.SetVariableValue("ValidatePermission", True)

2、当来源单单据体只映射目标单单据头,目标单据的关联主实体为单据头

则会导致单据体关联单据头,为了改成单据头跟单据头关联,可以使用转换插件

def OnInitVariable(e):
    e.Rule.Policies[2].TargetEntryKey = "FEntryId"


单据转换插件--变量初始化事件(OnInitVariable )

一、说明1、OnInitVariable 变量初始化事件,在平台初始化后触发,得到初始化的数据,或对操作选项进行干预2、InitVariableEventArgs 初...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息