单据转换插件--得到转换来源

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

单据转换插件--得到转换来源

一、说明

有时候下游单据希望能够清楚是调用什么操作生成的,这个在上机操作日志中可以查到,但不直接明细,有时候需要在下游单据直接显示,此时就需要使用插件处理。

二、插件代码

using System;
using System.ComponentModel;
using System.Text;
using System.Linq;
using System.Collections.Generic;
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.Orm.DataEntity;
using Kingdee.BOS.Core.Metadata.EntityElement;
using Kingdee.BOS.Core.Const;

namespace Kingdee.BOS.TestPlugIn.BillABillB
{
    [HotUpdate]
    [Description("单据转换插件")]
    public class BillConvertPlugIn : AbstractConvertPlugIn
    {
        /// <summary>
        /// 得到单据转换来源标识,主要有
        /// ConvertConst.ManualPush下推,ConvertConst.Draw选单,ConvertConst.AutoPush自动下推服务,
        /// ConvertConst.SpecPush特定下推,ConvertConst.SpecDraw特定选单,ConvertConst.WebApiPushWebApi下推接口,
        /// ConvertConst.WFAutoConvert工作流自动单据转换,其他的情况无法识别
        /// </summary>
        /// <param name="e"></param>
        public override void AfterConvert(AfterConvertEventArgs e)
        {
            base.AfterConvert(e);
            var convertType = "";
            this.Option.TryGetVariableValue(ConvertConst.ConvertType, out convertType);
            //得到中文名称为上面的注释
            var convertTypeName = ConvertConst.GetChineseName(convertType);
            //给每个数据包的key为FRemark的备注字段赋转换类型名称(这里FRemark为自定义字段,非标准,实际使用                    //需要赋值字段的key)
            var allExDatas = e.Result.FindByEntityKey("FBillHead");
            foreach (var exData in allExDatas)
            {
                exData.DataEntity["FRemark"] = convertTypeName;
            }
        }
    }
}

单据转换插件--得到转换来源

一、说明有时候下游单据希望能够清楚是调用什么操作生成的,这个在上机操作日志中可以查到,但不直接明细,有时候需要在下游单据直接显示,...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息