テーブル内の計算フィールドの値を同じテーブル内の日付フィールドに入れたい。

こんにちは。

テーブル内の計算フィールドの値を同じテーブル内の日付フィールドに入れるカスタマイズを行いたいのですが、 javascriptの知識が浅い為教えて頂けませんか?出来ればサンプルコードを載せて頂けると幸いです。

すみません。

少しやりたいことが変わりまして、レコード編集時同テーブル内の日付Aと日付Bを比較して、日付Aが先であれば同テーブル内の日付C、日付Bが先の場合は日付Bを同テーブル内の日付Cに代入したいと考えています。

色々調べてコード書いてみたのですが動かないので、ご教授お願いします。

function() {
    "use strict";
     
    kintone.events.on('app.record.edit.show','app.record.detail.show', function(event) {
     
         var tableRecords = event.record.Table.value;
        
        for (var i = 0; i < tableRecords.length; i++) {
          var category = tableRecords[i].value['日付A'].value;
          var form = tableRecords[i].value['日付B'].value;
                
    if ( category > form) {
    tableRecords[i].value['日付C'].value = category;
    } else {
    tableRecords[i].value['日付C'].value = from;
    }
        return event;
        }
    });
})();

Hiro 様

こんにちは。

フィリピンの者です。日本語で頑張ります。

文法エラーだけ、訂正させていただきます。(以下、プラス(+)は追加,マイナス(-)は削除, (…) はコード省略)

論理エラーやランタイムエラーもあるかもしれませんので、kintoneカスタマイズの基本的なデバッグの流れを身につけましょう

 

  • ( が抜けていました。

 

- function() {

+ (function() {

...

})()

 

  • kintone.events.onのパラメータ定義

イベントが複数ある場合、配列で記述します。イベント処理の記述方法

...

-  kintone.events.on('app.record.edit.show','app.record.detail.show', function(event) {

+ kintone.events.on(['app.record.edit.show','app.record.detail.show'], function(event) {

...

});

...

 

  • fromは定義されていないので、もしかして、formのことでしょうか。

    • tableRecords[i].value[‘日付C’].value = from;
    • tableRecords[i].value[‘日付C’].value = form;

 

 

合わせると以下の通りです。varもletとconstに変えました。

詳しくはJavaScriptの便利な書き方をご参考いただけます。

**(**function() {
 'use strict';
  kintone.events.on(
['app.record.edit.show', 'app.record.detail.show'],
    function(event) {

      const tableRecords = event.record.Table.value;

      for (let i = 0; i < tableRecords.length; i++) {

        const category = tableRecords[i].value['日付A'].value;

        const form = tableRecords[i].value['日付B'].value;

        if ( category > form) {

          tableRecords[i].value['日付C'].value = category;

        } else {

          tableRecords[i].value['日付C'].value = form;

        }
// return event; // こちらだと、一行目で終わります。
      }

      return event;

    });

})();

 

 

 

Lorenz Ras様

回答と修正して頂き有難うございます。

頂いたコードを使用したのですが残念ながら動かないです。どこか修正箇所ありますでしょうか?

またテーブル行を増やした時にも適用させるには、"app.record.create.change.テーブルコード”が必要になるのでしょうか?

宜しくお願いします。

 

 

すいません!
動作することができました!
この度はありがとうございました。

すいません!
動作することができました!
この度はありがとうございました。