今回は複数のレコードのステータスをワンクリックで更新するカスタマイズをご紹介します!


例えば、ステータスが「承認待ち」のレコードを全て「承認済み」に変える必要がある時、レコードが多いと、レコード一つ一つ詳細画面を表示して、承認ボタンをクリックして…とやっていくととても時間がかかりますよね。


そんな時はCustomineで条件に合うレコード全てのステータスを更新するカスタマイズをするととても便利になりますよ!


また、あらかじめkintone標準の一覧機能で、更新するレコードを絞り込んでおくとカスタマイズはよりシンプルにできます。


Customineの基本的な事柄は、こちらの「はじめてのカスタマイズ」をご参照ください。


アプリのフォーム

kintoneアプリストアから「旅費精算申請」アプリを選択し、追加します。


さらに、一括更新するレコードを絞り込むための一覧「ワンクリック承認」を追加します。

以下のように設定します。



カスタマイズでやりたいこと

  • 「ワンクリック承認」の一覧画面に「一括承認」ボタンを設置する。

  • 「一括承認」ボタンをクリックすると現在画面に表示されているレコード全てで、「承認」アクションを実行し、ステータスを「承認」に変更する。

  • 一度一括承認をすると元に戻すのが難しいので、ステータス更新前に確認ダイアログを表示する。

  • レコードが存在しない場合はエラーダイアログを表示する。


Customineの設定

特定の一覧にのみボタン設置

やること

ボタンをメニュー位置に配置する」を使用します。一覧画面では表示位置を「一覧画面メニューの右側」と「一覧画面メニューの下側」から選択できます。今回は「一覧画面メニューの右側」を選択します。

「一覧画面メニューの下側」を選択した場合は下の画像の様になります。

条件

一覧画面を表示した時」に「現在の一覧が指定の一覧ならば」を加えることで、指定の一覧でのみ「やること」を発動させることができます。

確認ダイアログ表示


やること

確認ダイアログを表示する」を使用します。

下のようなダイアログを表示します。

条件

ボタンを押した時」を使用します。

更新対象のレコード取得


やること

一覧で画面に表示されているレコードを取得する」を使用します。「一覧の条件でレコードを全件取得する」とは違い、一覧が複数ページにまたがっている場合、現在表示されているページのレコードのみが取得されます。

条件

確認・入力ダイアログで「OK」を押した時」を使用します。「他のアクションの実行が完了した時」ではダイアログを表示して「OK」ボタンを押す前に「やること」が発動してしまうので、こちらは使えません。


ステータス一斉更新

やること

ステータスを変更する(指定のレコード)」を使用します。レコード取得アクションで取得したレコード 全てに対して、プロセス管理のステータス変更アクションを実行します。

条件

他のアクションの実行が完了した時」と「レコード件数が1件以上ならば」を使用します。


画面を再読み込みする

ここまでで一斉更新は完了しており、表示されていたレコードは「申請中」でなくなるので、「ワンクリック承認」の一覧からは消えるはずですが、見た目には何の変化もありません。画面に反映されるには画面を再読み込みする必要があります。

やること

画面をリロードする」を使用します。

条件

他のアクションの実行が完了した時」を使用します。



エラーダイアログを表示する

やること

エラーダイアログを表示する」を使用します。

下のようなダイアログを表示します。

条件

他のアクションの実行が完了した時」と「レコード件数が0件ならば」を使用します。


テスト

設定が完了したら、「kintoneアプリへ登録」し、動作チェックしてみましょう。


ボタンクリック前


ボタンをクリックすると、

が表示されます。


「承認する」をクリックすると、画面が一度リロードされ、画面に表示されていたレコードが「申請中」でなくなったので、「ワンクリック承認」の一覧から消えます。


別の一覧に変えると、先ほど表示されていたレコードがすべて「承認」になっているのを見ることができます。


終わりに

複数の承認待ちのレコードを一覧で確認して一気に承認、言葉にするのは簡単ですが、JavaScriptを書くとなるとややこしいですよね・・・


Customineで実装するとなんと6アクションです!すぐに組むことができますし、タイプミスも大幅に減るでしょう!また、作った人以外が見ても何をやっているか明らかですね!


もし分からないことがありましたら、Customineヘルプサポートもぜひご活用ください。