独自のスケジュール処理

独自のスケジュール処理

目的

独自の関数を使用すると、業務で頻繁に利用する処理をカスタマイズできます。これにより、業務効率を高めると同時に、時間を節約できます。独自のスケジュール処理は、独自の関数機能の一部です。この機能を使用すると、独自の関数を指定した日時に自動的に実行できます。独自の関数は、ワークフローの処理に基づいて実行されます。独自のスケジュール処理は、単体で実行可能です(ワークフローを設定する必要はありません)。 


独自のスケジュール処理については、以下の動画をご参照ください。


独自のスケジュール処理の設定方法

  1. ホーム画面から設定アイコン→[従業員情報]→[自動化]→[スケジュール処理]→[独自のスケジュール処理]→[独自のスケジュール処理を追加する]の順に移動します。
  2. [独自のスケジュール処理を追加する]をクリックします。
  3. [独自のスケジュール処理名]を入力し、説明を追加します。
  4. [開始日時]を指定します。
  5. [頻度]を設定します。
  6. [タイムゾーン]で該当するタイムゾーンを選択します。
  7. [独自の関数のエディター]で、該当するスクリプトを更新します。



  8. [保存する]をクリックします。
メモ
頻度を[毎週]に設定した場合は、実行する曜日をドロップダウンから選択できます。頻度を[毎月]に設定した場合は実行する日付を、[毎年]に設定した場合は月と日付を選択できます。

利用例 - 給与明細書の自動更新

たとえば、毎月27日に健康保険料や立替経費精算などの項目に基づいて給与明細書を更新する必要があるとします。この場合、スケジュール処理を設定することで、指定した日付に複数のフォームから該当データを自動取得し、給与明細書を自動更新できます。
独自のスケジュール処理を作成するには、以下の手順を実行します。
メモ
この機能を使用するには、スクリプトで使用するフォームと項目がアカウント内に用意されている必要があります。
  1. ホーム画面から、[歯車](設定)アイコン→[従業員情報]→[自動化]→[スケジュール処理]→[独自のスケジュール処理]→[独自のスケジュール処理を追加する]の順に移動します。
  2. [スケジュール処理]に「立替経費精算の詳細」という名前を入力し、説明を追加します。
  3. [開始日時]を「27日」に設定します。
  4. [時間]で実行時刻を指定します。
  5. [頻度]で[毎月]を選択し、[日付]に「27日」を指定します。
  6. [独自の関数のエディター]で、以下のスクリプトを貼り付けます。

    Quote
    salarydetails = Map();
    salarydetails = zoho.people.getRecordById("Salary_reference",recordid);
    tabularmap = Map();
    tabularmap = salarydetails.get("tabularSections");
    tabularlist = List();
    tabularlist = tabularmap.get("Breakup details");
    salarymap = Map();
    Totalsalary = 0;
    for each r in tabularlist
    {
    salarymap = r.toMap();
    Totalalary = salarymap.get("HRA1").toDecimal()+ salarymap.get("Other_Allowance1").toDecimal()+ salarymap.get("Medical1").toDecimal()+ salarymap.get("Basic1").toDecimal();
    }
    salaryupdate = Map();
    salaryvalue = Map();
    salaryvalue.put("recordid",recordid);
    salaryvalue.put("Net_Salary",Totalsalary.toString());
    salaryvalue.put("Revised_date",today.toString());
    salaryupdate = zoho.people.update("Salary_reference",salaryvalue);
    info salaryupdate;
    こちらの関数によって、給与参照用フォームのデータをもとに、給与明細書が更新されます。

    Quote
    getdata = List();
    getdata = zoho.people.getRecords("Salary_reference");
    addata = Map();
    addrecord = Map();
    こちらのスクリプトでは、指定した日付ですべてのデータが順に処理され、給与明細書が更新されます。

    Quote
    for each r in getdata
    {
    mon_salary = r.get("Net_Salary");
    erecno = r.get("Employee_ID.ID");
    addata.put("Employee_ID",erecno);
    addata.put("Montly_Salary",mon_salary);
    addata.put("Date_1",today.toString());
    addrecord = zoho.people.create("Monthly_Salary_Details",addata);
    }
    putrecord = Map();
    updaterecord = Map();
    putrecord.put("recordid",recordid);putrecord.put("Sch_date",datevalue.toString());
    updaterecord = zoho.people.update("Schedular_form",putrecord);
    info updaterecord;

  7. [保存する]をクリックします。
スケジュール処理を作成すると、毎月27日に処理が自動で実行され、他のフォームのデータに基づいて給与明細書が更新されます。