电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

二开案例.表达式函数.获取文件名

来源:金蝶云社区作者:金蝶2024-09-235

二开案例.表达式函数.获取文件名

【应用场景】获取附件字段对应的附件的文件名。

【案例演示】新增函数,用于获取文件名。

【实现步骤】

<1>编写函数,代码如下。

using Kingdee.BOS;

using Kingdee.BOS.App.Core;

using Kingdee.BOS.Core.Metadata;

using Kingdee.BOS.Core.Metadata.Expression.FuncDefine;

using System;


namespace Jac.XkDemo.BOS.Core.Functions

{

    /// <summary>

    /// 【函数】获取文件名

    /// </summary>

    [Serializable]

    public class GetFileNameFuncDefine : AbstractFuncDefine

    {

        public GetFileNameFuncDefine()

        {

        }


        public GetFileNameFuncDefine(Context ctx, dynamic obj)

        {

            m_ctx = ctx;

            m_obj = obj;

        }


        public override IFuncDefine GetFunctionDefine(Context ctx, dynamic obj)

        {

            return new GetFileNameFuncDefine(ctx, obj);

        }


        public override object GetFuncDefine()

        {

            return new Func<string, object>(FuncDefine);

        }


        /// <summary>

        /// 获取文件名

        /// </summary>

        /// <param name="fileId">文件Id</param>

        /// <returns>返回文件名</returns>

        object FuncDefine(string fileId)

        {

            if (string.IsNullOrWhiteSpace(fileId))

            {

                return null;

            }


            var metadata = (FormMetadata)new MetaDataService().Load(m_ctx, "BOS_FileServerFileInfo");

            var objFile = new ViewService().LoadSingle(m_ctx, fileId, metadata.BusinessInfo.GetDynamicObjectType());

            if (objFile == null)

            {

                return null;

            }


            return objFile["FileName"].ToString();

        }

    }

}


<2>注册函数(可参考:https://vip.kingdee.com/article/74091717745675520)。

-- 获取文件名

DELETE T_MDL_ELEMENTTYPE WHERE FID=888011;

INSERT INTO T_MDL_ELEMENTTYPE (FID,FIMGKEY,FTYPEID,FISVISIBLE,FELEMENTCLASS,FAPPEARANCECLASS)

VALUES (888011, '', 1, 0, 'Jac.XkDemo.BOS.Core.Functions.GetFileNameFuncDefine,Jac.XkDemo.BOS.Core', 'BOS_GETFILENAME');


DELETE T_MDL_DOMAINMODELELEMENTMAP WHERE FID=1200 a

二开案例.表达式函数.获取文件名

【应用场景】获取附件字段对应的附件的文件名。【案例演示】新增函数,用于获取文件名。【实现步骤】<1>编写函数,代码如下。using Kingde...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信