こういう細かいところでハマるのがkintoneならでは、という気がする(苦笑)
AとB二つのアプリの数字が合わず、調整を繰り返していた時のこと。
「計算」フィールドを使って「foo」フィールド×「bar」フィールドをしている。
正解は「fooに1.5を入力し、barに3を入れ、計算値が4.5になるのを繰り上げて5にする」ということ。
JavaScriptの処理を間違え、parseInt()
してしまっていたために、1.5が1になってしまっていた。parceFlow()
に変更することで、fooが1.5になることは確認できた。
次に、アプリの設定に入り、フォームタブを開く。計算値フィールドの設定。2019年2月に導入されたというROUNDUPを使って、ROUNDUP(foo*bar)
で終わり……のはず。ROUNDUP()
も正しく大文字になっている。
しかし値がなぜか4.5のままなのだ。ROUNDUP関数が反映されない。
何度関数を変更し、リロードしても値が4.5のまま。ほとほと困り果ててしまった。
解決編「kintoneの計算の更新は、レコードの編集成功時」
この記事を読んでピンときた。
Excelでは関数を書き換えたら自動計算が実行されるので、なんとなく関数を書き換えたらすぐ表示されるような気がしてしまう。
kintoneはそうではないのだ。特にROUNDUP関数は実データの書き換えを伴う。つまり、レコードを開いて編集しなければ、値が更新されない。更新しただけではダメなのだ。
レコードを編集しなおしたところ、無事ROUNDUPが反映された。ふう、やれやれ。