「レコードの一覧をポップアップで表示する」で、別のアプリに用意した選択肢用アプリのレコードを表示することで実現できます。
一覧画面など、選択肢を選択させるためのフィールドを設置できない場面で役立ちます。
なお、選択肢用アプリから複数の選択肢を表示する別の方法として、プルダウンを作る「フィールド値をレコードから選択するプルダウンを作成する」もあります。
この方法は、下記の記事でご紹介しておりますのでご覧ください。
また、当記事の おまけ でも簡単にご紹介しておりますので、よろしければご覧ください。
サンプルアプリの完成例
カスタマイズは一覧画面に設定します。
一覧画面に「一括設定」ボタンを設置し、各レコードの左端にチェックボックスを配置します。
チェックボックスにチェックを入れて「一括設定」ボタンを押すと、「状態」フィールドにセットする値を選択するためのダイアログが表示されます。
「検収済」を選んでOKボタンを押すと、レコードが更新されます。
アプリの準備
今回は選択肢を保存するために、専用の「選択肢マスタ」アプリを用意しました。
フィールド名 | フィールドコード | フィールドタイプ |
選択肢種別 | 選択肢種別 | 文字列(1行) |
並び順 | 並び順 | 数値 |
選択肢名称 | 選択肢名称 | 文字列(1行) |
データは下記のように登録しました。
想定として、この選択肢マスタは色々なアプリから使用される選択肢をまとめて管理しているアプリです。
選択肢種別は今回の「検収」のほかに例えば「入金」「支払」など、色々な選択肢項目があり、各アプリからはこの「選択肢種別」をキーにレコードを取得することで、ポップアップやプルダウンの作成に使用します。
また、表示先での並び順を制御するための「並び順」フィールドも持っています。
各アプリで、昇順に並び替えて使います。
ポップアップを表示する側の「仕入」アプリは下記です。
フィールドは複数ありますが、今回のカスタマイズで使用するのはこちらのフィールドのみです。
フィールド名 | フィールドコード | フィールドタイプ |
状態 | 状態 | 文字列(1行) |
Customineでのカスタマイズ
仕入アプリにカスタマイズを行っていきます。
まずは、一覧画面を表示した時のカスタマイズです。
「ボタンをメニュー位置に配置する」で一覧画面にボタンを表示します。
また、「一覧にチェックボックス列を追加する」でレコードの左端にチェックボックスを表示します。
いずれも、条件は「一覧画面を表示した時」を指定します。
次に、「一括設定」ボタンが押された時のカスタマイズを作成していきます。
一覧に表示したチェックボックスでチェックされたレコードを取得するために「一覧で選択されたレコードを取得する」を指定します。
こちらのアクションは、「一覧にチェックボックス列を追加する」を追加すると自動的に作成されますので、そのままご利用ください。
今度は選択肢マスタアプリからレコードを取得し、ポップアップで表示するカスタマイズを続けていきます。
「キーを指定してレコードを取得する」で選択肢マスタアプリからレコードを取得します。
キーとなるフィールドは「選択肢種別」を指定し、キーの値には「検収」を指定しました。
そして、取得した選択肢項目を並び替えるため「レコードを並べ替える」を使用します。
このアクションを使用することで、後でポップアップで表示する際の並び順を制御することができます。
これでポップアップ(ダイアログ)表示の準備が整いましたので、表示します。
「レコードの一覧をポップアップで表示する」を使用します。
表示するレコードは、並べ替え後の「6」を指定しました。
「選択方法」は、今回は複数の選択肢から1つだけ選んでほしいので「単一選択(ラジオボタン)」を指定しています。
次に、選択された選択肢をレコードにセットします。
「レコードをもとに別のレコードを更新する」を使用し、一覧のチェックボックスでチェックされたレコードである、アクション番号4のレコードを更新します。
マッピングには下記のように指定しています。
ポップアップで選択されたアクション番号7のレコードの中の、「選択肢名称」というフィールドの値をセットする内容です。
難しそうに見えるかもしれませんが、フィールドマッピングで挿入→他のアクションの結果と選ぶと下記の画面が表示されますので、一覧の中からフィールドを選べばマッピングの設定は完了です。
そして最後に忘れてはいけないのが、リロードです。
一覧画面や詳細画面でフィールドの値を変更しても、画面をリロードしなければ最新の値は表示されません。
「画面をリロードする」を指定します。条件は、レコードの更新を行っているアクション番号「5」が完了した時に設定します。
以上でカスタマイズは完了です。
「kintoneアプリへ登録」を行い、動作を確認してみてください。
おまけ
記事本文のカスタマイズで更新した「状態」フィールドについて、追加・編集画面で値を入力する場合に使用できる、プルダウンの作り方についてもご紹介します。
表示される項目は、記事本文でポップアップしたものと同じように、選択肢アプリのレコードを使用して作成します。
そうすることで、複数の方法で更新されたとしても、「状態」フィールドに入力される値に一貫性を持たせることができます。
完成例は下記です。
「プルダウン」で値を選択すると、状態フィールドにプルダウンで選択した値がセットされます。
途中までは「レコードの一覧をポップアップで表示する」と同じカスタマイズです。
レコードが取得できたら、レコードを元にプルダウンを作成します。
プルダウンの作成には、あらかじめkintoneアプリ側でスペースフィールドを配置しておく必要があります。
今回、作成したスペースフィールドの要素IDは「status」にしています。
やることは「フィールド値をレコードから選択するプルダウンを作成する」、表示するスペースは「status」、レコードは並べ替え後の「9」のレコードを指定します。
「kintoneアプリへ登録」すると、追加・編集画面で下記のようなプルダウンが表示されます。
以上で、プルダウンの作成は終了です。
なお、今回はアプリのレコードを元にポップアップやプルダウンの作成を行いましたが、「テーブル行をレコードとして取得する」でテーブルをレコードに変換すればテーブルデータからでもポップアップやプルダウンを作成することは可能です。
色々お試しくださいね。
Customineドキュメントやサポートページもぜひご活用ください。
また、ご不明点等ございましたら、チャットにてご質問ください!