ZIPファイルの解凍と抽出ファイルのメール送信方法

ZIPファイルの解凍と抽出ファイルのメール送信方法

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

要件  

Deluge を使用して ZIP ファイルから給与明細を抽出し、抽出したファイルを ボタンをクリックするだけで メール送信できるようにします。

ユースケース  

人事管理アプリケーションには、次の 3 つのフォームがあります。 従業員の追加 従業員給与明細 および 自分の給与明細をダウンロード です。「 従業員の追加 」フォームでは、すべての従業員の権限を管理します。「 従業員給与明細 」フォームは、 すべての従業員の給与明細を保存するために使用します。毎年末に、人事担当者(管理者)は、すべての従業員の給与明細を ZIP ファイルとして「 従業員給与明細 」フォームにアップロードします。このフォームにアクセスできるのは管理者のみです。ただし、従業員は「 自分の給与明細をダウンロード 」というステートレスフォームを使用して、自分の給与明細を取得できます。従業員がこのフォームから給与明細をリクエストすると、選択した年の ZIP ファイル(従業員給与明細フォームに保存)から、選択した月の給与明細が抽出され、従業員のメールアドレス宛てにメールで送信されます。
 

手順  

1. 次の 2 つのフォームを作成します (詳細は以下のとおり)。
フォーム
フォームリンク名
項目名
項目リンク名
項目タイプ
従業員を追加
Add_Employee
会社メールアドレス
Official_Email
メール
従業員 ID
Employee_ID
数値
このユースケースでは、上記の項目のみが必要です。必要に応じて、任意の数の項目を追加できます。
従業員給与明細
Employee_Payslip
従業員メールアドレス
Employee_Email
メール
 
 
給与明細
  • 給与明細 ZIP コード
Payslips
  • Year_field
  • Payslip_ZIP
サブフォーム
  • 数値
  • ファイルアップロード
My Payslip をダウンロード ( ステートレスフォーム )
Download_My_Payslip
従業員 ID
Employee_ID
ルックアップ (Add_Employee)
年を入力
Enter_Year
数値
月を選択
Select_Month
ドロップダウン
 
アプリケーション内にフォームで入力されたデータを保存する必要がないため、 My Payslip をダウンロード フォームはステートレスとして作成しています。
ステートレスフォームを 作成する には、まず 通常のフォーム  を作成し、必須項目を設定してから、「Zoho Creator にデータを保存する」のチェックボックスをオフにしてフォームを複製します。
 
2. ステートレスフォーム「 My Payslip をダウンロード 」内で、既定の 送信 ボタンと リセット ボタンを削除し、「 Payslip を取得 」という名前のボタンを追加します。必要に応じて、 リセット ボタンを残すこともできます。
 
3. フォームワークフローを作成  し、次の詳細を設定します。

4. 次のスクリプトを Deluge エディターに保存します。
  1. // 項目を無効にする
  2. 無効にする Employee_ID;

  3. // Add_Employee フォームで、ログイン中の従業員のデータ ID を Employee_ID ルックアップ項目に代入する
  4. input。Employee_ID = Add_Employee[Official_Email == Zoho。loginuserid].ID;

5. Zoho Creator サービスへの 接続 を作成し、名前を「creator_oauth_connection」とします。この接続は、 手順 7  の Deluge スクリプト内でファイルをダウンロードするために使用されます。
 
6. 別のフォームワークフローを作成 し、次の詳細を設定します。
 
7. 新しいアクションを追加 ]をクリックし、[Deluge スクリプト]を選択します。次の Deluge スクリプト を Deluge エディターに保存します。
  1. // ログイン中の従業員の Employee_Payslip フォームの従業員データを取得します
  2. empRecord = Employee_Payslip[Employee_Email == Zoho。loginuserid];

  3. // 従業員の給与明細を ZIP ファイルとして保持しているサブフォームをループ処理します
  4. for each subformRow in empRecord。Payslips
  5. {

  6. // リクエストされた年の給与明細 ZIP ファイルを保持しているサブフォーム行を特定します
  7. if(subformRow。Year_field == Enter_Year)
  8. {

  9. // Zoho Creator V2 API を使用して、リクエストされた年の給与明細 ZIP ファイルをダウンロードします
  10. // <app_admin_name> と <application_link_name> を適切な値に置き換えてください
  11. zip_file = invokeurl
  12. [
  13. url :' https://creator.zoho.com/api/v2/<app_admin_name>/<application_link_name>/report/All_Employee_Payslips/' + empRecord。ID + '/Payslips.Payslip_ZIP/' + subformRow。ID + '/download'
  14. 種類 :取得する
  15. connection:'creator_oauth_connection'
  16. ];

  17. // ZIP ファイルを展開して、各月の給与明細を含む PDF ファイルを取得します
  18. extractedFiles = zip_file。extract();

  19. // 展開されたファイルは、キーがファイル名、値が対応する PDF ファイルの Map として返されます
  20. // PDF ファイル名が EmployeeID-Month-Year。pdf という形式で保存されていると仮定し、リクエストされた給与明細のファイル名を作成します
  21. fileName = input。Employee_ID。Employee_ID + '-' + input。Select_Month + '-' + input。Enter_Year + '.pdf';

  22. /展開されたファイルから、必要な給与明細を取得します
  23. requestedFile = extractedFiles。取得する(fileName);

  24. // リクエストされた給与明細をメールで送信します
  25. sendmail
  26. [
  27. 差出人 :Zoho。adminuserid
  28. to :Zoho。loginuserid
  29. 件名 :'Payslip' + '-' + input。Select_Month + ' ' + input。Enter_Year
  30. メッセージ :'ご依頼の給与明細を添付ファイルでお送りします。'
  31. 添付ファイル :file:requestedFile
  32. ]

  33. // 通知メッセージを表示します
  34. 注意 'リクエストされた給与明細をメールで送信しました。';
  35. }
  36. }

動作を確認する

注意事項  

  • このチュートリアルで提供している Deluge スクリプトは、1 年分の各月に対応する 12 個の PDF ファイルを含む ZIP ファイル専用です。スクリプトを想定どおりに動作させるには、PDF ファイルのファイル名を次の形式にする必要があります: <employeeID>-<month>-<year>.pdf

    例: 2406-January-2020

    提供している Deluge スクリプトが動作するサンプルファイルについては、添付ファイルを確認してください。  


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

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

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

    Zoho CRM Training



              Zoho Campaigns Resources

                Zoho WorkDrive Resources




                  • Desk Community Learning Series


                  • Digest


                  • Functions


                  • Meetups


                  • Kbase


                  • Resources


                  • Glossary


                  • Desk Marketplace


                  • MVP Corner


                  • Word of the Day


                  • Ask the Experts









                                  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.