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

二开案例.表达式函数.复杂字段取值函数

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

二开案例.表达式函数.复杂字段取值函数

【应用场景】大文本字段,富文本字段,批号字段等,其字段内容通常被拆分成两部分存储(字段标识,字段标识_Tag),表达式通常只能拿到字段标识定义的这部分数据,而另一部分数据则无法获取。

【演示案例】新增函数,用于获取复杂字段的任意部分的值。

【实现步骤】

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

using Kingdee.BOS;

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

using System;


namespace Jac.XkDemo.BOS.Core.Functions

{

    /// <summary>

    /// 【函数】复杂字段取值函数

    /// </summary>

    [Serializable]

    public class GetValueByTagFuncDefine : AbstractFuncDefine

    {

        public GetValueByTagFuncDefine()

        {

        }


        public GetValueByTagFuncDefine(Context ctx, dynamic obj)

        {

            m_ctx = ctx;

            m_obj = obj;

        }


        public override IFuncDefine GetFunctionDefine(Context ctx, dynamic obj)

        {

            return new GetValueByTagFuncDefine(ctx, obj);

        }


        public override object GetFuncDefine()

        {

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

        }


        /// <summary>

        /// 富文本获取Tag

        /// </summary>

        /// <param name="key">复杂字段的值的标识(复杂字段的标识+Tag)</param>

        /// <returns>返回复杂字段的指定部分的值</returns>

        object FuncDefine(string key)

        {

            if (key == null)

            {

                return null;

            }


            return m_obj.ActiveObject.ActiveObject[key];

        }

    }

}



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

-- 复杂字段取值函数 

DELETE T_MDL_ELEMENTTYPE WHERE FID=888009;

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

VALUES (888009, '', 1, 0, 'Jac.XkDemo.BOS.Core.Functions.GetValueBy

二开案例.表达式函数.复杂字段取值函数

【应用场景】大文本字段,富文本字段,批号字段等,其字段内容通常被拆分成两部分存储(字段标识,字段标识_Tag),表达式通常只能拿到字段...
点击下载文档文档为doc格式

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

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