みなさんこんにちは、新入社員の黒坂です。
今回はkrewDataの論理削除についてブログを書いていきます!
krewDataは複数のkintoneのアプリのデータを集計・加工し、アプリ内に新しいレコードを作成したり、既存のレコードを更新することができたりするとても便利なプラグインです。
しかし、krewDataにできることはデータの「追加」「更新」「再生成」の3つで、実はデータの「削除」ができません。
それでも「いらなくなったデータを自動的に削除したい」と思うときがあると思います。
そんな時には論理削除を活用しましょう!
論理削除とは
論理削除とは「概念としてデータを削除すること」で、もっと簡単にいうと「本当は消えていないけれど、消えているのと同じ扱いにすること」です。
反対に、実際にデータそのものを削除することを物理削除と言います。
説明を読むより、実際に見る方がわかりやすいと思うので、さっそくサンプルアプリを使って論理削除を見ていきましょう!
使用するアプリの準備
今回は「受注管理アプリ」と「発送チェックリストアプリ」の2つのアプリを使います。
・受注管理アプリ
受注管理アプリには現在3つの受注があります。
詳細画面を見てみると注文商品がテーブルで管理されています。
・発送チェックリストアプリ
発送チェックリストアプリは、商品を運搬する際の積み込みチェックに使用します。
積み込みした商品1つずつにチェックをつけるため、受注管理アプリでテーブル管理されていた商品を1商品1レコードにバラして管理しています。
また、論理削除を行う準備として、受注管理アプリには「状態」というドロップダウンフィールドを、発送チェックリストアプリには「削除」というチェックボックスフィールドを作成しています。
シナリオと設定方法
今回は、受注管理アプリで状態を「発送待ち」から「キャンセル」にすると、キャンセルされたレコードと紐づいている発送チェックリストアプリ内の商品レコードが論理削除されるというシナリオで設定を行います。
早速設定していきます。
■krewDataの設定
受注管理アプリを入力アプリ、発送チェックリストアプリを出力アプリにします。
データの編集で受注管理アプリにはない削除フラグを作り、「4.検索条件」の標準フィルタを使って「状態がキャンセルの場合」という条件を設定をします。
あとはフィールドタイプ設定を行った後に、受注管理アプリ内のフィールドと発送チェックリストアプリ内のフィールドを対応させて設定は終わりです!
■設定の注意点
データ編集の「4.検索条件」の標準フィルタを使わずに今回の設定を作成しようとすると、下の写真のようにフローが2行に分かれてしまいます。
このフローでも仕組み的には問題ありませんが、krewDataは無駄をなくすことで処理スピードが安定するので、よりスマートなフローを作ることを心がけましょう!
実際に動かしてみた!
受注管理アプリでジョイゾーからの発注をキャンセルすると・・・
発送チェックリストアプリでジョイゾーが頼んでいた商品に削除フラグが立ちました!
さらに、一覧で絞り込みをかけると発送リストからジョイゾーの商品が見えなくなりました。
このように論理削除と一覧の絞り込みを行うことで、擬似的にデータを削除したように見せることができます。
さらに、kintoneのフィールドで削除のチェックをつけているだけなので、必要になったらすぐ戻せるのも便利なポイントです!
注意点
論理削除はあくまで一覧の絞り込み設定で削除フラグのものを隠すというだけの「削除扱い」です。そのため、実際は不要なデータが残り続け、知らず知らずのうちにレコードが溜まってきてしまったり、一覧の絞り込み設定を誤って変えてしまうと削除したはずのデータが見えてしまうということもあります。
そうならないためには、然るべきタイミングで物理削除し、データを整理したり、アプリ管理者の権限設定で特定の人以外にはアプリの編集をできないようにしたりして上手に論理削除を活用しましょう。
さいごに
今回はkrewDataでの論理削除について書きました。論理削除自体は一覧の絞り込みがあれば手動でもできますが、基準となるアプリを編集するだけで、それに紐づく他のアプリのデータが一括で更新されるというのはkrewDataならではの強みです。
さらに、krewDataを使って更新をかけることで、データが漏れなく管理され、ヒューマンエラーを防げるのも良いポイントです。シンプルな設定かつ便利な機能なので、ぜひみなさんもkrewDataでの論理削除を活用してみてください!
弊社では初回開発無料の定額39万円でkintoneアプリを開発する定額型開発サービス「システム39」を提供しております。また、今回のテーマでもあるkrewDataをはじめとした、連携サービス、プラグインの設定サポートなども行っておりますので、kintoneの導入やアプリ開発でお困りな方は、お気軽にご相談ください。
*Webでの打ち合わせも可能です。