テーブル内にあるルックアップフィールドのコピー先となっているフィールドの編集不可にすることは可能でしょうか?
下記のコーディングでは編集不可のままでした。
event.record[“フィールドAのフィールドコード”].disabled = false;
なにかいい方法がありましたらご教示願います。
テーブル内にあるルックアップフィールドのコピー先となっているフィールドの編集不可にすることは可能でしょうか?
下記のコーディングでは編集不可のままでした。
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月版のリリースで予定されています。現状で必要であれば、手組する方向になるかと思います。