キンコミ kintone user community

みんなの投稿

2024/02/06 16:08

ワークフローアプリで、役職によって閲覧可能レコードを制御する方法に悩んでいます。

プロセス管理の設定もしたアプリを作成しています。
申請書レコードの閲覧範囲を「レコードのアクセス権」で設定したいのですが、部署が多いため条件設定が多くなりそうです。
「グループ(ロール)」等も利用して簡単に出来る方法がないかを探しています。


【役職と閲覧範囲】
・取締役:全部署の全レコード
・部長:所属部署の全部員のレコード
・一般社員:自分のレコードのみ

【組織】
全社ーーー
   |ーーー取締役(役員1、役員2)
   |ーーーA部門
     |ーーーA1部(部長A、社員1、社員2)
     |ーーーA2部
   |ーーーB部門
     |ーーーB1部(部長B、社員3、社員4)
     |ーーーB2部

【グループ(ロール)】
・管理職(部長以上):役員1、役員2、部長A、部長B…

【前提条件】
・作成時に、「組織選択」フィールドに作成者の「優先する組織」を自動登録
・「プロセス管理」で指定する承認者としての部長のユーザー情報は、cybozu管理のカスタム項目「上司」から取得(社員1には部長Aを登録済)


【方法①】
レコードの条件
[組織選択] [次のいずれかを含む] [A部長が所属する組織]

ユーザー/組織/グループとアクセス権
取締役 許可する操作: [レ]閲覧 [レ]編集 [レ]削除
A部長 許可する操作: [レ]閲覧 [レ]編集 [レ]削除
作成者 許可する操作: [レ]閲覧 [レ]編集 [レ]削除
Everyone 許可する操作: [ ]閲覧 [ ]編集 [ ]削除

【方法②】
マスタアプリを作成し、「社員1:部長A」「社員3:部長B」と所属部長のユーザー情報を登録しておき、ワークフロー側のフィールドにルックアップ取得してそのフィールドを「レコードのアクセス権」の条件にする


【悩んでいること】
・「方法①」だと、部署の数だけ条件が必要になるとともに、それぞれの条件で「取締役」に対する条件追加が必要になるので回避したい
・「方法②」だと、マスタアプリを作成が必要になるが、作成しない方法を検討したい
・プラグインは使えない
・レコード作成時には、作成者に組織選択させることなどは避ける(出来る限り必要な情報を自動登録・取得しておく)


「マスタアプリを作成しないで承認者に部長を自動指定しろ」という要望に何とか対応したものの、今回ばかりはマスタアプリになる社員名簿を作った方がいいんじゃないかと心折れかけております…。

フィールドを追加するなどで簡単になる方法などいいアイデアをご存じでしたら、ご教示いただけますと幸いです。
よろしくお願いいたします。

2件のコメント (新着順)
suji バッジ画像
2024/02/07 09:54

おはようございます。

アクセス権だけでなんとかするなら、
部署ごとに設定をする感じでしょうね……。やりたくないですね……。

マスタアプリを作成しない場合、プラグインやカスタマイズで上司を取得、
フィールドに格納になるかと思います。
参考までに関連するURLを貼り付けておきます。

https://docs-customine.gusuku.io/ja/actions/other/get_user_property/
https://qiita.com/rex0220/items/d12ad71cccf791d23a50
https://community.cybozu.dev/t/topic/8629


カノン
2024/02/07 13:55

sujiさん、いろいろな参考URLをありがとうございます!!
まさに、ユーザーのプロフィール情報やカスタマイズ項目を引っ張ってくることが出来れば解決すると思います!!
プラグインやJavaScriptなら出来るんですね…。
裏を返すと、現状では無理なんですね…😭

「どちらも使わずに」という縛りがあるので、マスタアプリを作成する方向で交渉しようと思います。
あと、Customineを利用すれば他にも要望に応えられることも多そうなので、そちらも視野に入れてもらえるようアピールしていこうと思います!

部署ごとの設定だけは避けられるよう、がんばります😤

はますけ
2024/02/06 17:20

自分もプロセス管理をテスト実装中です
なんだか色々悩みますよね…

レコードのアクセス権で「フォームのフィールドを追加」で「作業者」と「作成者」を追加し、
以下の設定にして運用しようかと考えてます。

作業者 許可する操作: [レ]閲覧 [レ]編集 [レ]削除
作成者 許可する操作: [レ]閲覧 [レ]編集 [レ]削除
Everyone 許可する操作: [ ]閲覧 [ ]編集 [ ]削除

プロセス管理の流れは、
作成者→上長→取締役(条件によって)としています。

作業者とは
https://jp.cybozu.help/k/ja/user/app_settings/process/requiredsettings_process.html


カノン
2024/02/07 13:40

はますけさん、コメントありがとうございます!
プロセス管理、微妙に悩みの沼にハマりますよね…

「作業者」のヘルプページ、ありがとうございます!
ご提案いただいた方法ですと、進行中ステータスのレコードのアクセス制限はうまくいくのですが、最後のステータス(承認完了レコード)では「作業者」がなくなるのでうまくいかないんですよね…。
途中で「作業者」となったユーザー情報を保持しておければ、【「作業者」になったことがあるレコードは閲覧可能】という都合のいいことができるのですが…難しそうです…。

はますけさんのプロセス管理もうまくいくよう、陰ながら応援しております✨

はますけ
2024/02/07 14:59

カノンさん

承認完了後は作成者のみ閲覧可能になってしまうのか…
ダメ情報を書き込んでしまい申し訳ないです

プロセス管理ムズ過ぎですね
実現できたらやり方教えてください!

カノン
2024/02/07 15:11

そうみたいなんですよ…
最終承認者だけでよければ「更新者」も使ってなんとか出来そうではあったんですが…

いえいえ! はますけさんがリンクしてくださったページは見落としていましたので、じっくり読ませていただきました!ありがとうございました!

良い結果をご報告できるよう、頑張ってみます~💪