このような大量のレコード処理は、Job Runnerのご利用をお勧めいたします!
こちらの「大量のレコードを安全に処理する方法 : 検索文字列を作成する事例」をご確認ください。

画面上で大量レコード操作は、ブラウザのタブがバックグラウンドになると、停止してしまうなど問題が多いのでおすすめはしません。
以下の記事は参考程度にご確認いただけますと幸いです。



可能です。


ただ、kintoneの一覧画面は標準機能で1画面に最大で100件までしか表示できません。

その点も考慮し、100件を超える場合でも一括で更新可能な方法をご紹介します。


レコードを更新するタイミングで検索用文字列を作成する方法と、その検索用文字列を使用した検索フォームを設置する手順は「日本語の一文字や英数字の部分一致で検索できる検索フォームを追加する」でご紹介していますので、ご覧ください。


なお、検索用文字列の一括作成はレコード数によっては時間のかかる負荷の高い処理ですので、検索用文字列が未作成のアプリに対して、1回だけ実行ください。


一括作成で既存レコードに検索用文字列が作成されたら、その後は追加・編集画面でレコードが保存されるタイミングでの検索用文字列の作成をお勧めします。


カスタマイズしたアプリの例

例として kintone アプリストア の「顧客リスト」アプリを使います。

なお、今回はアプリ名を「顧客リスト(検索可能)」に変更しています。


このカスタマイズでは「会社名」フィールドを検索対象としたいので、検索用文字列を保存するための文字列(1行)フィールドを追加し、フィールド名とフィールドコードは「会社名検索用」と指定しました。


次に、検索用文字列が未作成のレコードのみ表示する一覧を追加します。一覧名は「一括更新用一覧」としました。

表示するフィールドは「会社名」と「会社名検索用」フィールドです。

ポイントは、絞り込み条件に「会社名検索用」フィールドが空白のレコード、つまり検索用文字列が未作成のレコードのみ表示する、という設定をしている点です。

このように設定することで、「処理対象のレコードのみが表示される」一覧を作成します。



一覧が作成できたら、kintoneアプリ側の設定は完了です。


やりたいこと

顧客リスト(検索可能)アプリの既存レコードに、一括で検索用文字列を設定する。


Customineの設定

顧客リスト(検索可能)アプリにカスタマイズを追加します。

一覧に処理対象レコードが存在するか確認するためレコードを取得する

まずは、「一括更新用一覧」が表示された時にだけ処理を行うようにし、この一覧が表示されていれば対象となるレコードを取得します。

やること「一覧で画面に表示されているレコードを取得する」、条件「一覧画面を表示した時」「現在の一覧が指定の一覧ならば」を用います。

現在の一覧が指定の一覧ならば」の「一覧の名前」パラメータには、あらかじめ作成しておいた一覧「一括更新用一覧」を指定します。

なおこのように条件指定すると、アクションを実行する一覧を限定する事ができます。


処理中は操作が行えないように読み込み中画面を表示する

続いて、処理すべき対象レコードが存在するかをチェックし、対象となるレコードがあれば読込中画面を表示します。

やること「読み込み中画面を表示する」、条件「他のアクションの実行が完了した時」「レコード件数が1件以上ならば」を用います。


なお、通常「読み込み中画面を表示する」で表示した読み込み中画面は「読み込み中画面を終了する」で消す必要がありますが、今回のカスタマイズでは処理の最後に画面をリロードを行うため「読み込み中画面を終了する」での処理は不要となります(画面をリロードすると、読み込み中画面は消えるため)。


検索用文字列を作成する

ここでは、検索用文字列を作成して設定します。

やること「検索用文字列を作成する」、条件「他のアクションの実行が完了した時」を用います。


検索用文字列の作成が完了したら画面をリロードする

最後に、レコードが保存された時に画面をリロードします。

やること「画面をリロードする」、条件「レコードが自動的に保存された時」を用います。


なお、検索用文字列の作成が行われた後にレコードが保存されてからリロードしたいので条件「レコードが自動的に保存された時」を使っています。



以上で、一括更新のカスタマイズは完了です。

kintoneアプリへ登録いただき、一括更新用一覧を開いてみてください。

一覧画面のリロードが終わり、「データがありません。」と表示されたら一括作成完了です。