みんなの投稿

2026/10/08 09:34

ユーザー(部署)ごとで特定のレコードまたはフィールドを見せる方法をご教示ください!

当アプリには、日付と部門と内容のフィールドが設定してあります。

Aの部署には、1か月後のレコードまで見せたい

Bの部署には、1週間後までしか見せたくない


アクセス制限は、日付しか指定出来ないので1週間後等の設定がなく・・・詰みました。

標準機能では難しければ、プラグインやJS等も検討しております。


よろしくお願いします。

4件のコメント (新着順)

アクセス権設定だと結構複雑なことしないといけないようですね。(小生は頭沸いてしまってます💦)

「JSカスタマイズはできる」とのことなので、視点を変えて「一覧の入りを所属部署によって制限し、そこから出られなくする」というのはいかがでしょう?

具体的には、
①一覧の入り:アクセスした人の所属部署を判定して、「部署A:1か月後のレコードまで見せる一覧のURLにリダイレクト/部署B:1週間後までしか見せない一覧のURLにリダイレクト」などするJSを仕込み、
②出られなくする:①で大方絞り込めるが、詳細画面などのURLを手打ちされたときのバックアップとして、「閲覧権限無い人が当該URLを手打ち入力した時も①の一覧にリダイレクト」するJSを仕込む
というものです。

※アクセス権設定を「行ける一覧にリダイレクトする」に代替する考え方です。
※この程度、また抜け道があったらそれを潰すコードも生成AIさんに書いてもらえそうです。

具体的に試したわけではないのでご参考まで


vision
2026/10/13 14:35

JSは勉強中なので、複雑になると思考停止します・・。

所属部署の整理から地道に修正していこうとおもいます。
ありがとうございます!

JSは勉強中なので、複雑になると思考停止します・・。

分かります。
かくいう小生もJSの文法知識は無いに等しく、勉強すらしてません💦
なので、JS作る時は、仕様(要件)をできるだけ具体的に生成AIさんに伝えるようにして、自身は動作検証に力点を置くようにしてます。(文法勉強は、動作検証で出た疑問点を即座に訊くようにしてます。)

ちなみに、本件について以下プロンプトで訊いてみましたが、有用そうなサンプルコードや注意点など教えてくれましたョ

kintone JavaScript相談
①ログインユーザーの所属部署を判定して、「部署A:1か月後のレコードまで見せる一覧のURLにリダイレクト/部署B:1週間後までしか見せない一覧のURLにリダイレクト」などするJS
②詳細画面などのURLを手打ちされたときのバックアップとして、「閲覧権限無い人が当該URLを手打ち入力した時も①の一覧にリダイレクト」するJS
は書ける?

自作コード開発時のご参考になれば幸いです。

こんにちは。

標準機能だけでは、「今日から1週間後」「今日から1か月後」のような相対日付を使ったアクセス権の設定は難しいと思います。

そこで、日付計算プラグイン+kintone標準のレコードアクセス権を組み合わせてはいかがでしょうか。

例えば、以下の日付フィールドを追加し、プラグインで自動計算します。
・A部署閲覧開始日 = 日付-30日
・B部署閲覧開始日 = 日付-7日

そのうえでレコードのアクセス権を、
・A部署閲覧開始日が「今日以前」→ A部署は閲覧可
・B部署閲覧開始日が「今日以前」→ B部署は閲覧可
と設定します。

例えば対象の日付が11月30日なら、A部署は10月31日から、B部署は11月23日から閲覧できるようになります。

日付計算ができるプラグインの一例として、TISさんの「条件分岐処理プラグイン」があります。
機能の一つである自動入力で DATE_CALC 関数が使えるので、
DATE_CALC("日付","-30 day")
のように設定すれば、30日前の日付を別の日付フィールドへ入力できます。

ほかにもシンプルな日付計算専用プラグインはあると思いますので、探してみてもよいと思います。
ポイントは、計算結果を「日付フィールド」に保存できることです。

レコードのアクセス権で日付を条件にするため、計算結果を表示するだけではなく、日付フィールドに値として入力できるものを選ぶ必要があります。

ご参考ください。


vision
2026/10/08 11:02

条件分岐プラグインは導入検討していたので、上司に推進してみます!

レコードのアクセス権についてですが、「今日」以前のような設定は出来ますか?
「今日」というボタンはあるのですが、今日=10/8と表示されるだけなので、明日になると10/9に自動で変わると良いのですが・・・・。

・A部署閲覧開始日が「今日以前」→ A部署は閲覧可
・B部署閲覧開始日が「今日以前」→ B部署は閲覧可

大変失礼いたしました。
頭の中で「レコードのアクセス権」と「レコードの条件通知」が混線していました…

