常见问题
遇到问题了吗?不用担心,答案都在这。
全站搜索

如何透过程序将金额转换为大写国字?

若需要将金额以大写国字呈现,除了可以使用 SPELLNUMBER 公式以外,也可以透过写程序来新增一个可以填入大写国字的动作单击钮,请依照以下步骤设置。

步骤一:打开 JavaScript 工作流程编辑器

在任一表单名称上单击下右键,并选择 JavaScript 工作流程

步骤二:选择表单并切换至 Installed sheet scope

拷贝并贴上以下程序代码:

function dx(nodeId) {
var query = db.getAPIQuery("/ragicforms8/20004");
var entry = query.getAPIEntry(nodeId); 
var n=entry.getFieldValue(field ID);

if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n))
return "非法数据";
//var unit = "千百拾亿千百拾万千百拾元角分", str = "";
var unit = "千佰拾亿千佰拾万千佰拾元角分", str = "";
n += "00";
var p = n.indexOf('.');
if (p >= 0)
n = n.substring(0, p) + n.substr(p+1, 2);
unit = unit.substr(unit.length - n.length);
for (var i=0; i < n.length; i++)
str += '零壹贰叄肆伍陆柒捌玖'.charAt(n.charAt(i)) + unit.charAt(i);
var n2= str.replace(/零(千|佰|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(万|亿|元)/g, "$1").replace(/(亿)万|壹(拾)/g, "$1$2").replace(/^元零?|零分/g, "").replace(/元$/g, "元整");
entry.setFieldValue(field ID, n2);
entry.save();
}

上述程序代码中,有三个部分需要依据你的表单进行调整:

1. 表单路径

var query = db.getAPIQuery("/ragicforms8/20004");

请将 /ragicforms8/20004 替换为想新增动作单击钮的表单路径,

例如:https://www.ragic.com/accountname/tabname/1?PAGEID=wSM (忽略后面的 ?PAGEID=wSM 部分)

便在此处填入:

var query = db.getAPIQuery("/tabname/1");

2. 参照字段 ID

var n=entry.getFieldValue(field ID);

请将 field ID 替换为数字金额字段的字段 ID。例如,若该字段的 ID 为 1002374,则填入:

var n=entry.getFieldValue(1002374);

3. 填入显示大写金额的字段 ID

entry.setFieldValue(field ID, n2);

field ID 替换为你希望填入大写金额的字段 ID。例如,若大写字段的 ID 为 1008313,则填入:

entry.setFieldValue(1008313, n2);

完成后,别忘了保存设置再离开画面喔!

步骤三:手动创建动作单击钮

前往想要增加动作单击钮的表单设计模式,点选左侧的表单设置 > 动作单击钮。接着,使用以下设置手动新增一个动作单击钮:

单击钮名称:可以自由命名动作单击钮

单击钮类型:请选择 JS Workflow

动作:请填入 dx({id})

其他自订动作单击钮的相关设置可以参阅这里

设置完成后,点选新增单击钮并保存设计,即可在表单页右下角看到你新增的动作单击钮,点击单击钮便可以在指定字段填入大写金额了。

    马上登记
    免费试用 Ragic!

    用 Google 帐号登记

    立即科技 Ragic, Inc.
    02-7728-8692
    info@ragic.com
    台北市中正区南昌路二段81号9楼
    用户条款 | 隐私权政策