カスタム関数 - Zoho People

カスタム関数 - Zoho People

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

カスタム関数とは何ですか?

Zoho Peopleにおけるカスタム関数は、複雑で複数の手順を経た処理を、作成・実行可能なプログラムスクリプトを通じて簡略化します。カスタム関数は、アラート/タスク/Webhookなどの初期設定処理では実装できない手順ロジックを必要とするワークフローの自動化を支援します。カスタム関数を使って、Zoho Peopleのデータや第三者のアプリケーションに関連するデータを自動的に更新することができます。これはシンプルなプログラムスクリプトを実行することで可能です。

カスタム関数は、データの効率的な操作、第三者のアプリケーションとの通信、及びレスポンスの更新のために、ZohoのDelugeスクリプティング言語を使用して記述されます。スクリプトは、ワークフロートリガーイベントが発生するたびに実行されます。
Info
Delugeスクリプティング言語についての詳細は、Zoho - Deluge Scripting 言語をご覧ください。
Idea
サービスのカスタム関数は設定 > サービスを選択する > 自動化 > 処理 > カスタム関数で作成できます。

Zoho Peopleでのカスタム関数の動作

  1. サービスのフォームにカスタム関数を作成し、新規または既存のワークフローに関連付けます。
  2. ワークフロートリガーイベントが発生するたびに、カスタム関数が実行され、コードで定義された指定の処理を行います。

カスタム関数の作成

カスタム関数を作成するには:
  1. あなたのホームページから、設定 > サービスを選択 > 自動化 > カスタム関数へと進んでください。

  2. カスタム関数の追加をクリックしてください。
  3. カスタム関数を作成したいフォームを選択してください。
  4. カスタム関数の名前を入力してください。
  5. パラメーターを編集をクリックして、メソッド名を定義し、必須のメソッド引数を変数名と対応する項目値で指定してください。

  6. 保存をクリックしてください。
  7. カスタム関数の説明を入力してください。
  8. Delugeコードを入力してください。詳細については、Zoho - Delugeスクリプト言語をご参照ください。
    1. シンタックスの自動提案のために、シンタックスビルダーを有効にしてください。
    2. 外部連携については、外部連携を参照してください。
  9. 保存をクリックしてください。
    Idea
    保存して実行をクリックしてスクリプトを今すぐテストして実行します。
Info
カスタム関数をワークフローにマッピングすると、ワークフローで定義したトリガーイベントが発生するたびにコードが自動的に実行されます。

ワークフローにカスタム関数をマッピングする

カスタム関数をワークフローにマッピングするには:
  1. あなたのホームページから、設定 > サービスを選択 > ワークフロー > ワークフローを追加へ移動してください。
  2. 必要なすべての詳細を提供し、ワークフローを設定してください。
  3. アクションの下で、カスタム関数をクリックし、(+) アイコンをクリックして新規のカスタム関数をワークフローに追加、またはフォームに作成されている既存のカスタム関数を選択します。

  4. 追加をクリックしてください。
    ワークフローが作成され、トリガーアクションに基づいてカスタム関数が実行され、あなたがコードで定義した指定のアクションが実行されます。

使用事例

カスタム関数を使用した自動的な出張経費の更新

従業員の出張経費を計算するというシナリオを想定します。出張経費は、以下のカスタム関数を使用して出張経費フォームで自動的に計算されます。その結果、各従業員のセルフサービスフォームが更新された出張経費の詳細を取得します。これを実現するためには、従業員のセルフサービスフォームにカスタム項目を作成する必要があります。
  1. 差出人 あなたのホームページ、設定 > サービスを選択(出張) > 自動化 > 処理 > カスタム機能へ移動します。
  2. それぞれのフォーム(出張経費)を選択し、カスタム関数の追加をクリックします。
  3. カスタム関数の名前と必要なパラメータの詳細を提供します
  4. 以下に示すようにスクリプトを提供します。
  5. 保存をクリックしてカスタム関数を保存します。
    Idea
    保存して実行をクリックしてスクリプトをすぐにテストし実行します。
