エブリサイトのウィジェット「編集テーブル」に複数の行を入力した際、すべての行ではなく、特定の行だけを kintoneアプリのテーブルに登録したい場合があります。
この記事では、チェックボックスで選択された行だけを絞り込んで、kintoneアプリの新しいレコードのテーブルにセットする方法を紹介します。
動作イメージ
「編集テーブル」のうち、「追加対象」にチェックが入った行だけを kintoneアプリのテーブルにセットします。以下の例では、「商品A」と「商品C」の2行を選択しています。

「登録する」ボタンを押すと、新しい kintoneレコードが作成され、テーブルには選択した「商品A」と「商品C」の2行だけがセットされます。また、テーブル外の「登録名」フィールドには、固定値で「エブリサイトから登録」をセットします。
kintone の設定
【設定例】フォーム
登録先の kintoneアプリには、次のフィールドを配置します。

【設定例】APIトークン
APIトークンを用意します。「アクセス権」は「レコード追加」をチェックします。

エブリサイトの設定
【設定例】接続設定
kintone の設定で取得した APIトークンを設定します。接続設定タブの説明については、次の記事をご覧ください。

※この例では【認証可否】を「認証なしで利用可」にしています。実際に利用する際は、サイトの公開範囲や利用者に応じて設定してください。
【設定例】画面デザイン
画面デザインに2つのタイルを用意します。
上のタイルにはウィジェット「編集テーブル」を配置し、商品名・数量・追加対象を入力できるようにします。
下のタイルにはウィジェット「シンプルパネル」を配置し、登録処理を実行するボタンを設置します。

【設定例】ウィジェット編集
編集テーブル(ウィジェットID:商品入力テーブル)
ウィジェット「編集テーブル」の【列になるアイテム】には、「文字列入力(1行)」・「数値入力」・「単一チェックボックス」の3つを配置します。

各アイテムのパラメーターを次のように設定します。
「商品名」と「数量」は、ヘッダーと各セルにアイテム名が重複して表示されないよう、「アイテム名を表示しない」をチェックします。
「追加対象」は、【ラベル】を空欄とし、【編集不可にする】と【初期状態でオンにする】はオフにします。
シンプルパネル(ウィジェットID:登録パネル)
ウィジェット「シンプルパネル」には、アイテム「ボタン(塗りつぶし)」を1つ配置します。

アイテムのパラメーターを次のように設定します。
「登録ボタン」は、【ラベル】に「登録する」と指定します。
【設定例】ページ内処理
「登録する」ボタンを押すと、編集テーブルの入力値から「追加対象」にチェックが入った行を絞り込み、kintoneアプリの新しいレコードのテーブルに登録する処理を設定します。
ページ内処理タブの説明については、次の記事をご覧ください。
全体の設定例を下記に示します。

編集テーブルの入力値を取得する
アクション1 では、「登録する」ボタン(登録ボタン)を押した時に、編集テーブル(商品入力テーブル)のすべての行の入力値を取得します。
やること「テーブルやリストウィジェット内の入力値をまとめて取得する」では、テーブルの各行に入力された値を、アイテムID を列名とするレコード形式で取得できます。
やること「テーブルやリストウィジェット内の入力値をまとめて取得する」
条件「ボタンを押した時」

追加対象の行を絞り込む
次にアクション2 では、アクション1 で取得したレコードから、「追加対象」にチェックが入った行だけを絞り込みます。
単一チェックボックスの値は、チェックされている場合は「true」、チェックされていない場合は「false」になります。そのため、今回は「追加対象」の値を文字列として true と比較し、チェックを入れた行だけを取得します。
やること「レコードを絞り込む」
条件「他のアクションの実行が完了した時」

kintone にレコードを追加する
最後にアクション3 では、アクション2 で絞り込んだ行をテーブルにセットした新しいレコードを、kintoneアプリに追加します。
今回、「登録名」フィールドには、固定の文字列「エブリサイトから登録」をセットします。
「追加対象」にチェックを入れた行が1行以上ある場合だけレコードを追加するため、count 関数 を使ってアクション2 の結果の件数を取得します。追加条件「数値が条件を満たすならば」で、count($2) が 0 より大きい場合だけ実行するように設定します。
やること「kintone にレコードを追加する」
条件「他のアクションの実行が完了した時」
追加条件「数値が条件を満たすならば」

やること「kintone にレコードを追加する」でテーブルにマッピングをする場合は、次のように指定します。
セット先のフィールドコード:テーブルのフィールドコード.テーブル内フィールドのフィールドコード
セットする値:テーブルにセットする値を配列で指定
アクション2 で絞り込んだ行の「商品名」と「数量」は、それぞれ $2.商品名、$2.数量 で配列として参照できます。そのため、【マッピング】を次のように指定すると、チェックを入れた行だけを kintone のテーブルにセットできます。

まとめ
以上が、編集テーブルに入力された行から特定の行だけを絞り込み、kintone のテーブルにセットして新しいレコードを追加する方法でした。
やること「レコードを絞り込む」を組み合わせることで、「編集テーブル」のすべての行ではなく、必要な行だけを kintoneアプリに登録できます。
本記事で紹介した内容以外にも、エブリサイトの ドキュメントページ や サポートページ では、さまざまな設定方法や活用例を紹介しています。ぜひあわせてご活用ください。



