Wyodrębnij zawartość pliku ZIP i wyślij e-mailem rozpakowane pliki

Wyodrębnij zawartość pliku ZIP i wyślij e-mailem rozpakowane pliki

Wymóg  

Użyj Deluge, aby wyodrębnić plik ZIP i wysłać go pocztą e-mail jednym kliknięciem.

Przypadek użycia  

Aplikacja do zarządzania zasobami ludzkimi zawiera trzy formularze: Dodaj pracownika , Employee Payslips i Download My Payslips . Formularz Dodaj pracownika przechowuje profile wszystkich pracowników. Formularz Employee Payslips służy do przechowywania pasków płacowych wszystkich pracowników. Pod koniec każdego roku HR (administrator) przesyła odcinki wypłat wszystkich pracowników jako pliki zip do formularza Odcinki wypłat dla pracowników. Ten formularz jest dostępny tylko dla administratora. Pracownicy mogą jednak otrzymać odcinki wypłaty za pomocą bezpaństwowego formularza Pobierz moje odcinki wypłaty. Gdy pracownik poprosi o odcinek wypłaty za pomocą formularza, odcinek wypłaty z wybranego miesiąca zostanie wyodrębniony z pliku zip z wybranego roku (przechowywany w formularzu Odcinki wypłaty pracownika) i wysłany jako wiadomość e-mail na adres e-mail pracownika.
 

Kroki do naśladowania  

1. Utwórz dwa formularze z następującymi szczegółami.
Formularz
Nazwa łącza formularza
Nazwa pola
Nazwa łącza pola
Typ pola
Dodaj Pracownika
Dodaj_Pracownika
Oficjalny e-mail
Oficjalny e-mail
Email
ID pracownika
Pracownik_ID
Numer
Ten przypadek użycia wymaga tylko wyżej wymienionych pól. Możesz dołączyć tyle pól, ile jest to wymagane.
Odcinek wypłaty pracownika
Employee_Payslip
E-mail pracownika
E-mail pracownika
Email
 
 
Odcinki wypłaty
  • Rok
  • Kod pocztowy odcinka wypłaty
Odcinki wypłaty
  • Pole_Rok
  • Kod pocztowy odcinka wypłaty
Podformularz
  • Numer
  • Udostępnianie pliku
Pobierz mój odcinek wypłaty (formularz bezstanowy)
Pobierz_My_Payslip
ID pracownika
Pracownik_ID
Wyszukiwanie (Dodaj_Pracownika)
Wprowadź rok
Wprowadź rok
Numer
Wybierz miesiąc
Wybierz_miesiąc
Upuścić
( importuj wstępnie zdefiniowane opcje dla miesięcy roku )
 
Stworzyliśmy formularz Pobierz mój odcinek wypłaty jako bezpaństwowy, ponieważ nie wymagamy, aby dane podane w formularzu były przechowywane w aplikacji.
Aby utworzyć formularz bezstanowy, musisz utworzyć zwykły formularz z wymaganymi polami i zduplikować formularz z odznaczonym polem „Dane będą przechowywane w Kreatorze Zoho”.
 
2. Usuń przyciski Prześlij i Resetuj domyślne i dodaj przycisk o nazwie Pobierz odcinek wypłaty w bezstanowym formularzu Pobierz mój odcinek wypłaty. W razie potrzeby możesz także zachować przycisk Reset .
 
3.  Utwórz przepływ pracy z następującymi szczegółami.

4. Zapisz następujący skrypt w Edytorze Deluge:
  1. // Disable field
  2. disable Employee_ID;

  3. // Assign the record ID of the logged in employee's record in Add_Employee form to the Employee_ID lookup field
  4. input.Employee_ID = Add_Employee[Official_Email == zoho.loginuserid].ID;

5. Utwórz połączenie z usługą Zoho Creator o nazwie „creator_oauth_connection”. To połączenie zostanie użyte w skrypcie Deluge w kroku 7 do pobrania pliku.
 
6.  Utwórz kolejny przepływ pracy z następującymi szczegółami.
 