Quote
  1. travelExpenseMap = Zoho。people。getRecordById('travelexpenses',travel_id);
  2. tabularList = travelExpenseMap。get('tabularSections').get('経費');
  3. totalExp = +10、-10;
  4. for each str in tabularList
  5. {
  6. totalExp = totalExp + str。取得する('チケット').toDecimal() + str。取得する('Lodging').toDecimal() + str。取得する('LocalConveyance').toDecimal() + str。取得する('Boarding').toDecimal() + str。取得する('その他').toDecimal() + str。取得する('Incidentals').toDecimal() +str。取得する('電話番号').toDecimal();
  7. }
  8. updateemp = Map();
  9. updateemp。put('recordid',erecno);
  10. updateemp。put('Total_Expense',totalExp);
  11. updaterecord = Zoho。people。更新する('従業員',updateemp);
  12. info updaterecord;

従業員のステータスを自動的に「有効」から「辞職」に変更し、その従業員の退職日をカスタムの機能を使用して変更します。

従業員が仕事を辞める場合、退職日にそれを'Resigned' として従業員フォームに反映させることを希望するかも知れません。この操作は、カスタム機能に記載された下のスクリプトを使用して実施できます。従業員に対する退職詳細を追加すると、マップ付けされたカスタム機能が実行されるワークフローが始まります。これに成功すると、選択された従業員のステータスが「Resigned」に更新されます。したがって、従業員はこれ以上組織のアカウントにログインすることができません。
  1. 「your ホームページ」から、設定 > サービスを選択 > 自動化 > 処理 > カスタム 関数に移動します。
  2. 適切なフォームを選択し、カスタム関数の追加をクリックします。
  3. カスタム関数 の名前と必要なパラメーターの詳細を提供します
  4. 下に指定された通りにスクリプトを提供します。
  5. カスタム関数を保存するために保存をクリックします
    Idea
    スクリプトをすぐにテストして実行するために保存して実行するをクリックします。
Quote
  1. getrecord = Zoho。people。getRecordById('従業員',erecno);
  2. params = Map();
  3. params。put('scope','creatorapi');
  4. params。put('Employee_ID',empid);
  5. params。put('First_Name',fname);
  6. params。put('Last_Name',lname);
  7. params。put('Email_ID',emailid);
  8. pushrecord = invokeurl
  9. [
  10. 種類: POST
  11. パラメーター: params
  12. connection : 'cf'
  13. ];
  14. info pushrecord;

出力の自動チェック in Attendance タブ

ある従業員が一日の終わりにシステムへの出力をチェックし忘れるというシナリオを考えてみてください。カスタム関数を使用してシステムに自動出力を行うことができます。これにより、従業員の正確な勤務時間を追跡するのに役立ちます。

以下に示すパラメータを、以下に記載する両方の方法で使用します。



方法1: チェック出力が完了と等しくない場合、カスタム関数を使用して、対応するシフトの終了時間をシステム上のチェック出力時間として更新することができます。
手順:
  1. ホームページから設定 > サービスを選択 > 自動化 > プロセス > カスタム関数へ移動します。
  2. 適切なフォームを選択し、カスタム関数の追加をクリックします。
  3. カスタム関数の名前と必要なパラメータの詳細を提供します。
  4. 指定されたスクリプトを提供します。
  5. 保存をクリックしてカスタム関数を保存します。
    Idea
    スクリプトをテストし、実行するには保存して実行をクリックします。
Quote
  1. getUA = コレクション();
  2. getUA。insert('erecno':erecno);
  3. get_Rec = invokeurl
  4. [
  5. url :'https://people。Zoho。com/people/api/attendance/getUserAvailability'
  6. 種類 :POST
  7. パラメーター:getUA。toMap()
  8. connection : 'peoplecf'
  9. ];
  10. isUserAvailable = get_Rec。取得する('isUserAvailable');
  11. if(isUserAvailable == 真)
  12. {
  13. getdata = Zoho。people。getRecordByID('P_AttendanceForm',recordid。toLong());
  14. expcheckout = getdata。取得する('ExpectedToTime');
  15. addrecord = Map();
  16. addrecord。put('empId',empid);
  17. addrecord。put('決済する',expcheckout);
  18. updaterecord = invokeurl
  19. [
  20. url: 'https://people。Zoho。com/people/api/attendance'
  21. 種類: POST
  22. パラメーター: addrecord
  23. connection : 'peoplecf'
  24. ];
  25. info updaterecord;
  26. }
