search
LoginSignup
0
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

kintone 計算項目のしくみ

kintone の計算項目にIF関数が導入されて、だいぶ標準機能だけでも出来ることが増えてきました。
この機会に計算項目について、これまで分かったことをまとめてみます。

計算式を書ける項目タイプ

計算式を書ける項目は、文字列(1行)と計算項目があります。

  • 文字列(1行): 計算結果は、文字列
  • 計算: 計算結果は、指定した書式で表示

2020-02-08_16h42_29.png

計算式の設定

計算式には、フィールドコードを指定して式を設定します。

  • 計算式の例: 数値1 * 数値2

2020-02-08_16h46_08.png

  • 計算結果

計算項目は、右詰め。文字列項目は、左詰めで表示。

2020-02-08_16h50_41.png

API による計算

計算式で使われている項目の値が変わると、API が実行され、画面に反映されます。
たぶん、ブラウザによるレコード変更と REST API によるレコード変更を共通のしくみで計算するために、API が使われているのではないかと思われます。

ただし、API なので当然タイムラグが多少発生します。
計算項目に値変更時のイベントが無いのも、この辺が影響していると思われます。
イベント処理で、計算結果を JavaScript で使おうとしても、更新前の古い値だったりするので注意が必要です。

2020-02-08_16h54_12.png

計算項目を編集可にできるか?

なんとなく、編集可能にできるような気がして、試してみました。

(function() {
  'use strict';
  kintone.events.on(['app.record.create.show','app.record.edit.show'], function(event) {
    var record = event.record;
    record['計算1']['disabled'] = false;
    record['文字列1']['disabled'] = false;
    return event;
  });
})();

試した結果、計算項目は、編集不可。文字列項目は、編集可能になる。
ただし、文字列項目の計算結果を変更すると、API が実行され、再計算される。
まあ、そうなんだといったところですね。

2020-02-08_17h26_39.png

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0
Help us understand the problem. What are the problem?