krewDataでのテーブル再生成はここに注意!!

こんにちは、黒坂です!
みなさん、krewDataは活用してますか?

krewDataは複数のkintoneアプリのデータを集計・加工し、新しいレコードを作成したり、既存アプリのデータを更新することができるプラグインです。

今回は、最近krewDataを設定していてつまずいてしまった「テーブルの再生成」について、サクッとブログを書いていこうかなと思います。

弊社では初回開発無料の定額39万円でkintoneアプリを開発する定額型開発サービス「システム39」を提供しております。kintoneの導入やアプリ開発でお困りの方は、お気軽にご相談ください。
*Webでの打ち合わせも可能です。

   kintoneのアプリ開発はこちら <相談無料>    

別アプリのレコードの値でテーブルを再生成する

今回はデモとして「受注管理アプリ」と「発送チェックリストアプリ」を使います。

  • 受注管理アプリ
    1レコード1受注内容、注文商品をテーブルで管理しているアプリです。
    テーブルでは、商品の個数や各商品に対するメモを管理しています。
  • 発送チェックリストアプリ
    受注管理アプリのテーブルをレコードに展開し、1レコード1商品で管理しているアプリです。
    発送は受注内容ではなく商品ごとの管理になるため、1商品ごとの管理をしています。

今回は、発送チェックリストアプリの「積み込みチェック」にチェックがついたら、受注管理アプリの該当テーブル行の「積み込みチェック」にチェックを返すという処理を行います。

krewDataを設定してみる

まずはシンプルに「発送チェックリストアプリの編集をきっかけにテーブルを作成して、受注管理アプリのテーブルを再生成する」というフローを作成してみます。

実際にkrewDataを実行してみると・・・

メモが消えてしまった!!

「積み込みチェック」にチェックはつきましたが、元々あった「メモ」の値が消えてしまいました!

消えてしまった原因はテーブル展開の際に、「メモ」を発送チェックリストアプリに連携していなかったため、テーブルを再生成したときに空でデータが作られてしまったからです。

一見バラしたデータを元のテーブルの形に戻せば再生成ができそうですが、このように連携してないデータがある場合はそううまくはいきません。

解決策

「テーブル再生成をしたら、データが消えちゃった!」とならないためには、krewDataで受注管理アプリの「メモ」を取得して、発送チェックリストアプリのデータと結合してから、テーブルを作成します。

それでは早速設定してみましょう!

まずは受注管理アプリから、発送チェックリストアプリで管理していない「メモ」と結合のキーとして必要な「商品名」を取得します。

あとは、取得した受注管理アプリのデータと発注チェックリストアプリの「積み込みチェック」を含む、テーブル作成に必要なデータをアプリ結合し、テーブル作成を行います。

フローを実行すると、無事メモを残して、積み込みチェックをつけることができました。

おまけ

今回の処理は、ルックアップのコピー元のフィールドに設定されている「商品名」が重複禁止設定になっていないと、処理中にエラーが起きてしまいます。

これは、テーブル再生成に限らず、ルックアップの取得をkrewDataやCSVで行うときは必ず重複禁止にする必要があります。

詳しくはkintoneヘルプ「ルックアップフィールドにファイルから値を読み込むことはできますか?」をご参照ください。

まとめ

今回は、krewDataでのテーブル再生成についてブログを書いてみました。
テーブルの再生成をするときは、元のアプリのテーブルからデータを取得して更新したいデータと結合してから、テーブルを作成するというのがポイントです!

ちなみに今回はテーブルの「再生成」についてでしたが、テーブルの「更新」を行うと、変更したい箇所だけ更新を行い、元あるデータも残すことはできます。

ただし、更新を行うためには、テーブル1行1行に対して、更新のキーが必要となります。
皆さんが使用しているテーブルにはキーはありますでしょうか?
気にしてみると意外とテーブルにはキーを持たせていないという場合も多いです。

「テーブルにもキーを持たせたいけど、手作業は難しい…」とお困りの方は、ぜひ弊社の自動採番プラグインもチェックしてみてくださいね!

弊社では初回開発無料の定額39万円でkintoneアプリを開発する定額型開発サービス「システム39」を提供しております。kintoneの導入やアプリ開発でお困りの方は、お気軽にご相談ください。
*Webでの打ち合わせも可能です。

   kintoneのアプリ開発はこちら <相談無料>    

同じカテゴリーの記事