このカスタマイズではkintoneシステム上のユーザーの操作の記録を取ります。


一覧表示や詳細表示など、イベント単位でどのような情報を見たのかを特定アプリへ記録するようなイメージです。

※テンプレートでは「操作日時」~「操作ユーザー」までの操作の記録に対応しています。所属組織の記録についてはこの記事内で後述しています


また、記録するアプリは、管理者のみ閲覧権限があって、管理者以外は追加のみという権限設定を想定しています。


今回のカスタマイズで出来ること

  • ユーザー操作を特定アプリへ記録します

  • 一覧画面表示、詳細画面表示、印刷画面表示のみ作成しています


アプリの準備

操作を保存するアプリには以下のフィールドを作成しました。このアプリはレコード追加されるだけでカスタマイズは設定しません。

※フィールド名とフィールドコードは同じものを指定

フィールド名

フィールドタイプ

備考

操作日時

日時


アプリID

数値


レコードID

数値


操作内容

文字列(1行)


操作ユーザー

ユーザー選択



詳細画面は以下のようになります。


操作を記録する対象となるアプリは、自由に作成してもらって構いません。


カスタマイズ

全体の流れはこのようになります。


今回は、通常の「詳細画面を表示した時」ではなく、「kintoneイベントが発生した時」を使っています。理由としては、「ログインユーザーを取得する」の結果をなるべく再利用してカスタマイズのアクション数を減らすためです。


ただ、「追加条件」で画面を判定出来るのが、一覧画面・詳細画面・追加画面・編集画面だけなので、印刷画面は別で作成しています。

同様に、保存前画面などの場合はそれぞれのイベントでログインユーザーを取得するようにしてください。


kintoneイベントが発生した時の処理

やること「ログインユーザーを取得する」、条件「kintoneイベントが発生した時」を用います。

なお、この「条件」では、kintoneで利用可能なイベントを複数指定できます。

今回は、次の2つのイベントタイプを指定します。

  • レコード一覧画面の表示後イベント

  • レコード詳細画面が表示された時のイベント


一覧画面・詳細画面表示時の処理

やること「レコードを追加する」、条件「他のアクションの実行が完了した時」「現在の画面が一覧画面ならば」「現在の画面が詳細画面ならば」を用います。


なお、「条件」の下にある 「条件を追加」 を押すと「追加の条件」を指定できます。


おなじ「やること」なのに、「追加の条件」をつかってアクションを分けている理由ですが、これはなぜかというと、それぞれのイベント毎に「操作内容」に書き込む文言を変えているのと、一覧画面ではログに記録すべきレコード番号が無い(取得できない)という制限があるため、アクションを分けてマッピングを設定しています。


印刷画面表示時の処理

やること「ログインユーザーを取得する」、条件「kintoneイベントが発生した時」、またやること「レコードを追加する」、条件「他のアクションの実行が完了した時」を用います。


このアクションでは、「kintoneイベントが発生した時」で印刷画面のイベントのみを指定します。逆に、「他のアクションの実行が完了した時」には「追加の条件」は指定しません。


おまけ:所属組織を追加したい場合

その他の例としては、たとえば操作ユーザーと同様にその時所属していた組織を記録したい、という場合は、まず記録するアプリ側に「組織選択」フィールドを追加してください。

次に、やること「ログインユーザーの所属組織を取得する」を追加し、このアクションが完了した後に、やること「レコードを追加する」や「レコードを更新する(キーの値を直接指定)」などの、レコードを追加ないし更新する処理を行うようにします。


次の例では、上の8番アクションで追加したレコードに対し、更に所属組織を追記するアクションを設定するようにカスタマイズを行っています。



まとめ

この記事では代表的な画面のみを例として、ログ記録のカスタマイズを作成しましたが、例えば

  • 特定の値を変えた時を記録したい

  • プロセスを変えた時を記録したい

など、アプリによって様々なニーズがあると思います。

また、フィールド値など、記録したい値も色々と出てくると思います。

そういった場合は、「条件」や「やること」のマッピングを変更することで、様々なニーズに対応することができます。ぜひお試しください。


また、プロセス管理のステータス変更履歴を保存したい場合は、こちらの記事を併せてご確認ください。

ステータス変更履歴をレコードとして保存する


ご不明な点がございましたら、チャットでお問い合わせください。

ドキュメントサポートページも、ぜひご活用ください。


※テンプレートでは操作の記録として、次のアプリ例の「操作日時」~「操作ユーザー」フィールドまでを対応しています。所属組織の記録についてはこの記事内で後述しています