従業員ダッシュボードの構築

従業員ダッシュボードの構築

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

要件  

従業員がチェックインやチェックアウト、合計ログイン時間の確認、異動の申請ができるボタン付きの従業員ダッシュボードを作成します。

利用ケース  

従業員管理アプリケーションには、従業員用ダッシュボードがあります。従業員がログインすると、そのチェックイン時間が記録されます。同様に、ログオフ時にはチェックアウト時間が記録されます。これにより、合計勤務時間が自動的に計算されます。このダッシュボードでは、従業員が異動の申請も行えます。
 

手順  

1. フォームの作成 以下の詳細で作成します。
フォーム
フォームリンク名
項目種類
項目名
項目リンク名
追加する 従業員
Add_Employee
氏名
氏名
氏名
メールアドレス
Official メールアドレス
Official_Email
電話番号
電話番号
Phone_Number
Check In 出力詳細を追加
 
Check In/Out 詳細を追加
検索(従業員追加)
従業員
従業員
日付・時刻
Check In
Check In
日付・時刻
Check Out
Check Out
Single 折れ線グラフ
合計時間
Total_Hours
適用する 移動する
 
 
 
 
休日
Apply_Leave
 
 
 
 
休日
Lookup (Add_Employee)
従業員
従業員
Single 折れ線グラフ
移動する 種類
Leave_Type
日付-時間
差出人
差出人
日付-時間
宛先
宛先
Single 折れ線グラフ
休日名
Holiday_Name
日付
日付
Date_field
 
始める前に、「追加する 従業員」フォームおよび「Holidays」フォームにいくつかのデータを追加しましょう。
 
従業員ダッシュボードには「適用する 移動する」「確認中 in」「確認中 出力」のボタンがあり、それぞれの処理が実行されます。これらの操作を一つずつ見ていきます。まずは「適用する 移動する」操作から始めます。
 
「適用する 移動する」フォームの「追加する 従業員」項目には、現在ログインしているユーザーを自動で入力し、その項目を無効化してユーザーが変更できないようにします。これを実現するワークフローを作成します。
 
2. ワークフローの作成 「適用する 移動する」フォームの読み込み時に実行されるよう設定し、「追加する 従業員」項目にログインユーザーのメールアドレスを自動入力し、その項目を無効化します。
 
3. 「新しく追加する 操作」をクリックし、開いたDelugeエディタに下記のコードを追加してください:
  1. //ログインするユーザー メールアドレスでAdd_EmployeeデータのIDを検索
  2. input.従業員=Add_Employee[Official_Email==Zoho.loginuserid].ID;

  3. //追加する従業員項目を無効にする
  4. 無効にする 従業員;
次に、確認中と出力のための関数を作成します。
 
4. 関数を作成 し、従業員のチェックインを行います。
 
5. 下記のコードをDelugeエディタに追加してください:
  1. 無効 checkIn()
  2. {
  3. //ログイン中の従業員データIDを取得
  4. 従業員 = Add_Employee[Official_Email == Zoho.loginuserid];

  5. //従業員がすでにチェックインしているか確認します。Check_In の判定条件「今日」は、Check_In 日付-時間項目の日付が当日(その日)であるかを確認するために使用します。
  6. alreadyCheckedIn = Add_Check_In_Out_Details[従業員 == 従業員.ID && Check_In is 今日];
  7. //チェックインがない場合のみデータを挿入
  8. if(alreadyCheckedIn.件数() == +10、-10)
  9. {
  10. insert into Add_Check_In_Out_Details
  11. [
  12. Added_User=Zoho.loginuser
  13. 従業員=従業員.ID
  14. Check_In=Zoho.currenttime
  15. ]
  16. }
  17. }

6. 同様に、 関数を作成 して従業員の出力を確認します。
 
7. 下記のコードをDelugeエディタに追加します。
  1. 無効 決済する()
  2. {
  3. //ログイン中の従業員のデータIDを取得
  4. 従業員 = Add_Employee[Official_Email == Zoho.loginuserid].ID;

  5. //従業員の本日チェックイン済みデータをAdd_Check_In_Out_Detailsから取得
  6. current_day_entry = Add_Check_In_Out_Details[従業員 == 従業員 && Check_In is 今日];

  7. //チェックアウト値を割り当て
  8. current_day_entry。Check_Out=Zoho.currenttime;

  9. //タイムスタンプから合計勤務時間を計算
  10. 時間 = (current_day_entry。Check_Out - current_day_entry。Check_In);
  11. 秒 = 時間 / 1000;
  12. 分 = 秒 / 60;
  13. 時間 = 分 / 60;
  14. h = 時間.floor();
  15. m = 分 - h * 60;
  16. mins = m。floor();
  17. if(mins < 10)
  18. {
  19. mins = '+10、-10' + mins;
  20. }

  21. //合計勤務時間を設定
  22. current_day_entry。Total_Hours=h + ':' + mins + ' 時間';
  23. }