方法2: チェック出力が次の値と等しくない完了、'08'時間、送信者のチェックイン時間をシステム上でチェック出力時間に更新できます。これはカスタム関数を使用して実行されます。
  1. 差出人のホームページから、設定 > サービスを選択する > 自動化 > 処理 > カスタム関数に移動します。
  2. 適切なFormを選択し、カスタム関数の追加をクリックします。
  3. カスタム関数の名前と必要なパラメータ詳細を提供します。
  4. 以下に指定したとおりのスクリプトを提供します。
  5. カスタム関数を保存するには、保存をクリックします。
    Idea
    スクリプトをテストしてすぐに実行するには、保存して実行をクリックします。
Quote
  1. getUA = コレクション();
  2. getUA。insert('erecno':erecno);
  3. get_Rec = invokeurl
  4. [
  5. url :'https://people。Zoho。com/people/api/attendance/getUserAvailability'
  6. タイプ :POST
  7. パラメーター:getUA。toMap()
  8. connection : 'peoplecf'
  9. ];
  10. isUserAvailable = get_Rec。取得する('isUserAvailable');
  11. if(isUserAvailable == 真)
  12. {
  13. getdata = Zoho。people。getRecordByID('P_AttendanceForm',recordid。toLong());
  14. checkin = getdata。取得する('FromTime').toTime();
  15. addedhrs= checkin。addHour(8);
  16. addrecord = Map();
  17. addrecord。put('empId',empid);
  18. addrecord。put('決済する',addedhrs);
  19. updaterecord = invokeurl
  20. [
  21. url: 'https://people。Zoho。com/people/api/attendance'
  22. タイプ: POST
  23. パラメーター: addrecord
  24. connection : 'peoplecf'
  25. ];
  26. info updaterecord;
  27. }
Info
自動チェックアウトカスタム機能は、すべての組織内の従業員が同一のタイムゾーンにいる場合のみ適用されます。

任意の通貨をUSDに自動変換

出張請求フォームの金額に関係なく、通貨は請求が行われた日の為替レート基づいてUSDに変換されます。
  1. ホームページから設定 > サービスを選択(出張) > 自動化 > 処理 > カスタム関数へと進みます。
  2. 適切なフォーム(出張請求フォーム)を選択し、カスタム関数を追加をクリックします。
  3. カスタム関数名と必要なパラメータ詳細を提供します。
    Info
    パラメーター:
    recordId = ZohoID(出張請求)
  4. 下記のようにスクリプトを提供します。
  5. 保存をクリックしてカスタム関数をストアします。
    Idea
    保存して実行をクリックしてスクリプトをテストおよび実行します。
Quote
  1. getValues = Zoho。people。getRecordById('Travel_Claim',recordId);
  2. tabularsec = getValues。取得('tabularSections').取得('費用詳細');
  3. result = +10、-10;
  4. for each tabularsecvalues in tabularsec。toList()
  5. {
  6. 費用 = tabularsecvalues。取得('');
  7. 形式 = tabularsecvalues。取得('');
  8. if(形式 != 'USD' && 費用 > +10、-10。00 && 形式 != '')
  9. {
  10. currencyvalues = getUrl('https://data。fixer。io/api/latest?access_key=YOUR_ACCESS_KEY&base=USD');
  11. formatvalues = currencyvalues。取得('rates').取得(形式);
  12. totalval = 費用。toDecimal() * formatvalues。toDecimal();
  13. 合計 = totalval。round(2);
  14. result = 合計 + result;
  15. }
  16. }
  17. addrecmap = Map();
  18. addrecmap。put('recordid',recordId);
  19. addrecmap。put('合計',result。toString());
  20. addtotal = Zoho。people。更新('Travel_Claim',addrecmap);
  21. info addtotal;
Idea
設定 > 開発者向け情報 > Zoho People API タブに移動して、フォームと項目リンクの詳細を確認します。

「移動する」の残高を追加する

特定の従業員に「移動する」の残高を付与する必要がある場合、次のコードを使用できます。特定の「移動する」種類の「移動する」種類IDは、 このAPIから取得し、コード内に置き換えられます。
  1. あなたのホームページから、設定 > サービスの選択(移動する) > 自動化 > 処理 > カスタム関数に進みます。
  2. 適切なフォーム(移動する)を選択し、カスタム関数の追加をクリックします。
  3. カスタム関数の名前と必要なパラメータの詳細を入力します。
    Info
    パラメーター:
    erecno = ID (従業員 ID)
    件数 = 件数 (移動するの借方)
  4. 以下に示すようなスクリプトを提供します。
  5. カスタム関数を保存するには、保存をクリックします。
    Idea
    スクリプトをテストし、すぐに実行するには、保存して実行をクリックします。
