サイボウズ社が提供しているウェブサービス「kintone」は、一言で言うなら「簡単に自社の業務に適したシステムを作成できるクラウドサービス」だ。業務アプリを直感的に作成できるほか、社内SNSとしての機能も備えスピーディーに情報共有ができるなど魅力が盛り沢山だ。本連載では、そんなkintoneの導入から基本機能の紹介、そしてアプリの活用法など、ビジネスの現場で役立つ情報を取り上げていく。第100回では、Kintoneアプリ「カスタマイン」を使って、顧客名を自動で引っ張る方法について紹介する。
kintoneで売上を管理するアプリを作る際、項目の1つに顧客情報が必要になる。顧客はある程度決まっているのに、毎回毎回、顧客名や連絡先などを手入力するのはムダだ。そのため、顧客リストを別途作り、そこから名前などで検索して情報を自動入力できるようにしておけばいい。
これは、ルックアップフィールドを使えば簡単に設定できる。ユーザーは氏名の一部を入力して検索したり、一覧から選択するだけで、マスタアプリに登録されているメールアドレスや電話番号といった情報を自動で引っ張ってきてくれる。
もちろん、情報を引っ張ってくるためには、あらかじめ顧客情報アプリに登録しておく必要がある。新規顧客の売上を入力しようとするとエラーになるのだ。
こういうものだ、と割り切ってしまえば、このままでも運用することは可能。しかし、現場で作業しているときに、売上を入力してエラーになり、アプリを切り替えるのは面倒だし、手間がかかる。そこでオススメなのがkintoneアプリのきめ細かいカスタマイズが可能になる「カスタマイン」(アールスリーインスティテュート)だ。
まずは、ルックアップで検索に失敗する、つまり顧客情報アプリにない新規顧客の場合は、そのまま登録作業を行い、売上の入力作業を続行できるようにしてみよう。
カスタマインで新規カスタマイズを開き、「売上台帳」アプリを選択する。カスタマインでは「条件」と「やること」をセットで設定し、アクションを積み重ねていく。日本語の選択肢から選ぶだけでよく、プログラムの知識が必要ないのがありがたいところ。
売上台帳アプリでは「顧客情報」をマスタアプリからルックアップで引っ張ってくる
カスタマインで売上台帳アプリをカスタマイズする
カスタマインのカスタマイズ画面
最初のアクションの条件はもちろん、「ルックアップで取得が失敗した時」。条件は大量に登録されているので、右上のフォームから検索するとすぐに見つけられる。ルックアップのフィールドも選択したら条件設定は終了。
「やること」は「入力ダイアログを表示する」を選択。その時に表示するメッセージも指定できる。例えば、「顧客台帳に登録がありません。新規登録をするので氏名を入力してください」のように丁寧に説明すれば、他の人でも迷わず利用できるだろう。
「ルックアップで取得が失敗した時」を条件に設定する
ルックアップのフィールドを選択する
「やること」は「入力ダイアログを表示する」に設定
表示する文章を設定する。ここでは、新規登録する顧客名を入力してもらう
次のアクションはメールアドレスを入力してもらう。条件は「確認・入力ダイアログで「OK」を押した時」にして、そのアクション番号を選択する。ここではもちろん「1」番目のアクションとなる。続いて同じように「入力ダイアログを表示する」を選択し、メッセージを入力すればいい。
次のステップでは、「OK」をクリックした時を条件にする
条件に使うアクションを選択する。ここでは顧客名を入力させたアクションを選択
メールアドレスを入力してもらう
ポップアップで入力させるのは、顧客名とメールアドレスのみにした。ここで無理して顧客の全情報を入力させる必要はないし、それで面倒になっても逆効果だ。
そのため、次のステップはもうレコード追加となる。条件は前のアクションで「確認・入力ダイアログで「OK」を押した時」で、「やること」は「レコードを追加する」。アプリを選択し、どのアクションで入力してもらったデータをどのフィールドに追加するのかをマッピングすれば準備は完了。
「kintoneアプリへ登録」をクリックし、kintoneアプリを開いて動作確認をしてみよう。
レコードを追加する設定を行う。フィールドの左側の「挿入」を選び、値を選択する
「kintoneアプリへ登録」をクリックして、反映させる
新規顧客を検索すると「データがありません」とエラーになり、入力画面が開くようになった。顧客名とメールアドレスを入力すると、顧客台帳アプリの最新レコードに「名前」と「メールアドレス」が入力されるようになった。
「売上台帳」アプリはエラー画面のままなので、もう一度「取得」をクリックすると、追加されたデータを読み込み、メールアドレスが表示される。
新規顧客名を検索するとエラーになり名前とメールアドレスの入力を求められる
自動的に顧客台帳アプリにレコードが追加された
元のアプリは元の状態なので「取得」をクリック
メールアドレスがルックアップで表示された
せっかくレコードを追加したのに、元の画面がエラーのママというのは格好悪いし、何より正常に動作した感じがない。そこで、レコードを追加したら、「取得」を自動的に押すようにしてみよう。
新しいアクションを作り、レコードを追加のアクションが完了したときに、「ルックアップを取得し直す」ようにすればいい。これで、自動的にルックアップが更新される。
「ルックアップを設定しなおす」を選択する
自動的に「取得」を押した状態に更新されるようになった
これで目的の動作は完了したのだが、時々エラーになって更新できないことがあった。調べたところ、ルックアップで検索した文字列と、ダイアログに入力した文字列が異なる場合にエラーになった。検索時は適当に入力したが、台帳登録時に再確認したら漢字を間違えていた、なんてことがあったのだ。
そこで、レコードを追加した後、ルックアップを取得する前に、「フィールドに値をセットする」のアクションを追加した。「1」番目のアックションで入力した顧客名をルックアップフィールドにセットするようにしたのだ。
これで、ルックアップを取得し直す条件を、フィールドに値をセットするアクションが終わった後に設定し直せばいい。
「フィールドに値をセットする」を設定する
入力した氏名をフィールドにセットする
ルックアップで検索したときと、手動入力した名前が違ってもきちんと登録され、ルックアップを設定し直せるようになった
これでルックアップは劇的に使いやすくなったのだが、顧客台帳アプリには顧客名とメールアドレスしか入力されていないので、そのうち他の情報も登録しなければならない。
そこでルックアップを取得し直した後、自動的に顧客台帳アプリのレコード編集画面を別タブで開くようにすれば、売上登録後、すぐに顧客情報の登録作業に取りかかれるようになる。
とは言え、何も表示させずに実行すると、ユーザーが驚いてしまうので、まずは確認ダイアログを表示させる。そこに「顧客台帳に登録しました」と表示させ、「OK」ボタンを「顧客台帳を開く」に変更する。その上で、次のアクションで「レコード編集画面に遷移する」を実行するようにすればいい。
条件は「確認・入力ダイアログで「OK」を押した時」、やることは「レコード編集画面に遷移する」にする
別タブで開くようにする
実際の動作画面
追加されたレコードの編集画面が別タブで開くようになった
しかし、使っているとまたまた課題が出てきた。顧客番号は一覧を見て手動で連番を付けていたのだが、直接顧客情報の編集画面が開いているので、番号がわからない。一覧に戻るなら、逆に作業が増えて本末転倒だ。
そこで、カスタマインで自動的に顧客番号が入るようにしてみた。まずは、新しいアクションを追加し、メールアドレスを入力してもらった後に、顧客台帳アプリのレコード番号の最大値を取得しておく。
そして、レコードを追加する際に、最新レコードの顧客番号に1を加えたものを顧客番号フィールドにマッピングする。これで、自動的に編集画面に連番が入力されるようになった。
指定アプリの任意のフィールドが最大のレコードを取得する
そのレコードの顧客番号を取得し1プラスして、新規レコードに追加する
いろいろとこねくり回したが、標準状態と比べると格段に便利になっている。確かに最初設定するときは頭を使うが、一度作業してしまえば、その後ずっと便利に使えるようになる。複数のユーザーが頻繁に使うアプリであれば、可能な限り少ない手順でミスなく操作できるようにしておくと業務効率がアップする。
カスタマインはフリープランも用意されているので、まずは試してみることをオススメする。びっくりするくらい色々なことができるので、kintoneをいじり倒してみよう。