テーブル内の計算フィールドを別の数値フィールドへ転記したいです

お世話になっております。

下図のように、テーブル内の計算フィールドの値をテーブル外の数値フィールドに転記したいと思っています。
テーブルの行は4行以上にはならない運用です。

テーブルの数値フィールドの数値を他の数値フィールドにコピー(転記)できますか?の記事を参考にして試行錯誤しましたが、転記元が計算フィールドのためかうまくいきませんでした。

計算フィールドの値を他の数値フィールドに転記することは可能なのでしょうか?
また、可能であれば、例となるようなコードをご教示いただけないでしょうか?

よろしくお願いいたします。

 

kirimin さん

こんにちは!

 

計算フィールドでは、changeイベントは対応していないみたいなので、

各数値フィールドの changeイベントで値を拾って、JavaScript内で計算を行った上で

別のフィールドに計算結果を渡すというのはいかがでしょうか。

 

テーブル化されている数値A、数値B に値が入力されている場合、

1行目の計算結果を移管先A、2行目の計算結果を移管先B…といった処理を書いてみました!

参考になれば嬉しいです。

 

(function () {
   
"use strict";

    var events = [
        'app.record.create.change.数値A',
        'app.record.create.change.数値B',
        'app.record.edit.change.数値A',
        'app.record.edit.change.数値B'
        ];

    kintone.events.on(events, function (event) {
 
     var rec = event.record;
    
        for(var i = 0; i < rec.Table.value.length; i++){
           
            if(rec.Table.value[i].value.数値A.value && rec.Table.value[i].value.数値B.value){
               
                switch(i) {
                   
                    case 0 :
                        rec.移管先A.value = Number(rec.Table.value[i].value.数値A.value) + Number(rec.Table.value[i].value.数値B.value);
                        break;
                   
                    case 1 :
                        rec.移管先B.value = Number(rec.Table.value[i].value.数値A.value) + Number(rec.Table.value[i].value.数値B.value);
                        break;
                       
                    case 2 :
                        rec.移管先C.value = Number(rec.Table.value[i].value.数値A.value) + Number(rec.Table.value[i].value.数値B.value);
                        break;
                }
            }
        }
       
  return event;
  
 });
 
})();

 

文系男さま

ご教示ありがとうございます!
計算フィールドはchangeイベントに対応していないのですね、知りませんでした。
コードの例示もありがとうございます、計算式の書き方などとても勉強になります。

いただいたコードをもとに、ぶじ希望通りの動作をさせることができました!
重ねてお礼申し上げます。

kirimin さん

 

無事、希望通りの動作をさせることができたとのこと、承知しました!

お役にたてたようで良かったです^^