仰る通り、レコードのアクセス権の設定では、
条件値を「今日」「昨日」等の動的なものにはできませんでしたね…

少し方針を変更します。

「日付を条件にアクセス権を直接切り替える」のではなく、
「公開可否を判定するためのフィールド」を別途用意し、
その値を何らかの方法で自動更新する形がよいかもしれません。

例えば、
・A部署公開:公開/非公開
・B部署公開:公開/非公開
といったフィールドを用意し、

・対象日の30日前になったら「A部署公開=公開」
・対象日の7日前になったら「B部署公開=公開」
となるように更新します。
レコードのアクセス権では、この「公開/非公開」を条件に各部署の閲覧権限を設定します。

あとは、この公開判定をどうやって自動更新するかですが、
レコードを定期的に一括更新できるサービスやプラグインなどを調べられたら良いかと思います。

私は使ったことが無いので詳細は分かりませんが、トヨクモさんの「DataCollect」や、メシウスさんの「krewData」などには、スケジュールを指定して定期的に処理を実行する機能があったかと思います。

途中、誤った内容で惑わせてしまい申し訳ございませんでした。

vision
2026/10/08 11:58

ご丁寧にありがとうございます!

こんにちは。
所属組織➕期日でレコードのアクセスを制御する複雑な処理は、JSカスタマイズが必要になると思います。

それよりも、1週間以内と全てを表示するレコード一覧表を別々に作成して、レコード一覧表セレクタの表示制御プラグインで一覧表の表示を制御する方法を検討されてはどうでしょう。

レコード一覧表セレクタの表示制御プラグインは、検索すればいくつか候補が見つかると思います。


vision
2026/10/08 10:28

レコード一覧表セレクタの表示制御プラグイン

探してみます!ありがとうございます。

横から失礼します。

レコード自体のアクセス権にこだわらず、一覧での絞り込みでよければ
こんなプラグインがありますよ。

KINPURA マイビュー
https://www.xc-kinpura.com/plugins/my-view

あらかじめ

・1週間以内
・1か月以内

などの一覧を作成しておき、それぞれ表示対象のユーザーや組織を設定できます。

また、「(すべて)」など見せたくない一覧を非表示にすることもできるため、今回のような用途であればアクセス権よりシンプルに実現できるかもしれません。

ご参考までに。

vision
2026/10/08 13:55

部署によって、見せたい見せたくないの制御が多くどこに何の制御を付けたか分からなくなってきたところです。アクセス権よりシンプルに実現できそうなので、検討してみます。
ありがとうございます。

visionさんのおっしゃるとおり、部署ごとに要望が異なると管理がかなり煩雑になってしまいそうですね。

もし可能であれば、「見せたい・見せたくない」の理由を整理してみると、対応方針が決めやすいかもしれません。

例えば、

・情報漏えいの懸念がある
・取引先情報など機密性の高い情報が含まれる
・未確定情報のため誤解を招く可能性がある

といった場合はアクセス権での制御が適していると思います。

一方で、

・必要な情報だけを見やすくしたい
・先の予定はノイズになるので表示したくない

といった理由であれば、一覧ビューや絞り込みで運用した方がシンプルかもしれませんね。

たいへんだと思いますががんばってください。

シマ
建設業
2026/10/08 09:52

こんにちは。
確かにレコードのアクセス権だと日付フィールドは日付を指定しなければいけないので、難しいですね。

以下の方法なら実現可能かなと思いました。
1.カスタマインなどで「閲覧フラグ」を自動更新する
 ・アプリに「A部署閲覧可」「B部署閲覧可」といった判定用のチェックボックス/ドロップダウンフィールドを追加する。
 ・毎日深夜に「今日の日付」と「レコードの日付」を比較して、各フラグを自動更新(ON/OFF)する。
 ・kintoneの「レコードのアクセス権」で、「A部署閲覧可=ON の場合のみ A部署に閲覧を許可する」という標準ルールを設定する。

2.JavaScriptカスタマイズ / 表示制御プラグインを利用する
 レコード詳細画面を開いた際、ログインユーザーの所属部署と対象レコードの日付(今日との差分)を判定し、条件外の場合はエラー画面に遷移させたり非表示にしたりする。



セキュリティ担保を最優先にする場合は「1. フラグの自動更新+標準アクセス権」の組み合わせ、画面上の簡易的な制御で十分な場合は「2. JavaScriptカスタマイズ/プラグイン」かなと思いました。


vision
2026/10/08 10:33

画面上の簡易的な制御で十分なので、「2. JavaScriptカスタマイズ/プラグイン」を探してみます!

ありがとうございます。