[kintone] FormBridge回答者ごとに回答数をカウントする
関西でコーポレートエンジニアをやっている「ながの(仮名)」と申します。
トヨクモ kintone連携サービス Advent Calendar 2024 16日目を担当します🙌
note、書いたことありますか?
この記事を読んでくださっている あなた、
noteを書いたことはありますか🐱?
noteで記事を公開すると、
以下のような励ましのメッセージが表示されます。
いずれのメッセージも、これまでの投稿回数が引用されていますね。
実現したいこと
FormBridgeで、次の2つを実現したいと考えました。
1.同じ人から複数回答があった場合に、
回答者ごとに回答数をカウントしたい。
2.回答完了画面に表示するメッセージについて、
「ご回答ありがとうございます!」がデフォルト設定されているが、
回答者の回答数に応じたメッセージを表示したい。
設定方法
1.回答者ごとに回答数をカウント
FormBridgeのkViewerルックアップを利用します。
① kintone
・kintoneアプリを作成する。
② kViewer
・①のアプリを対象に、kViewerの外部公開APIを作成する。
・公開情報に「回答者ID」「回答数」を指定する。
・レコードの並び順に「レコード番号」「降順」を指定する。
・1リクエストでの取得数に「1」を指定する。
③ FormBridge
・①のアプリを対象に、FormBridgeを作成する。
・②で作成したkViewerルックアップを配置し、
検索対象となるフィールドに「回答者ID」を設定する。
選択された「回答者ID」に紐づく「回答数」を、
FormBridgeの数値フィールド「前回までの回答数」に反映する。
・数値計算フィールドを配置する。
計算式に「#前回までの回答数 + 1」を指定し、
保存先フィールドに「回答数」を指定する。
・フォームURLの末尾に
「?kViewerルックアップのフィールドコード=回答者ID(※)」を
付与した状態で、回答者にフォームURLを配布する。
これにより、回答者がURLをクリックしたタイミングで、
kViewerルックアップが自動的に選択済の状態になる。
・回答者がkViewerルックアップの選択値を変更できないよう、
kViewerルックアップなどの各項目を非表示にする。
(※)以下記事を参考にしました。
カスタマイズ不要!フォームのURLごとに回答を判別する方法
設定方法
2.回答数に応じた回答完了メッセージを表示
① フォームのデザイン
・回答数が10の倍数であるかを判定するための
数値計算フィールドを配置し、計算式に「回答数%10」を設定する。
関数の説明については、操作ガイドを参照。
・メッセージを保存する文字列(1行)フィールドを配置する。
・上記フィールドをすべて非表示にする。
② 回答保存プロセス
・数値計算プロセスにて、
数値計算フィールド「回答数」と「回答数を10で割った余り」を
数値フィールドに保存する。(数値計算フィールドのままでは、
後続の文字列連結プロセスの実行条件に指定できないため。)
・文字列連結プロセスにて、「回答数を10で割った余り」が
0の場合、以下メッセージを保存する。
・文字列連結プロセスにて、「回答数を10で割った余り」が
0でない場合、以下メッセージを保存する。
・文字列連結プロセスにて、「回答数」が1の場合、
以下メッセージを保存する。
③ 回答完了画面
・メッセージフィールドを表示設定する。
できました🥳
類似記事の紹介
FormBridgeにおいて、今年 自分なりに試行錯誤した類似記事を紹介します。
[kintone] FormBridgeの前回回答日を登録する
[kintone] FormBridge回答完了メッセージをランダム表示する
さいごに
ここまで お読みいただき、ありがとうございました🙌
トヨクモ kintone連携サービス Advent Calendar 2024、明日は 電脳坊主 / 植田剛士 さんです!