常見問題
遇到問題了嗎?不用擔心,答案都在這。
全站搜尋

如何透過程式將金額轉換為大寫國字?

若需要將金額以大寫國字呈現,除了可以使用 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樓
    使用者條款 | 隱私權政策