イベントの発火タイミングについて

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

チェックボックスにチェックが入っていない時は一部項目を編集できないようにしたいのですが、新規追加画面及び編集画面を開くとチェックが入っていないのにも関わらず編集が出来てしまいます。

一度チェックを入れて外すと編集不可になります。

コンソールにエラーは無く、イベントの発火タイミングに問題があるかと思っております。

 

(実装したいこと)

・見積書の項目にある 社長確認済み にチェックが入るまで、請求書の項目を全て編集不可にしたい。

 

(コード)

(function() {
  'use strict';
  // チェックボックスのイベントを取得
  const events1 = ['app.record.create.change.見積確認', 'app.record.edit.change.見積確認'];
  kintone.events.on(events1, (event) => {

    const record = event.record;

    // チェックボックスの入力値チェック
    if (record['見積確認'].value[0] === '社長確認済み') {
      record['請求書'].disabled = false;
      record['請求書確認日'].disabled = false;
      record['請求書確認'].disabled = false;
      record['請求書メモ'].disabled = false;
    } else {
      record['請求書'].disabled = true;
      record['請求書確認日'].disabled = true;
     record['請求書確認'].disabled = true;
      record['請求書メモ'].disabled = true;
    }
    return event;
  });
})();

(画面)

1 追加画面開いた直後

 

2 チャックを入れてある状態

 

3 再度チェックを外した状態(1の段階でこの状態にしたい)

 

 

ご教授して頂けると幸いです。

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

nekoko 様

こんにちは。

そこまで気づかれているのに、あと少しですね。

events1 にあと2つイベントの発火タイミングを更に追加すれば大丈夫かと思います。

'app.record.create.show'
'app.record.edit.show'

上記の2つですね。

新屋 育男様

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

 

あと少しで正解のところまで来れていたのですね、、、

新屋育男様の過去のご教授のおかげで自分でコードをかけるようになってはきましたがまだまだ勉強が足りていないと改めて実感しました。

 

ご教授して頂いたコードを追加したところ理想の動きをすることが出来ました。

ありがとうございます。