kintoneで日報や作業記録をつけていると、「月の合計稼働時間」などを自動で計算したくなりますよね。そのためには、ユーザー別、月別で稼働レコードを関連レコードとして紐づけたいと思いますが、関連レコードに定義できる参照フィールドは呼び出し元のフィールドの値は一つしか指定できません。しかし、複合キーを作成する方法でその制約を回避できます。
1.アプリ設計¶
今回は以下の二つのアプリを作成します。日報アプリにユーザーの作業日、開始時刻、終了時刻を登録します。
月次レポートは、ユーザーの計算したい月を登録することで、関連レコードから自動的に合計時間を計算してくれます。
- 日報アプリ(子アプリ)
ユーザーが日々の作業日、開始時刻、終了時刻を登録します。 - 月次レポート(親アプリ)
対象ユーザーの社員番号と集計したい年月を指定すると、「日報アプリ」から関連するレコードを自動で取得し、合計稼働時間を計算してくれます。
この2つのアプリを連携させることで、データ入力の手間を最小限にしつつ、月次の集計作業を可能にします。
2.日報アプリの作成¶
2.1 フィールド定義¶
まずは、日々の作業を記録するための「日報アプリ」を作成します。 フォームに以下のフィールドを配置してください。
フィールド名 | フィールドタイプ | 設定内容 | 補足 |
---|---|---|---|
社員番号 | 数値 | 複合キーの一部になります | |
対象年月 | 日付 |
複合キーの一部になります 年月入力プラグインの対象 |
|
作業日 | 日付 | ||
複合キー | 文字列(1行) |
自動計算を設定。計算式は以下
|
親アプリの関連レコードの集計キーになります |
開始時刻 | 時刻 | ||
終了時刻 | 時刻 |
複合キーの定義として、自動計算の設定を有効にし計算式を入れます。
2.2.日報アプリのプラグイン設定(年月入力プラグイン)¶
日報アプリのプラグインの設定から年月入力プラグインを有効にし、対象年月にチェックを入れ、保存します。そして、アプリ再起動をして設定を反映します。入力画面が年月の選択画面に切り替わります。
3.月次レポートアプリの作成¶
3.1 フィールド定義¶
アプリ名「月次レポート」とし、以下のフィールドを定義します。
フィールド名 | フィールドタイプ | 設定内容 | 補足 |
---|---|---|---|
社員番号 | 数値 | 複合キーの一部になります | |
対象年月 | 日付 |
複合キーの一部になります 年月入力プラグインの対象 |
|
複合キー | 文字列(1行) |
自動計算を設定。計算式は以下
|
子アプリの関連レコードの集計キーになります |
関連レコード一覧 | 関連レコード一覧 |
参照するアプリ[日報アプリ] |
関連レコードフィールドは、親アプリの「複合キー」と子アプリの「複合キー」を指定します。
3.2.月次レポートアプリのプラグインの設定(年月入力プラグイン)¶
月次レポートアプリのプラグインの設定から年月入力プラグインを有効にし、対象年月にチェックを入れ、保存します。そして、アプリ再起動をして設定を反映します。
4. データ登録¶
日報アプリに社員番号1、対象月2025-10、日付、開始時刻、終了時刻を入れ集計対象のデータを作成します。
月次レポートアプリに社員番号1、対象月2025-10として入れ保存すると、紐づいた登録情報が出てきます。社員番号2として、別の社員の情報を登録するなどできます。
いかがでしたでしょうか。関連レコードの組み合わせ方を工夫することで、絞り込みすることが出来ましたね。次回は、稼働時間の集計を追加してみます。お楽しみに。