あるアプリのテーブルを、別アプリのレコードとして書き出すのは「テーブル行を別アプリのレコードへ書き出す」で実現することが可能です。
ただ、この「やること」は毎回新しい行に書き出すため、元アプリのレコードが何度も更新されるようなアプリの場合、書き出した先のアプリとの同期を取りたくなるケースがあります。
例えば以下のようなケースです。
案件管理の活動履歴テーブルの各行 → 案件管理/活動履歴集計アプリの各レコードに同期
今回は、これを実現するカスタマイズを作成してみたいと思います。
Customineによるカスタマイズでは、レコードの削除はポリシーにより提供されていませんので、削除は削除フィールドで表現するようにしてみます。
案件管理アプリ側の事前準備
まずはじめに、案件管理アプリ側の活動履歴テーブルに必要なフィールドを追加します。
まずこのテーブルは行の削除は出来ないようにしたいので、代わりの削除フィールドを追加します。
また、集計アプリ側と紐付けるための「更新キー」という必須フィールドも追加してください。
集計アプリ側の事前準備
追加した2つのフィールドを、集計アプリ側にも追加します。 このとき、「更新用キー」に関しては「値の重複を禁止する」をチェックしておくと、よりよいかと思います。
案件管理アプリ側のカスタマイズ : 追加・編集画面
準備したアプリに対して、カスタマイズを作成していきます。ここでは案件管理アプリで、保存された時に集計アプリ側のレコードを更新または追加するようにしたいと思います。
流れとしては以下のとおりです。
- 保存する直前に「テーブルの列に対して一度に自動採番を行う」で、更新キーを採番します。
- 更新キーの付いたテーブルを「テーブル行をレコードとして取得する」で取得します。
- 最後に「レコードをもとに別のレコードを更新または追加する」で、集計アプリ側に更新または追加します。
設定は以下のようになります。
この段階で、一旦「kintoneアプリへ登録」を押して、案件管理アプリを試してみてください。テーブルの内容が集計アプリ側のレコードとして出力されていればOKです。
追加・編集画面で見た目の問題をカスタマイズ
続いて、少し見た目を整えて、使いやすくしていきたいと思います。
まずテーブルから行が削除されることを防ぐために、削除ボタンを「テーブルの行増減ボタンを非表示にする」で非表示にしておきます。
また、更新キーもユーザーが入力する必要のないフィールドですので、「フィールドやグループを非表示にする」で非表示にしておくと良いでしょう。
詳細画面の見た目をカスタマイズ
最後に、詳細画面では削除フラグを立てた行は、詳細画面で見た時にテーブルに表示されないようにしましょう。
「テーブルの表示行を絞り込む」で表示を絞り込むことが出来ます(実際のデータは変更されませんので、ご安心ください)。
これも見た目の問題なので、あえてこのカスタマイズは追加しなくてもよいのですが、気になる場合は設定しておいてください。削除した操作が明示的に分かるので、逆に残しておいても良いと思います。
また、追加・編集画面と同じように削除フラグと更新キーは不要なので、これも「フィールドやグループを非表示にする」で消しておくとよいかと思います。
以上で完成です!
まとめ
簡単なカスタマイズで、テーブルの内容を別アプリのレコードと同期させることが出来ました。
案件管理/活動履歴集計アプリでは、削除フラグが空のレコードを一覧に表示するように設定したり、集計対象にしたりという事をお忘れなく実施してください。
もしなにか分からないことがありましたら、チャットサポートにてお問い合わせください。