すべての機能が完了したので、ダッシュボードの作成に進みましょう。
 
8. ページを作成  し、 ダッシュボード という名前を付けます。次に、 ZMLスニペット HTMLスニペット をドラッグして追加します。

以下のスニペットを1つの動作するスクリプトとしてまとめたファイルについては、添付ファイルをご確認ください。
分かりやすくするため、ZML/HTMLコードはスニペットに分割しています。各スニペットの説明を行い、その後ZML/HTMLエディタへ挿入するために適切に配置します。
 
まずは ZMLスニペット から始めます。ここには以下のボタンが含まれます: 適用する 移動する Check In および Check 出力 です。
 
スニペットa
従業員の名前は タグを使って表示します。


  1. //ログインしている従業員の名前を表示
  2.  
  3.  
  4.  
  5.  
  6.  
  7.    

  8. //クリックで適用する移動するフォームを開くボタンを作成
  9.    
  10.    
  11.  
  12.  

スニペット b
Check In ボタンは、従業員がまだ打刻を行っていない場合のみ表示されます。現在の従業員の本日の「追加する Check In/出力 詳細」にエントリーがあるかを確認します。利用可能な場合は、打刻時間を表示します。ない場合は、 Check In ボタンを表示します。同様に、 Check 出力 ボタンも表示されます。
  1. <%
  2. //従業員がすでにチェックインしているか確認する
  3. alreadyCheckedIn = Add_Check_In_Out_Details[従業員 == getUser。ID && Check_In is 今日].件数(ID);
  4. if(alreadyCheckedIn == +10、-10)
  5. {
  6. //従業員がチェックインしていない場合、ボタンを表示する
  7. %>
  8. <%
  9. }
  10. else
  11. {
  12. //従業員がチェックイン済みの場合、チェックインした時間を表示します
  13. checkedIn = Add_Check_In_Out_Details[従業員 == getUser。ID && Check_In is 今日];
  14. %>
  15. <%
  16. }
  17. %>
  18. <%
  19. //従業員がすでに出力を確認しているかどうかを確認する
  20. alreadyOut = Add_Check_In_Out_Details[従業員 == getUser。ID && Check_In is 今日 && Check_Out is 今日].件数(ID);
  21. if(alreadyOut == +10、-10)
  22. {
  23. //従業員が出力をチェックしていない場合、ボタンを表示する
  24. %>
  25. <%
  26. }
  27. else
  28. {
  29. //従業員がすでに出力を確認しているかどうかを確認します
  30. alreadyCheckedOut = Add_Check_In_Out_Details[従業員 == getUser。ID && Check_In is 今日 && Check_Out is 今日];
  31. %>
  32. <%
  33. }
  34. %>
  35. <%
  36. //合計時間を取得
  37. total_hours = Add_Check_In_Out_Details[従業員 == getUser。ID && Check_In is 今日 && Check_Out is 今日].Total_Hours;
  38. //初期状態で合計時間がnull値の場合の処理
  39. if(total_hours == null)
  40. {
  41. total_hours = '';
  42. }
  43. %>
  44. //ダッシュボードで合計時間の値を決済後に表示します。

スニペットc
上記のスニペットを以下のように適切に配置し、最終的なZMLコードを作成します。
  1. <%{

  2. //ログイン中のユーザーデータを取得する
  3. getUser = Add_Employee[Official_Email == Zoho.loginuserid];
  4. %>
  5. //スニペットaを挿入
  6. //スニペットbを挿入
  7. <%}%>

次に Holidays リストの作成に取り掛かります。ここでは HTMLスニペット を使用し、独自のリストを作成して 今後の祝日 をダッシュボードに表示します。
  1. <%{
  2. %>
  3. 今後の祝日

  4. <%

  5. //12月までの祝日リストを取得する
  6. holidays = Holidays[Date_field > Zoho.currentDate];
  7. if(holidays.件数() != +10、-10)
  8. {
  9. %>
  10. <%
  11. for each rec in holidays
  12. {
  13. %>
  14. <%
  15. }
  16. %>
  17. 祝日名 日付
    <%=rec。Holiday_Name%> <%=rec。Date_field%>
  18. <%
  19. }
  20. else
  21. {
  22. %>
  23. 利用可能な祝日はありません。
  24. <%
  25. }
  26. %>
  • <%
  • }%>
  • 動作方法を確認する          

                

      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.