サブテーブルに対するアクセス権表示設定

https://developer.cybozu.io/hc/ja/community/posts/115017970403-%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E6%A8%A9%E3%81%AB%E5%AF%BE%E3%81%99%E3%82%8B%E3%82%B5%E3%83%96%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%AE%E8%A1%A8%E7%A4%BA%E8%A8%AD%E5%AE%9A?page=1#community_comment_115004348326

上記URLを参考に同じくチャレンジしてみましたが、

うまくいかないようでしたので、理解が正しいか

ご教授頂ければと思いコメントさせて頂きます。

上記jsにある「テーブル閲覧可フィールド」へはレコード内にある

フィールドコードを書きこのフィールドへのアクセス権を設定する。

「テーブルフィールド」へは非表示にする対象のテーブルのフィールドコードを書くという理解でよろしいのでしょうか?

踏まえて下記のようになったのですがいかがでしょうか?

 

 

(function() {
“use strict”;

var record = event.record;

if (!record[‘アクセス権有のフィールドコード名’]) {

kintone.app.record.setFieldShown(“非表示のテーブルコード名”, false);
} else {

kintone.app.record.setFieldShown(“アクセス権有のフィールドコード名”, false)
}

return event;
});
})();

 

現在テーブルは表示されたままで、アクセス権で閲覧不可にした

フィールドのみ非表示になっている状況です。

お力をお借りできればと思います。

 

 青山

青山さん

現在のコードだと、スクリプトがブラウザーに読み込まれた時点で、実行されます。

kintone には、画面が表示されたタイミングなどで実行してくれるイベント処理の仕組みがあります。

event.record; の event オブジェクトも、イベント処理で提供されるものです。

この辺は、チュートリアルにひととおり、記載されていますので、初めに読まれることをお勧めします。

rex0220さん

すみません。上記に書いてなかったんですが、

 

kintone.events.on(‘app.record.detail.show’, function(evt) {

を入れて作成しましたがうまくいかなかったのであけていました。

kintone.events.on(‘app.record.detail.show’, function(event){

としたスペル間違いだったようです。