こちらの通常フィールド版の応用編となります。以前は、Kintoneにおける、通常フィールドを編集不可(非活性)の状態にするためのJavaScriptカスタマイズをご紹介いたしましたが、今回は、その対象がサブテーブル内フィールドとなります。

テーブル内フィールドへの処理となるため、少しだけコードが長くなりますが、特に難しいポイントはありません。

<サンプルコードの仕様>

・コード内の"テーブルのフィールドコード"の箇所を、対象とするサブテーブル自体のフィールドコードに差し替えてください。
・コード内の"非活性にしたいフィールドコード"の箇所を、対象とするテーブル内のフィールドコードに差し替えてください。
・row.value ~~ disabled = true; と event.record ~~ true; の行を必要分用意することで、複数のフィールドを非活性にすることが可能です。

サンプルコードを環境に合わせてご変更いただければ、かなり便利なスクリプトになるかと思いますので、ご自由にお使いください!

※ご質問にはお答えできませんので予めご承知おきくださいませ。

コード

(function () {
  "use strict";

  const events = ["app.record.create.show", "app.record.edit.show", "app.record.index.edit.show"];

  kintone.events.on(events, function (event) {
    if (event.record.テーブルのフィールドコード.value) {
      for (const row of event.record.テーブルのフィールドコード.value) {
        row.value.非活性にしたいフィールドコード.disabled = true;
      }
    }
    return event;
  });

  const events2 = ["app.record.create.change.テーブルのフィールドコード", "app.record.edit.change.テーブルのフィールドコード"];

  kintone.events.on(events2, function (event) {
    if (event.changes.row) {
      event.changes.row.value.非活性にしたいフィールドコード.disabled = true;
    }
    return event;
  });
})();