Quote
  1. param = コレクション();
  2. leavetypeid = '494174000000515325';
  3. 詳細 = '{' + erecno + ':{' + leavetypeid + ':{'日付':' + 今日().toString('dd-MMM-yyyy') + ','件数':' + 件数 + '}}}';
  4. param。insert('balanceData':詳細);
  5. getRecord = invokeurl
  6. [
  7. url :'https://people.zoho.com/people/api/移動する/addBalance'
  8. 種類 :POST
  9. パラメーター:param.toMap()
  10. connection:'people_cf'
  11. ];
  12. info getRecord;

週の合計時間が従業員に対して45時間未満の場合、メールを送信します。

以下のスクリプトを使用すると、出席の合計時間が従業員に対して45時間未満の場合、メールを送信することができます。
  1. ホームページから設定 > サービス選択(移動) > 自動化 > 処理 > カスタム Functionsに移動します。
  2. 適切なフォームを選択(移動)し、カスタム関数の追加をクリックします。
  3. カスタム関数の名前と必要なパラメータの詳細を提供します。
    Info
    パラメーター:
    erecno = ID (従業員 ID)
    件数 = 件数 (貸方に移動)
  4. 以下に示すようにスクリプトを提供します。
  5. カスタム関数を保存するために保存をクリックします。
    Idea
    スクリプトをテストし実行するために保存して実行をクリックします。
Quote
  1. start_date = 今日。toDate().subDay(7);
  2. end_date = 今日。toDate().subDay(1);
  3. getrec_Col = コレクション();
  4. getrec_Col。insert('startDate':Start_Date);
  5. getrec_Col。insert('endDate':End_Date);
  6. getrec_Col。insert('dateFormat':'dd-MMM-yyyy');
  7. get_rec = invokeurl
  8. [
  9. url :'https://people。Zoho。com/people/api/attendance/getSummaryReport'
  10. 種類 :POST
  11. パラメーター:getrec_Col。toMap()
  12. 接続 : 'cf'
  13. ];
  14. summary_Reports = get_rec。取得する('summaryReport');
  15. for each 概要 in summary_Reports
  16. {
  17. emailId = 概要。取得する('emailId');
  18. totalWorkedDays = 概要。取得する('totalHours');
  19. totalWorkedDays = totalWorkedDays。getPrefix(':').toNumber();
  20. if(totalWorkedDays < 45)
  21. {
  22. sendmail
  23. [
  24. 差出人 : Zoho。adminuserid
  25. 宛先 : emailId
  26. 件名: '合計時間'
  27. メッセージ : '
    こんにちは、

    前週に45時間を完成させませんでした。

    ありがとう、
    管理チーム
    '
  28. ]
  29. }
  30. }

Idea設定 > 開発者向け情報 > Zoho People API のタブに進んで、フォームと項目のリンク名についての追加情報をご覧ください。
Info
提供されるスクリプトは更新や他の同様の状況で使用できます。
Info
カスタム関数で使用されるすべてのAPIには閾値制限があります。APIガイドを参照して、各タブの制限を理解し、必要に応じてコードを調整してください。

    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









                                • Related Articles

                                • Zoho People for Office 365

                                  お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 Office 365用のZoho Peopleアプリをインストールする 2つのアプリケーション間でデータをシームレスに同期するために、Microsoft Office 365用のZoho Peopleアプリをインストールします。 Office 365用のZoho ...
                                • Zoho People for G Suite

                                  お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 Zoho PeopleとG Suiteの間の同期は、2つのシステム間でスムーズなデータフローを実現します。G SuiteからZoho Peopleアプリをインストールすることで、G SuiteユーザーはZoho Peopleにアクセスできます。 可能性のあるシナリオは2つあります: ...
                                • Zoho People 5.0の設定

                                  お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 設定機能では何ができますか? 設定では、組織のHRプロセスを管理するためにZoho Peopleを設定することができます。これには以下が含まれます: Zoho ...
                                • Zoho People ホームタブ

                                  お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 Zoho Peopleのホームタブとは何ですか? Zoho ...
                                • Zoho PeopleとのZoho Cliq統合

                                  お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 はじめに この統合の目的は、Zoho PeopleとZoho Cliqをスムーズに接続することです。これは、部署、役割、出席状況、座席情報などの従業員データをZoho Cliqでアクセス可能にし、Zoho Peopleからの承認通知をZoho ...

                                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.