二开插件:实现表单金额字段大写并保存到数据库 记录自己的小开发原创
金蝶云社区-dzz
dzz
41人赞赏了该文章 306次浏览 未经作者许可,禁止转载编辑于2024年03月05日 09:23:30

image.png


效果:

image.png





using Kingdee.BOS.Core.DynamicForm.PlugIn;

using Kingdee.BOS.NumFormatTran;

using Kingdee.BOS.Util;

using System;

using System.ComponentModel;

namespace Jac.XkDemo.BOS.Business.PlugIn

{

    /// <summary>

    /// 【表单插件】金额大写

    /// </summary>

    [Description("【表单插件】金额大写"), HotUpdate]

    public class AmountToUpperFormPlugIn : AbstractDynamicFormPlugIn

    {

        public override void AfterBindData(EventArgs e)

        {

            base.AfterBindData(e);

            // 获取价税合计字段的值

            var amount = this.Model.GetValue("FAPPLYAMOUNTFOR_H").ToString();

            // 将价税合计转金额大写

            var tran = new FormatTranslate();

            tran.Resource = amount;

            tran.Type = Kingdee.BOS.Util.UpperStyle.ChineseRmbStyle.ToString();

            // 使用中文人民币样式进行转换

            var amountToUpper = Kingdee.BOS.Util.FormatTranslateUtil.Translate(tran);

            // TODO:也可以自定样式进行金额大写转换

            // 将人民币的元改为阿联酋的迪拉姆

            //amountToUpper = amountToUpper.TrimEnd('元').TrimEnd('圆') + "迪拉姆";

            this.View.GetControl("F_SCPQ_TEXT4").SetCustomPropertyValue("Text", string.Format("金额大写(自定义格式):{0}", amountToUpper));

        }

    }

}


/*

金额大写控件内置格式如下:

/// <summary>

/// 金额大写样式

/// </summary>

public enum UpperStyle

{

    /// <summary>

    /// 中文人民币样式

    /// </summary>

    ChineseRmbStyle,

    /// <summary>

    /// 英文美元大写样式(美分)

    /// </summary>

    EnglishDollarStyle,

    /// <summary>

    /// 英文大写样式(美分)

    /// </summary>

    EnglishWithoutStyle,

    /// <summary>

    /// 中文人民币带整样式

    /// </summary>

    ChineseRmbZhengStyle,

    /// <summary>

    /// 中文人民币带整样式(圆)

    /// </summary>

    ChineseRmbZhengYuanStyle,

    /// <summary>

    /// 英文大写样式(美分2)

    /// </summary>

    EnglishUppercaseCentsStyle,

    /// <summary>

    /// 英文大写样式(元)

    /// </summary>

    EnglishUppercaseDollarsStyle,

    /// <summary>

    /// 英文大写样式(美点)

    /// </summary>

    EnglishUppercasePointStyle,

    /// <summary>

    /// 英文大写样式(分数)

    /// </summary>

    EnglishUppercaseFractionStyle

}

*/


赞 41