テーブル内にあるルックアップコピー先のフィールドについて

テーブル内にあるルックアップフィールドのコピー先となっているフィールドの編集不可にすることは可能でしょうか?

下記のコーディングでは編集不可のままでした。

event.record[“フィールドAのフィールドコード”].disabled = false;

 

なにかいい方法がありましたらご教示願います。

吉岡さん
cstapの瀧ヶ平です

サブテーブル内部のフィールドは全てを編集不可にするためには、各行の各フィールドごとに個別にdisabledを設定する必要があります。(e.g. record[“Subtable”][0][“field”].disabled = true; とした場合は0行目のfieldというフィールドが編集不可になる)

record["サブテーブル"].value.forEach(function(row){
row.value["編集不可にしたいフィールドのフィールドコード"].disabled = true;
});

のようなコードでテーブルの各行のフィールドを編集不可にできるかと思います。

恐らく意図としては、ルックアップに伴うコピー先フィールドを編集可にするというところかと思います。瀧ヶ平さんのご指摘通りサブテーブル内ののフィールドへのアクセス方法という点の問題もありますが、ドキュメントによると、新デザインからfalseが効くようになったようです(以前はfalseが効かなかったと記憶しています)。結果、適切なアクセス方法で、新デザインであれば編集不可を解くこと出来ます。REST APIやCSVによるデータメンテナンスを行うことがあるとすると、ちょっと注意は必要そうですが。

瀧ヶ平さん、Yamashitaさん

吉岡です。

ご教示いただいた方法で編集可とすることができました。

どうもありがとうございます。

度々ですいません。

 

サブテーブル内の文字列1行の値変更をイベント発生のトリガーとして処理する際、変更があった行のみにある処理を行いたいのですが、こちらで調査したところ、どの行で値の変更があったか拾えませんでした。上記のように変更のあった行を拾うことは可能でしょうか。

(例)

サブテーブル名:“TABLE_A”(入力に5行あり)

サブテーブル内項目:“CODE_A”(ルックアップ)、”NAME_A"(文字列1行、"CODE_A"のコピー先項目)、“TANKA_A”(数値)

処理:3行目の"CODE_A"を入力した際にそのコードに紐付く"TANKA_A"を取得

※"TANKA_A"は"CODE_A"の参照元アプリとは別アプリで管理されています。

"NAME_A"の値変更時イベントをトリガーとして同一行の"CODE_A"の値から"TANKA_A"をAPIで値を取得を行いたいです。

変更のあったフィールドやサブテーブルの行が取得できるようになるアップデートが、次の2016年5月版のリリースで予定されています。現状で必要であれば、手組する方向になるかと思います。