7.  Kliknij Dodaj nową akcję i wybierz Skrypt Deluge. Zapisz następujący skrypt Deluge w edytorze Deluge:
  1. // Fetch employee record of the logged in employee from Employee_Payslip Form
  2. empRecord = Employee_Payslip[Employee_Email == zoho.loginuserid];

  3. //Iterate through the subform that holds employee's payslips as zip files 
  4. for each subformRow in empRecord.Payslips
  5. {

  6.  //Find the subform row that holds the payslip zip file of the requested year
  7.  if(subformRow.Year_field == Enter_Year)
  8.  {

  9. //Download the requested year's payslip zip file using Zoho Creator V2 API
  10. //Replace <app_admin_name> and <application_link_name> with appropriate values
  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. type :GET
  15. connection:"creator_oauth_connection"
  16. ];

  17. // Extract the zip file to get pdf files containing payslip of individual months
  18. extractedFiles = zip_file.extract();

  19. //The extracted files are returned as Map in which the keys are file name and values are their corresponding pdf file
  20. //Assuming the file names are stored in the format EmployeeID-Month-Year.pdf, construct file name of the requested payslip
  21. fileName = input.Employee_ID.Employee_ID + "-" + input.Select_Month + "-" + input.Enter_Year + ".pdf";

  22. /Get the required payslip from the extracted file
  23. requestedFile = extractedFiles.get(fileName);

  24. //Send the requested payslip as mail
  25. sendmail
  26. [
  27.  from :zoho.adminuserid
  28.  to :zoho.loginuserid
  29.  subject :"Payslip" + "-" + input.Select_Month + " " + input.Enter_Year
  30.  message :"Please find your requested payslip in the attachments"
  31.  Attachments :file:requestedFile
  32. ]

  33. //Display an acknowledgement message
  34. alert "The requested payslip has been sent as email";
  35.  }

Zobacz jak to działa

Punkty do zapamiętania  

  • Skrypt Deluge dostarczony w tym samouczku jest specyficzny dla plików ZIP, które zawierają po 12 plików PDF, z których każdy odpowiada miesiącom w roku. Aby skrypt działał zgodnie z oczekiwaniami, nazwy plików PDF muszą być w formacie<employeeID>-<month>-<year>.pdf .

    Example: 2406-January-2020

    Proszę sprawdzić w załącznikach przykładowy plik, na którym działa dostarczony skrypt Deluge. 

    • Related Articles

    • Wstaw rekordy przez e-mail

      Wymóg Po odebraniu wiadomości e-mail treść z wiadomości e-mail jest wyodrębniana i używana do tworzenia rekordów. Przypadek użycia Zespół HR wysyła e-mail do wybranych kandydatów. Kandydaci mogą odpowiedzieć na wiadomość e-mail, podając szczegóły, ...
    • Pliki pracowników

      Akta pracownicze Każdy pracownik działu HR będzie musiał mieć dużo do czynienia z wrażliwymi plikami zawierającymi kluczowe informacje dotyczące pracowników. Takie dokumenty zawierające wrażliwe informacje oraz pliki specyficzne dla pracowników mogą ...
    • Zarządzanie pocztą e-mail

      Jako rekruter e-maile są niezbędne do nawiązania kontaktu z kandydatami i kontaktami. Zoho Recruit pomaga pisać bardziej zaawansowane i spersonalizowane wiadomości e-mail oraz automatyzować je zgodnie z Twoimi wymaganiami. Wysyłaj i zarządzaj ...
    • Konfiguracja kanału e-mail

      E-maile są najczęściej używanym i niezbędnym sposobem komunikacji dla Twoich klientów, aby przesyłać bilety do Twojego Zoho Desk. Wiadomości e-mail otrzymywane od klientów są konwertowane na bilety i przypisywane są im unikalny identyfikator biletu. ...
    • Sprawdź typ przesłanego pliku

      Wymóg Zezwalaj tylko polu przesyłania pliku na akceptowanie typów plików PDF, XLS lub XLXS. Wyświetlaj komunikat ostrzegawczy w przypadku wykrycia innego typu pliku. Przypadek użycia Aplikacja dla restauracji zawiera formularz do przechowywania ...