目次

目的

自社の業務プロセスにあわせたデータの処理を独自の関数として設定し、ワークフローに関連付けて実行できます(カスタム関数)。カスタム関数の自動実行のスケジュールを設定することもできます。定期処理を設定すると、指定した時間にカスタム関数を自動で実行できます。ワークフローに関連付けなくてもカスタム関数を実行可能です。

独自の定期処理を設定するには

  • ホーム画面から、設定(歯車のアイコン) > 自動化 > 独自の定期処理 > 定期処理の追加に移動してください。
  • 名前を入力してください。
  • 開始日時を入力してください。
  • 頻度を設定してください。
  • タイムゾーンを選択してください。
  • カスタム関数の編集画面で、スクリプトを入力してください。

  • 保存をクリックしてください。

メモ:頻度を毎週とした場合、曜日を選択できます。頻度を毎月や毎年とした場合、日付を選択できます。

利用例 - 給与計算

給与マスター、及び、当月の各種手当や経費のデータを用いて、毎月25日に給与計算を行うとします。このような場合に、複数のフォームのデータを取得して計算処理を行ったうえで給与の詳細データを追加・更新する処理を自動化できます。

次の手順にしたがってください。

メモ:以下のスクリプトは利用例で、実際のアカウントで利用する場合は、スクリプトに合わせてフォームを作成/編集するか、スクリプトを自社の環境に合わせて変更する必要があります。

  • ホーム画面から、設定(歯車のアイコン) > 自動化 > 独自の定期処理 > 定期処理の追加に移動してください。
  • 名前を入力してください(例:経費精算の詳細)。
  • 開始日に、開始する月の25日の日付を選択してください。
  • 時刻を入力してください。
  • 頻度の欄で毎月を選択し、日付 の欄で「25」と選択してください。
  • カスタム関数の編集画面で、以下のスクリプトを入力してください。

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();

Totalsalary = 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;

 

//この処理により、給与マスターのフォームを参照して、給与の明細データが追加されます。

getdata = List();

getdata = zoho.people.getRecords("Salary_reference");

addata = Map();

addrecord = Map();

//それぞれのデータを参照し、当月の給与明細のデータを作成します。

 

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;

  • 保存をクリックしてください。

設定後、毎月25日に処理が自動で実行され、給与に関連するフォームのデータをもとに給与が計算され、給与明細のデータが追加されます。