連絡先や取引先などのデータを入力する際、別々の項目の値を1件の項目にまとめて表示したい、ということがあるかもしれません。そのような場合、カスタム関数を使うと、別々の項目の値を結合し、1つの項目にまとめて表示することができます。たとえば、[姓]と[名]の項目の値を結合し、別途作成しておいた[氏名]という項目に表示できます。その他の項目についても同様に結合することが可能です。
結合した値を表示するためのカスタム項目を作成する:
まず、結合された結果を表示する項目を作成します(例:[姓]と[名]を結合した値を表示するために[氏名]というカスタム項目を作成する)。この項目は、初期設定では用意されていないため、独自にレイアウトに追加する必要があります。
[設定]→[カスタマイズ]→[タブと項目]→[レイアウト]をクリックします。編集するレイアウトにカーソルを合わせて、[レイアウトを編集する]をクリックします。左側の[新しい項目]から項目の種類(通常は[1行]のテキスト項目)を選択して、右側のセクションにドラッグ&ドロップします。項目の表示名(ラベル)を入力します。
カスタム関数を作成する:
- [設定]→[自動化]→[処理]→[カスタム関数]→[関数の設定]→[自分で作成する]をクリックします。
- 関数名と表示名を入力します。対象のタブを選択します。
- [Edit Arguments](入力値を編集する)リンクをクリックし、必要な入力値(パラメーター)を関連付けます。この例の場合、見込み客のID、姓、名の関連付けが必要です。画像を参考に、関数名を入力し、入力値を関連付けます。入力値(キー)名に「lead_id」と入力して、パラメーターの値の欄に「#」を入力し、[見込み客]を選択します。[項目]に[見込み客ID]を選択し、[完了する]をクリックします。[+]をクリックして、残りの入力値を関連付けます。[保存する]をクリックします。
- 以下のようにコードを入力し、保存します。
コード:[Lead_id]は見込み客ID、[Lead_last_name]は見込み客の姓、[Lead_first_name]は見込み客の名を表す変数です
leadDet = zoho.crm.getRecordById("Leads",Lead_id);
map = Map();
map.put("Name1",Lead_last_name + ' ' + Lead_first_name);
con = zoho.crm.updateRecord("Leads",Lead_id.tolong(),map);
info map;
info con;
カスタム関数をワークフローに追加する:
カスタム関数を用いて設定しておいた処理内容は、さまざまな場所や方法で呼び出して実行することが可能です。たとえば、ワークフロールール、ボタン、リンクなどに関連付けて実行できます。
手順:
- [設定]→[自動化]→[ワークフロールール]→[+ルールを作成する]をクリックします。
- 対象のタブを選択し、ルール名を入力します。[次へ]をクリックします。
- [このルールをいつ実行しますか?]で、[データの操作]を選択します。
- [作成]を選択し、[次へ]をクリックします。
- [条件1]で[すべての見込み客]を選択し、[次へ]をクリックします。
- [すぐに実行する処理]で、[関数]を選択します。
- 作成した関数を選択し、[関連付ける]をクリックします(画像の例では、関数名は[Concatenate]です)。
- [保存する]をクリックします。
実行:
[見込み客を作成]画面で、必要なすべての情報を入力して、[保存する]をクリックします。ワークフロールールの設定において、実行タイミングをデータ作成時と選択していたため、このタイミングで上記の関数が実行されます。関数により、[姓]と[名]を結合した値が、指定した項目に挿入されます。作成した見込み客の詳細が表示されます。[姓]と[名]が結合して表示されている結果を確認できます。
その他の例:
上記の方法は、さまざまなニーズや要件に合わせて応用できます。
1) 3件以上の項目の値を結合できます。たとえば、[姓][名][会社]といった3件の項目の値を結合し、1つの項目にまとめて表示することが可能です。上記の例に限らず、任意の項目を、任意の順番で結合して表示することができます。下の画像の例では、[Title](職位)欄に、結合した項目の値が自動入力されるよう設定されています。[First Name](名)、[Company](会社)、[Design](デザインの種類)という3件の項目が1つの[Title](職位)項目として表示されています。
2) 氏名以外の項目の値とも結合できます。たとえば学生の情報を管理する場合にも利用できます。学生の情報が記載された項目のうち、[姓]項目と[卒業年]項目の値をよく利用するとしましょう。さまざまなシーンで参照するため、この2つの値を結合して、1つの項目にまとめて表示したいと考えています。概要表示でも、結合した値が1つの項目で表示されれば、詳細を確認せずに済み、さらに便利です。ワークフローを設定することで、こういった要望にも応えることができます。以下が、[姓]の項目の値と[卒業年]の項目の値を結合して1つの項目にまとめて表示する手順です。
手順1:[設定]→[カスタマイズ]→[タブと項目]→[レイアウト]をクリックします。編集するレイアウトにカーソルを合わせて、[レイアウトを編集する]をクリックします。左側の[新しい項目]から項目の種類(通常は[1行]のテキスト項目)を選択して、右側のセクションにドラッグ&ドロップします。項目の表示名を入力します。
手順2:値を結合し、表示用のカスタム項目に値を入力するためのカスタム関数を作成します。作成したカスタム関数をワークフロールールに追加します。[設定]→[自動化]→[処理]→[カスタム関数]→[関数の設定]→[自分で作成する]をクリックします。[Edit Arguments](入力値を編集する)リンクをクリックし、必要な入力値(パラメーター)を関連付けます。
コード:[cont_name]は姓、[cont_yop]は卒業年の値を表す変数です
Stud_yop = zoho.crm.getRecordById("Contacts",cont_id);
map = Map();
map.put("Student_details",cont_name + ' ' + cont_yop);
yop = zoho.crm.updateRecord("Contacts",cont_id.tolong(),map);
info yop;
info Stud_yop;
手順3:手順1と同様にレイアウト編集画面を開きます。画面上部の[詳細表示]をクリックし、[概要表示]の[カスタマイズする]をクリックします。手順1で作成した項目を選択し、[完了する]をクリックします(以下の画像の例では[Student details])。
手順4:[設定]→[自動化]→[ワークフロールール]→[+ルールを作成する]からワークフローを作成します。対象のタブを選択し、ルール名を入力します。[次へ]をクリックします。[このルールをいつ実行しますか?]で、[データの操作]を選択します。[作成]を選択し、[次へ]をクリックします。[条件1]で[すべての見込み客]を選択し、[次へ]をクリックします。[すぐに実行する処理]で、[関数]を選択します。作成した関数を選択し、[関連付ける]をクリックします。
メモ:上記の例を応用して、その他の項目を追加して結合することも可能です(例:学部など)。