やること「一覧画面にキーワードで検索する検索フォームを設置する」はご利用いただいていますか?
一覧画面に検索用のフォームを設置できる、便利な機能です。
ただ、この検索フォームはkintoneの検索機能を使って検索するため、下記のような制約があります。
日本語の2文字以上の単語は、2文字以上のキーワードで検索する必要がある
⇒「金都運」を検索したいとき、「金」など1文字をキーワードとして指定しても検索されない英数字は単語単位で検索される
⇒「kintone」を検索したいとき、「kin」など単語の一部をキーワードとして指定しても検索されない
詳細は、kintoneヘルプの「検索したいデータがヒットしません」や、「データを検索する」の下部に掲載されている「検索キーワード入力時の注意事項」をご覧ください。
この制約によって「姓が一文字のお客様の名前を検索したいが出てこない」「アルファベットの社名の一部しか思い出せない」「英数字の品番の一部を入れて検索したいが出てこない」のような、困った!が起こること、ありますよね。
こんな困った!を解決するのが、やること「検索用文字列を作成する」と検索フォームの組み合わせです。
やること「検索用文字列を作成する」は、日本語の一文字やアルファベットの一部をkintoneが検索できるように、検索用文字列を作成する機能です。
どのように使うかご紹介させていただきます!
Customineの基本的な事柄は、こちらの「はじめてのカスタマイズ」をご参照ください。
アプリのフォーム
kintoneアプリストアから顧客リストを追加します。
アプリを追加したら、「顧客リスト」アプリを確認してください。
やりたいこと
顧客リストアプリの「会社名」フィールドの値を、日本語の一文字や英数字の部分一致で検索できる検索フォームを設置する。
顧客リストアプリへのフィールド追加
「顧客リスト」アプリに文字列(1行)フィールドを追加します。アプリを更新したら、kintoneアプリ側の設定は完了です。
Customineの設定
Customineに「顧客リスト」アプリのカスタマイズを追加します。
目的の検索を行うため、3つのアクションを作成します。それぞれ説明します。
検索用文字列保存用のフィールドを直接編集不可にする
検索用文字列セット用のフィールドをユーザーが直接編集できないように「フィールドを無効化する」を使います。
また、条件はフィールドの編集が可能な画面で変更を不可としたいので「追加画面・編集画面を表示した時」を選択します。
また、一覧画面での編集も不可としたいので「一覧画面の鉛筆を押した時も含める」を指定しました。
検索用文字列を作成し、フィールドに保存する
レコード保存直前に、会社名(検索用)フィールドに検索用文字列をセットするため「検索用文字列を作成する」を使用します。
元のフィールドには、検索用文字列の元にしたい「会社名」を指定します。
検索用文字列をセットするフィールドには「会社名(検索用)」を指定しました。
このように指定することで「会社名」の値を元にkintoneの検索機能で検索可能な形式の文字列が作成され「会社名(検索用)」にセットされるようになります。
レコードの値が変更される直前のタイミングで検索用文字列を作成し、保存したいので「レコードを保存する直前(削除時は除く)」を指定します。
ここまでが、追加・編集画面で実行するアクションです。
会社名(検索用)フィールドの値を検索する検索フォームを設置する
「一覧画面にキーワードと数値の範囲で検索する検索フォームを設置する」を選択します。
検索条件フィールドには、検索用文字列がセットされた「会社名(検索用)」を指定してください。誤って、元の会社名フィールドを指定されないようにご注意ください。
また、条件は一覧画面で検索フォームを表示したいので「一覧画面を表示した時」を指定します。
以上で、カスタマイズは完了です。
「kintoneアプリへ登録」し、動作を確認してみましょう!
顧客リストアプリにレコードを追加し、会社名を入力した上でレコードを保存すると、会社名を元に検索用文字列が作成され、会社名(検索用)フィールドにセットされます。
もし、すでに会社名フィールドに値が入っている状態で実行確認される場合、一旦レコードを編集画面で開いて保存し「会社名(検索用)」に検索用文字列がセットされたのを確認してから検索してみてください。
日本語の一文字、英数字の単語の一部を検索フォームに入力し、値が検索されるようになりましたでしょうか?
まとめ
検索フォームをより便利にするカスタマイズ、いかがでしたでしょうか?
検索機能がパワフルになると、アプリがもっと使いやすくなります。
使い方はシンプルですので、ぜひ試してみてくださいね!
ご不明な点などございましたら、お気軽にチャットでご質問ください。