shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【kintone】アクセス権の設定例(必須項目にしたフィールドで他者分データを閲覧不可)

kintoneのアクセス権設定時、難解と感じる事例に「必須項目にしたフィールドで、他者分データを閲覧不可」があります。慣れていないと、アクセス権を設定できたと思っても、データ入力時に

エラー
以下の入力内容にエラーがあるため保存できません。
・(項目名を表示できません)

と表示され戸惑います。

内容:

事例の前提とエラーの発生

今回の事例の前提は、【kintone】アクセス権の設定例(指定フィールドの他者分データを閲覧不可)において、「指定フィールド」は必須項目にしたいというケースです。

もし、必須項目の設定をしただけの場合、新規にデータ登録をしようとすると、次のエラーが発生します。

この事例では、新規作成時に「電話番号」フィールドの閲覧権限がないが、必須項目に指定されているため、データ保存ができない事象が発生しています。

以下の入力内容にエラーがあるため保存できません。 (項目名を表示できません) の表示

エラーの発生画面

エラーの回避方法

エラーの回避策として、2つあります。

1.必須項目の初期値を仮設定する

下図は、初期値を仮で”ーーー”としたケースです。初期値があることで表示されていない項目に自動入力され、エラーは回避できます。

ただし、そもそも必須項目で初期値を設定するのであれば任意項目と変わらない状態であり、目的にあわないといえます。

初期値に"ーーー"としたケース

必須項目の初期値を仮設定する

2.アクセス権用の「グループ選択フィールド」を管理用に追加する

基本的な考え方

この方法は、以下で紹介されている方法を参考にしたものです。考え方を理解したい場合は以下をご覧ください。

jp.cybozu.help

設定の理屈としては、

1つのフィールドに対して複数のアクセス権を設定した場合は、上の行の設定が優先されます。

というkintoneのアクセス権の仕様です。具体的な設定例は以下です。

(1)アクセス権用の「グループ選択フィールド」を追加

下図のように、「グループ選択フィールド」を新たに追加、初期値に「Everyone」を設定する

初期値を「Everyone」とする

アクセス権用の「グループ選択フィールド」を追加
(2)アクセス権の設定

下図のようにフィールドのアクセス権を設定します。ポイントは次のとおりです。

  1. 追加した「グループ選択フィールド(事例では「グループ選択」)」を追加し、「Everyone」の「閲覧」と「編集」のチェックを外す
  2. 閲覧不可にしたいフィールドの設定に、追加した「グループ選択フィールド(事例では「グループ選択」)」を「作成者」と「Everyone」の間に追加し、「閲覧」と「編集」のチェックを外す

「グループ選択フィールド」を前述ポイントのとおり設定している

フィールドの設定例

なお、前述のポイント1の目的は、「グループ選択フィールド(事例では「グループ選択」)」をユーザーに編集させないためです。

変更によるリスクが許容できる場合は、この設定は不要です。

 

以上、kintoneでアクセス権の設定例(必須項目にしたフィールドで他者分データを閲覧不可)でした。

その他の設定例は、【kintone】アクセス権の設定事例まとめに記載しました。