ASTERIA Warpとkintoneその9:kintoneSubtableDeleteを使ってサブテーブルからレコードを削除する

kintoneSubtableDeleteを使用することで、サブテーブルからレコードを削除することができます。

使用するコネクションとkintoneのアプリ

コネクションはその1から、アプリはその2から使用しているものを引き続き使用します。

使用するレコードとサブテーブルの構成

その8から引き続き「フローでのテスト用アプリ」のレコード番号26番のレコードを使用します。
使用するサブテーブルの状態は下図の通りです。

kintoneSubtableDeleteを使ってサブテーブルからレコードを削除する(削除方法が「キーを指定」の場合)

サブテーブルから指定したキーと条件が合うレコードを削除することを目標として進めていきます。

使用するフロー

マッパーで削除したいサブテーブルのあるレコードの「レコード番号」と、削除に使用する「キー」の値をkintoneSubtableDeleteに渡します。その後kintoneSubtableDeleteで、サブテーブルからレコードを削除します。

フローの設定

フローを構成するコンポーネントの設定を解説します。

マッパー

※kintoneSubtableDelete側のストリームは先に次のkintoneSubtableDeleteのkintoneビルダーで選択しないと表示されません。

kintoneSubtableDeleteでレコードを削除するサブテーブルをもつレコードのレコード番号と削除するレコードのフィールドの値をコンポーネントに渡します。

プロパティはデフォルトのままで問題ありません。

kintoneSubtableDelete

※マッパーよりも先にkintoneSubtableDeleteの設定を行ってください。

フロー上のkintoneSubtableDeleteをダブルクリックしてkintoneビルダーを開きます。この際コネクションが未設定の場合、コネクションの選択画面が表示されるので先にコネクションの選択を行います。

kintoneビルダーでは削除方法を「キーを指定」に選択します。接続名で設定した接続先に存在するアプリが左側の欄に一覧表示されるので、その中から削除したいサブテーブルのレコードをもつアプリを選択します。次に中間の欄では、選択したアプリのフィールドにあるサブテーブルがフィールドコードで表示されます(下図では1つしか表示されていませんが、複数のサブテーブルを持つレコードならサブテーブルは複数表示されます)。レコードを削除したいサブテーブルをその中から選択します。最後に右側の欄ではサブテーブルのレコードを削除する際にキーとして使用する列を選択します。

流れとしては、
接続名(選択済み)→削除方法(左上のプルダウン)→アプリ名(左側の欄)→サブテーブル名(中間の欄)→サブテーブルの列(右側の欄)
の順番で設定を行います。

今回は下図の設定でフローを実行します。
選択が完了したら「保存」ボタンを押して設定を保存します。

プロパティはkintoneビルダーでの作業ですべて設定済みになっているので追加で設定する必要はありません。

フローの実行結果

フローの実行後、kintoneのアプリを開いてレコードが削除されているかを確認します。
kintoneSubtableDeleteでキーとして設定した列でマッパーから渡された値とフィールドの値が一致するレコードは削除されていることが確認できました。
※サブテーブル1からレコードが2件削除されています。

kintoneSubtableDeleteを使ってサブテーブルからレコードを削除する(削除方法が「全レコード」の場合)

指定したレコードのサブテーブルからすべてのレコードを削除します。
今回は削除方法が「キーを指定」の際にレコードを削除したサブテーブルと同じテーブルからすべてのレコードを削除することを目標に進めます。

使用するフロー

削除方法が「キーを指定」の際と同じ構成のフローを使用します。

フローの設定
マッパー

※kintoneSubtableDelete側のストリームは先に次のkintoneSubtableDeleteのkintoneビルダーで選択しないと表示されません。

kintoneSubtableDeleteでレコードをすべて削除するサブテーブルをもつレコードのレコード番号をコンポーネントに渡します。

プロパティはデフォルトのままで問題ありません。

kintoneSubtableDelete

※マッパーよりも先にkintoneSubtableDeleteの設定を行ってください。

フロー上のkintoneSubtableDeleteをダブルクリックしてkintoneビルダーを開きます。この際コネクションが未設定の場合、コネクションの選択画面が表示されるので先にコネクションの選択を行います。

kintoneビルダーでは削除方法を「全レコード」に選択します。接続名で設定した接続先に存在するアプリが左側の欄に一覧表示されるので、その中からレコードを削除したいサブテーブルをもつアプリを選択します。最後に右間の欄では、選択したアプリのフィールドに存在するサブテーブルがフィールドコードで表示されます(下図では1つしか表示されていませんが、複数のサブテーブルを持つレコードならサブテーブルは複数表示されます)。レコードを削除したいサブテーブルをその中から選択します。

流れとしては、
接続名(選択済み)→削除方法(左上のプルダウン)→アプリ名(左側の欄)→サブテーブル名(右間の欄)
の順番で設定を行います。

今回は下図の設定でフローを実行します。
選択が完了したら「保存」ボタンを押して設定を保存します。

プロパティはkintoneビルダーでの作業ですべて設定済みになっているので追加で設定する必要はありません。

フローの実行結果

フローの実行後、kintoneのアプリを開いてレコードが削除されているかを確認します。
kintoneSubtableDeleteで指定したサブテーブルのレコードが削除されていることが確認できました。
※サブテーブル1からレコードが削除されていることが確認できました。