特定の条件でレコードの値を更新したい

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

kintoneで実現したいことがあったのですが、コードが分からなかったため質問させていただきます。

■実現したいこと

下記2点を実現したいと考えております。

①送信日が入力されたら、送信確認にチェックを入れる
②テーブルの”作成日”の最新の日付を自動的に”最終作成日”に挿入(更新)、回数はテーブルの行を追加するたび自動でカウント

①の項目

・送信日(日付)
・送信確認(チェックボックス)

②の項目

・テーブル名:作成日テーブル
・回数(数値)
・作成日(日付)
・最終作成日(日付)

■分からないこと

①については分からないなりに下記コードを書いてみました。

jQuery.noConflict();
(function($) {
“use strict”;

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

var date_record = event.record;

if(date_record[‘送信日’][‘value’] != ‘’){
date_record[‘送信確認’][‘value’] = ‘チェックOK’;
}
return event;

});
})(jQuery);

しかしながら実際はdate_record[‘送信確認’][‘value’]が不正ですと弾かれ、実現できませんでした。

 

②については自動採番のみ分からない点がございます。

テーブルに連番をつける
https://developer.cybozu.io/hc/ja/articles/204014210-%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%AB%E9%80%A3%E7%95%AA%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B

こちらの記事を見ながら連番は付けられたのですが、テーブルに作成日が入っていないときも回数が振られてしまいます。

kintone.events.on(events, function(event) {
var record = event.record;
var index = record[‘作成日テーブル’].value.length -1;
var targetRow = record[‘作成日テーブル’].value[index].value; // テーブル最下部の行を取得
var date = targetRow[‘作成日’].value;
// 作成日テーブルのno欄を自動採番する
var count = record.作成日テーブル.value.length;

if( record.作成日テーブル.value[0].value.作成日.value === “”) {
for (var i = 0; i < count; i++) {
record.作成日テーブル.value[i].value.回数.value = i + 1;
}
}

return event;
});

作成日が入力されていないときは回数を振らないようにできるでしょうか?

どうか実現のために諸先輩方のお知恵をお貸しください。
何卒よろしくお願いいたします。

(2018/10/09 コードを追加いたしました)

こんにちは。
①についてだけですが、
チェックボックスは、値を複数取るため、配列を渡すようにします。
https://developer.cybozu.io/hc/ja/articles/202166330
フィールドタイプごとの値の取得や設定は、毎回上記を確認しています。

②についても、コードを貼り付けてみてはどうでしょうか?
具体的なアドバイスが受けられると思います!

Kazuhiro Yoshida様

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

①につきまして、ご教示いただいたURLを参考にしたところ無事値を渡すことができました。
次回からもこのURLを活用させていただきたいと思います。

②につきましてもアドバイスいただいたとおり、早速コードを貼り付けてみました。
ご助力くださり誠にありがとうございます!

こんにちは。

JavaScriptの世界のお話しです。

forループの中でフィールド値の有無を判断すると良いかと思います。

 

はじめようJavaScriptは一読すると良いかと思います。

はじめようJavaScript第8回 JavaScriptの基本機能 おさらい if文とfor文の組み合わせ・2重for
https://developer.cybozu.io/hc/ja/articles/115004959983

Kazuhiro Yoshida様

コメントありがとうございます。
ご返信が遅くなり大変申し訳ございません。

ご教示いただいたURLを参考にコードを書き換え、if > for > ifにすることで実現できました。

この度はご助力くださり誠にありがとうございました。