はじめに

レコード取得に関する「やること」は数多くの「やること」が用意されています。


この記事では複雑な条件に合ったレコードを取得する際に利用しやすい、やること「条件を組み立ててレコードを取得する」を使って、絞り込んだ条件でレコードを取得し、その内容をポップアップ表示するカスタマイズをご紹介します。


動作イメージとしては、ボタンを押すと


次のようなポップアップが表示されます。

※「課金対象期間」が「年額」、「見込み時期」が有効期間内の製品で、「単価」が100万円未満 のレコードが表示対象となり、更に製品コードの昇順でソートされています


アプリの準備

カスタマインの歩き方 カスタマイズお試し用ファイルダウンロード

からダウンロードするか、以下の要領でアプリを作成してください。


案件管理

※フィールド名とフィールドコードは同じものを指定

フィールド名/要素ID

フィールドタイプ

備考

getProduct

スペース



製品マスタ

※フィールド名とフィールドコードは備考に注釈が無い限り同じものを指定

フィールド名

フィールドタイプ

備考

製品カテゴリ

ドロップダウン


製品コード

文字列(1行)


製品名

文字列(1行)


単価

数値


課金対象期間

ラジオボタン


有効期間(開始)

日付

フィールドコード:有効期間_開始

有効期間(終了)


日付

フィールドコード:有効期間_終了


カスタマイズ

カスタマイズは『案件管理』アプリに適用します。


レコードを取得する「やること」の「条件を組み立ててレコードを取得する」は画面上で条件を組み立ててレコードを取得する事ができます。


ボタンを配置

やること「ボタンをスペースに配置する」、条件「追加画面・編集画面を表示した時」を使い、追加画面・編集画面表示時にボタンを配置するようにします。


レコードを取得

やること「条件を組み立ててレコードを取得する」、条件「ボタンを押した時」を使い、アクション「7」で設置したボタンを押した時に、

  • 「課金対象期間」が「年額」のレコードのみ

  • かつ、「見込み時期」が有効期間内の製品のレコードのみ

  • かつ、「単価」が100万円未満のレコードのみ

  • 更に製品コードの昇順でソート(並び替え)


といった対象となるレコードを取得しています。


なお、「検索条件」の設定は一見するとクエリを書かないといけないように見えますが、実際の設定は次の画像のような「条件ビルダー」という機能を使って簡単に設定が可能です。


条件ビルダーで次のように条件を組み立てることで、自動的に「検索条件」として使用するクエリが生成されます。


レコードをポップアップ表示

やること「レコードの一覧をポップアップで表示する」、条件「他のアクションの実行が完了した時」を使い、アクション「8」が動いた後に、取得したレコードを、ポップアップ表示します。

そのため、レコードには「8」を設定します。


カスタマイズが設定できたら、「kintoneアプリへ登録」を押して、動作を確認してみましょう。


ボタンを押して、


次のようなポップアップが表示されれば完成です!


解説

この「やること」は 2022年7月に機能追加されました。


それまでは、複雑な条件に基づいたレコード取得にはやること「クエリで条件を指定してレコードを取得する」を使用する必要があり、クエリの記法がわからない方に取っては非常に難易度の高いものでした。

しかし、やること「条件を組み立ててレコードを取得する」を使用することで、クエリの記法がわからない方であっても上の例のように複雑な条件に基づいたレコード取得ができるようになりました。


多くのレコード取得はこれで解決できますが、いくつか条件としてフィールド値や他のアクションの結果を条件ビルダーに指定できないケースがあります。例として、以下のようにラジオボタンフィールドでは固定値のみしか指定できません。

ラジオボタンフィールドなど一部のフィールドにおいて、フィールド値や他のアクションの結果を使用したいときには、やること「クエリで条件を指定してレコードを取得する」を使用していただく必要があります。


レコード取得に関する他のやることと比較すると、少しパラメータ設定が複雑な「やること」ですが、ぜひお試し下さい。


おわりに

この記事では複雑な条件に基づいたレコードを取得する際に利用できる、やること「条件を組み立ててレコードを取得する」を使って、複数条件に該当するレコードを取得、ソートし、その内容をポップアップ表示するカスタマイズをご紹介しました。


ドキュメントサポートページもぜひご活用ください。

また、ご不明点等ございましたら、チャットにてご質問ください!