テーブルの値を利用した更新処理

いつもお世話になってます。

「はじめようkintone API」第6回・8回を参考に、タイトルの処理を行いたいのですが、うまくいきません。

以下のようなプログラミングをしております。

テーブル内の2つのフィールド 開始月 - 準備月 を算出し、

同テーブル内のフィールド トリガー月 を更新する処理を行いたいです。

ご教授いただけたらと思います。

 

(function() {
    “use strict”;
    kintone.events.on([‘app.record.create.submit’, ‘app.record.edit.submit’], function(event) {

        var tableRecords = event.record.テーブル.value;
 
         // テーブル内の各レコードを計算する
         for (var i = 0; i < tableRecords.length; i++) {
             var kaishi = tableRecords[i].value[‘開始月’].value;
             var junbi  = tableRecords[i].value[‘準備月’].value; 
             if (kaishi > junbi) {
                 var torigaa = kaishi - junbi;
             }
             else if (kaishi <= junbi) {
                 var torigaa = kaishi - junbi +12;
             }
             record tableRecords[i].value[‘トリガー月’].value = torigaa;
             return event;
         }
);})();

松本さん

数値項目でも、取得できる値は文字列ですので、数値変換してください。

var kaishi = Number(tableRecords[i].value['開始月'].value);
var junbi = Number(tableRecords[i].value['準備月'].value);

Matsumotoさん

こんにちは。
こちらすこし修正して(rex0220さんのアドバイスも取り入れてみました。)、
手元で試してみたらうまく動作しました。参考にしてください。

#イメージ

#前提
・フィールド名:開始月 / 準備月 / トリガー月 / テーブル
・フィールドコード:kaishi / junbi / torigaa / items

#コード

 

(function() {
‘use strict’;

kintone.events.on([‘app.record.create.submit’, ‘app.record.edit.submit’], function(event) {

var tableRecords = event.record.items.value;

for (var i = 0; i \< tableRecords.length; i++) {  
  var kaishi = Number(tableRecords[i].value['kaishi'].value);  
  var junbi = Number(tableRecords[i].value['junbi'].value);

  if (kaishi \> junbi) {  
    var calc = kaishi - junbi;  
    tableRecords[i].value['torigaa'].value = calc;  
  } else if (kaishi \<= junbi) {  
    var subcalc = kaishi - junbi + 12;  
    tableRecords[i].value['torigaa'].value = subcalc;  
  }  
}  
return event;  

});
})();

コメントありがとうございます。

お二方のコメントを頼りに修正してみたところ、うまくいきました。ありがとうございました。

自分が細かいところをいくつも間違えていることが分かりました。