2022年5月19日 星期四

SC-sc_format_num()應用在 sc_master_value('credit_amt', $value);

sc_lookup(result,"SELECT SUM(credit_amt) FROM gl_voucher_detail WHERE voucher_id = {voucher_id}");

//Using sc_format_num() to format the value that will be updated in the master application

//$value = sc_format_num({result[0][0]},",",".","2","N","1","");

//$value = {result[0][0]};

$value = number_format({result[0][0]},2);

sc_master_value('credit_amt', $value);

經過測試,使用 SC附的 sc_format_num(),出現在 master app上的都是空白!

如果不用 format,直接用SQL出來的值,會產生輸入格式不對!(master app 上的 credit_amt 欄位是 currency Type,小數點2位,我的資料庫欄位型態是 decimal(14,4))

最後使用 php 附的 number_format(value,2) 才解決問題!


這個是應用在 master-detail application 上,將 detail 的多筆加總,更新到 master 的總金額上。

sc_master_value() 這只是 更新 master application 的欄位,並沒有更新到 資料庫中,還需要操作者做儲存,才會更新到資料庫裡。

沒有留言:

張貼留言

如何判斷現在FORM是在 insert mode? 還是 update mode?

只要用  if (empty({primary_key})) 就可以知道是否為新增模式了。 如果 {promary_key} 是空白的,那麼就是在新增模式;反之,就是更新模式。 以上。