一覧画面でフィールドを編集する時について

お世話になっております。初心者で初投稿となります。

例えば、日付を入力済みで、契約状況を一覧画面で入力する場合

①一覧画面で契約状況がその他の場合のみ、詳細フィールドを編集可能で、

新規、乗り換えのときは、詳細フィールドを編集不可にしたいです。

⇒今のコードですと、初期の一回目の編集では理想通りになりますが、保存後再修正をしたら、まだ入力可能となる・・・

②その他を新規や乗換えに変更した場合は詳細フィールドをリセットする。⇒出来ました。

初心者で大変申し訳ございませんが、このように設定は可能でしょうか?ぜひアドバイスよろしくお願い致します。

(function() {
“use strict”;

//レコードの追加、編集、詳細画面で適用する
var events = [
‘app.record.index.show’,
‘app.record.index.edit.change.契約状況’,
‘app.record.index.edit.change.詳細’,
‘app.record.detail.show’,

‘app.record.create.show’,
‘app.record.create.change.契約状況’,
‘app.record.create.change.詳細’,
‘app.record.edit.show’,
‘app.record.edit.change.契約状況’,
‘app.record.edit.change.詳細’,

];

kintone.events.on(events, function(event) {

var record = event.record;
var status = record.契約状況.value;
if (status === ‘その他’) {
kintone.app.record.setFieldShown(‘詳細’, true);

}else {
kintone.app.record.setFieldShown(‘詳細’, false);
record.詳細.value = “”; //非表示の時にvalueを空にする
record[‘詳細’][‘disabled’] = true;
}

return event; 
});
})();

篠原様

ちょうど似たような質問がありましたので。 こちらの回答、参考になりますでしょうか?

https://developer.cybozu.io/hc/ja/community/posts/115019181843-%E4%B8%80%E8%A6%A7%E7%94%BB%E9%9D%A2%E3%81%AE%E7%B7%A8%E9%9B%86%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

 

 

篠原さん

一覧画面のインライン編集開始時イベント処理が足りないようです。
イベントに ‘app.record.index.edit.show’ を追加してみてください。

高田様
rex0220様

お世話になります。

アドバイスいただき、誠にありがとうございます。

とても助かりました。これからもどうぞよろしくお願い致します。