お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の
英語版を参照してください。
要件
指定した地理的範囲外からアクセスされた場合に、ジオフェンスを使用して Zoho Creator フォームへのアクセスを制限します。
ユースケース
従業員管理のために Zoho Creator アプリケーションを使用している組織を想定します。このアプリケーションには、出退勤(チェックイン/チェックアウト)を記録するフォームが含まれています。このフォームでジオフェンスを有効にすると、指定したオフィスエリア内に物理的にいる従業員のみがチェックインできるようになり、不正な打刻やなりすましを効果的に防止できます。
手順
- フォームを作成し、従業員のチェックイン/チェックアウトデータを収集するために、次の詳細を設定します。
|
フォーム |
フォームリンク名 |
項目タイプ |
項目名 |
項目リンク名 |
|
Check In/Out |
Check_In_Out |
ドロップダウン |
Check In/Out
|
Check_In_Out |
|
メール |
メール |
メール |
|
Date_Time |
Check In 時刻 |
Check_In_Time |
|
Date_Time |
Check Out 時刻 |
Check_Out_Time |
|
ドロップダウン |
ステータス
|
ステータス |
- 画面右上の設定アイコン(
)をクリックして、フォームプロパティに移動します。

- 送信ボタンの名前を確定に変更し、リセットボタンはクリックして非表示(
)アイコンをクリックして非表示にします。
- フォームプロパティでジオフェンスを有効にします。ジオフェンスを設定するためのポップアップが表示されます。

- マップ上で目的の場所を選択するか、住所項目に住所を入力して場所を検索します。

- 必要に応じて半径を調整します。この例では1マイルに設定しています。

- ジオフェンス用のデフォルトエラーメッセージをカスタマイズし、ジオフェンス範囲外からフォームにアクセスしようとしているユーザーに分かりやすく伝わるように、自社のポリシーに合わせて調整します。

- ページを作成し、名前を従業員 Check_In/Outとします。
- 埋め込み機能を使って、Check In/Outフォームをページに埋め込み、残りのページはお好みに応じてカスタマイズします。ここでは、さらにレポートを埋め込み、Check In/Out レポートも表示しています。

- ワークフローを作成し、Check In/Out フォーム送信の検証時に実行されるように設定して、従業員のチェックイン/チェックアウト時刻を自動取得します。ワークフロー名はAuto Capture 時間とします。

- Deluge エディターに次のコードを追加します。
- //ログイン中のユーザーの当日の勤怠データを取得します。
- var = Check_In_Out[Check_In_Time == 今日 && メール == Zoho。loginuserid];
- ユーザーがチェックインした際に一致するデータがない場合、現在のチェックイン時刻、ユーザーのメールアドレス、ステータスを「Checked In」として項目に自動入力し、Check In/Out 項目をリセットします。
- if(var。件数() == 0 && Check_In_Out == 'Check In')
- {
- input。Check_In_Time = Zoho。currenttime;
- input。メール = Zoho。loginuserid;
- input。ステータス = 'Checked In';
- input。Check_In_Out = '';
- }
- //すでにチェックインしているユーザーが同じ日に再度チェックインしようとした場合、警告メッセージを表示し、フォーム送信をキャンセルします。
- else if(var。件数() > 0 && var。ステータス == 'Checked In' && Check_In_Out == 'Check In')
- {
- 注意 'You've already checked in';
- キャンセルする 送信する;
- }
- //ユーザーがチェックアウトした場合、既存データを現在のチェックアウト時刻、ユーザーのメールアドレス、ステータスを「Checked 出力」として更新し、Check In/Out 項目をリセットします。
- else if(var。件数() > 0 && var。ステータス == 'Checked In' && Check_In_Out == 'Check 出力')
- {
- var。Check_Out_Time=Zoho。currenttime;
- var。メール=Zoho。loginuserid;
- var。ステータス='Checked 出力';
- var。Check_In_Out='';
- }
- //チェックアウト済みのユーザーが同じ日に再度チェックインしようとした場合、ステータスを「Checked In」に更新し、Check 出力 時間項目をクリアします。
- else if(var。件数() > 0 && var。ステータス == 'Checked 出力' && Check_In_Out == 'Check In')
- {
- var。ステータス='Checked In';
- var。Check_Out_Time=null;
- }
- //チェックアウト済みのユーザーが同じ日に再度チェックアウトしようとした場合、警告メッセージを表示し、フォーム送信をキャンセルします。
- else if(var。件数() > 0 && var。ステータス == 'Checked 出力' && Check_In_Out == 'Check 出力')
- {
- 注意 'You've already checked 出力';
- キャンセルする 送信する;
- }
- 別のワークフローを作成し、Check In/Out フォームの送信成功時に実行されるように設定し、ワークフロー名をPreventing 空である データ Entryとします。このワークフローは、ユーザーがチェックインまたはチェックアウトを試行した際に、複数のデータが作成されることを防ぎます。

- 次のコードを Deluge エディターに追加します。
- //Check In/Out 項目が直前の「Auto Capture 時間」ワークフローでリセットされていない場合、該当するデータを削除します。
- if(input。Check_In_Out == 'Check 出力' || Check_In_Out == 'Check In')
- {
- 削除 差出人 Check_In_Out[ID == input。ID];
- }
- 別のワークフローを作成し、自動入力された Check In 時間、Check 出力 時間、メール、ステータス項目を Check In/Out フォーム上で非表示にし、ワークフロー名を隠す 項目とします。

- 次のページで、追加する 新規 操作をクリックし、隠す 項目を選択、この操作をalways実行するように設定し、Check In 時間、Check 出力 時間、メール、ステータス項目を選択します。

動作を確認する
- ジオフェンシング