関数を使用した入力規則の利用例

関数を使用した入力規則の利用例

特定のキーワードが対象項目に入力された場合、詳細な説明を入力必須にする方法

例:ある電子部品メーカーでは、商品の品質検査を外部の事業者に委託しています。検査結果はCRMに入力され、レポートを通じて品質管理責任者に共有されます。その中で、委託業者が入力した情報において、重要な項目が不足していたり、説明が分かりにくかったりすることが数多くありました。そのため、確認の回数や工数が増加し、業務遅延や生産効率の低下を招いていました。この問題の解決のため、報告者が対象項目に特定のキーワードを入力した際、詳細な説明の入力を促すメッセージを表示することにしました。

上記を行うために、入力規則を次のように設定します: 
ユーザーによって「その他」、「不明」、「全般」、「要確認」、「重要」などの値が入力されると、入力規則によってエラーが表示されます。エラーメッセージは次のとおりです:「具体的な説明が必要なキーワードが含まれています。詳細な説明を入力してください」。  

関数のコードは、以下のとおりです: 
/* 以下のコードは、CRMから取得した値が保存されている変数(Mapオブジェクト)から項目の一覧と値を取得する例です。この例では、「entityMap」がMapオブジェクトで、項目の値は、該当のMapオブジェクトから取得されます。*/

entityMap = crmAPIRequest.toMap().get("record");

/* 以下のコードは、Mapオブジェクトから項目の値(メールアドレス)を取得する例です。この例では、「entityMap」がMapオブジェクトで、「Email」が項目のAPI名です
entityMap= {'Email': 'xxx@xxx.com', 'Last_Name': 'xxx'}; */

field = entityMap.get("field_api_name");
response = Map();

/* ---------------------------------------------------------------------------------------------- */
/* こちらにコードを入力して、対象の項目の値を検証します*/
/* ---------------------------------------------------------------------------------------------- */
/*入力した値がコードで指定した条件と一致しない場合は、エラーのステータスを設定し、通知メッセージを表示します:*/
//if(condition) {
//response.put('status','error');
//response.put('message', '<100文字以下でメッセージを入力します>');
//} else {
/*検証によるエラーがない場合は、処理完了のステータスを設定します:*/

response.put('status','success');

//}

/* ---------------------------------------------------------------------------------------------- */

return response.toString();

上記の入力規則の関数:
 if(Description.contains("その他") || Description.contains("不明") || Description.contains("全般") || Description.contains("要確認") || 
Description.contains("重要")) { 
  response.put('status','error'); 
  response.put('message', '具体的な説明が必要なキーワードが含まれています。詳細な説明を入力してください。'); 
 } else { 



国別の郵便番号のパターンの検証

国別での特定の形式に従い、納品先住所の項目に入力された郵便番号を検証します。

*以下のコードを対象の箇所に追加します。

1.郵便番号が数字7桁の形式の場合(例:日本)。 
condition: zipCode.matches("([0-9]{7})" ) == false
2.郵便番号がアルファベットと数字の形式(A9A 9A9)の場合(例:カナダ)。
condition: zipCode.matches("([A-Z]{1}[0-9]{1}[A-Z]{1}[0-9]{1}[A-Z]{1}[0-9]{1})") == false
3.郵便番号がアルファベットで始まり、数字で終わる形式(AAAAA99)の場合(例:ジャマイカ)。
condition: zipCode.matches("([A-Z]{5}[0-9]{2})") == false
4.郵便番号がアルファベット、ハイフン(-)、数字の形式(AA-9999)場合(例:ラトビア)。
 condition: zipCode.matches("([A-Z]{2}-[0-9]{4})") == false



国際銀行口座番号(IBAN)などの識別情報における正規表現の検証 


国によっては、データの形式が異なる場合があります。国際銀行口座番号(IBAN)などのデータの場合、国コードと口座番号を合わせた形式になります。また、口座番号の文字数は国によって異なります。 

*以下のコードを対象の箇所に追加します。

1.IBAN番号が国コード「AL」と28桁の口座番号の組み合わせの場合(アルバニア)。  
condition: IBANNumber.matches("(^(AL)[0-9]{28})") == false
2.IBAN番号が国コード「BL」と16桁の口座番号の組み合わせの場合(ベルギー)。 
condition: IBANNumber.matches("(^(BL)[0-9]{16})") == false
3.IBAN番号が国コード「DE」と22桁の口座番号の組み合わせの場合(ドイツ)。 
condition: IBANNumber.matches("(^(DE)[0-9]{22})") == false



入力された国際標準逐次刊行物番号(ISSN)の形式の検証


国際標準逐次刊行物番号(ISSN)とは、出版物を識別するために用いられる、重複しない8桁の数字です。数字は、ハイフンで区切られた4桁の数字2組で表されます(例:0378-5955)。ISSNコードを使用して記事を検索する際、数字はこの形式で入力されます。以下の関数を使用することで、ISSN項目の形式を検証することができます。

*以下のコードを対象の箇所に追加します。
condition: ISSNNumber.matches("([0-9]{4}-[0-9]{4})") == false



電話番号の国コードの形式の検証


個人情報のうち、顧客によって入力される連絡先の電話番号には国コードが含まれる必要があります。この場合、電話番号が「+」「国コード」「電話番号」の順になるように検証します。以下の関数を使用することで、電話番号の値の形式を検証することができます。

*以下のコードを対象の箇所に追加します。

1.電話番号の形式が「+44-20-999999999」となる場合(イギリス)。
condition:   phoneNumber.matches("(^(\+44-20)-[0-9]{9})") == false
2.電話番号の形式が「+1-999-999999999」となる場合(アメリカ合衆国)。
condition:   phoneNumber.matches("(^(\+1)-[0-9]{3}-[0-9]{9})") == false
3.電話番号の形式が「+31-99-999999999」となる場合(オランダ)。
condition:   phoneNumber.matches("(^(\+31)-[0-9]{2}-[0-9]{9})") == false



担当者が日付項目に過去の日付を入力しないよう制限する方法


担当者が日付項目に過去の日付を入力しないように制限します。たとえば、営業担当者が商談の完了予定日を編集する場合、過去の日付を入力しないように制限します。担当者が今後の日付のみ項目に入力できるように設定します。

*以下のコードを対象の箇所に追加します。
condition: days360(today, closingDate.toDate()) > 0


    Zoho CRM 管理者向けトレーニング

    「導入したばかりで基本操作や設定に不安がある」、「短期間で集中的に運用開始できる状態にしたい」、「運用を開始しているが再度学び直したい」 といった課題を抱えられているユーザーさまに向けた少人数制のオンライントレーニングです。

    日々の営業活動を効率的に管理し、導入効果を高めるための方法を学びましょう。

    Zoho CRM Training



              Zoho WorkDrive Resources



                Zoho Desk Resources

                • Desk Community Learning Series


                • Digest


                • Functions


                • Meetups


                • Kbase


                • Resources


                • Glossary


                • Desk Marketplace


                • MVP Corner


                • Word of the Day









                                  Resources

                                  Videos

                                  Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.



                                  eBooks

                                  Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.



                                  Webinars

                                  Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.



                                  CRM Tips

                                  Make the most of Zoho CRM with these useful tips.