新規投稿
フォローする

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

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

「はじめよう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;
         }
);})();

0

3件のコメント

Avatar
rex0220

松本さん

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

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

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;
  });
})();

0
Avatar
Matsumoto

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

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

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

0
サインインしてコメントを残してください。