フォーム送信管理
適切なアプリケーションを構築する過程で、次のような問題が発生する可能性があります。
- 日報で管理する方法システムでは、設定一人一日に一件の日報データを提出することしか許されず、当日に重複して提出することは許されない。
- 週報でどのように管理するかシステムでは、設定一人一人が週に1回の週報データを提出することしか許されず、その週に重複して提出することは許されない。
- どのように月報で管理しますかシステムでは、設定一人一人が毎月1週間の週報データを提出することしか許されず、当月に重複して提出することは許されない。
- どのようにアンケートやイベント登録システムで、一人一人に1つのデータしか提出できないように設定し、同じ人が重複して提出できないように設定します。
前提条件
このチュートリアルでは、適切なフォーム式を使用します。まず、次のことを知ることができますフォーム式。
効果を実現する
一人一日に一回だけ提出できます

一人一週間に一度しか提出できません

お一人様月1回のみ提出可能です

一人に一度だけ提出できます

実装手順
一人一日に一回だけ提出できます
普遍的なフォームページの作成
通常のフォームページを作成します。詳細はこちらを参照してください通常フォーム。

キャンバス領域で次のコンポーネントをドラッグします。
- メンバー: 提出者に名前を付けます
- 日付: 送信日という名前です
- 単一行テキスト: 一意の検証idという名前です
- コンポーネントステータス設定を非表示にし、常に送信することをチェックします
フォーム式の追加
送信者はショートカット設定を選択し、現在のログイン者をデフォルトにします。

送信日はショートカット設定を選択し、デフォルトは今日です。

一意の検証idのデフォルト値は式編集を選択し、次の図に示す式を設定するか、式のソースコードを直接コピーして、フィールドの変更に注意してください。
(現在のログイン者userid + 送信日時) を使用して、一意の検証idを設定します。


{"text":"CONCATENATE(USERFIELD(提交人,\"userId\"),TEXT(DATE(提交日期),\"yyyyMMdd\"))","marks":[{"from":{"line":0,"ch":22,"sticky":null},"to":{"line":0,"ch":27,"sticky":null},"value":"employeeField_lc0bktqq","invalid":false},{"from":{"line":0,"ch":48,"sticky":null},"to":{"line":0,"ch":54,"sticky":null},"value":"dateField_lc0bktqr","invalid":false}],"isCmData":true}
フォーム検証の追加
Exist関数を使用して一意の検証idを検証すればよい。



{"text":"EXIST(唯一校验标识)","marks":[{"from":{"line":0,"ch":6,"sticky":null},"to":{"line":0,"ch":14,"sticky":null},"value":"textField_lc0bcyfu","invalid":false}],"isCmData":true}
保存ページ

一人一週間に一度しか提出できません
普遍的なフォームページの作成
通常のフォームページを作成します。詳細はこちらを参照してください通常フォーム。

キャンバス領域で次のコンポーネントをドラッグします。
- メンバー: 提出者に名前を付けます
- 日付: 送信日という名前です
- 単一行テキスト: 一意の検証idという名前です
- コンポーネントステータス設定を非表示にし、常に送信することをチェックします
フォーム式の追加
送信者はショートカット設定を選択し、現在のログイン者をデフォルトにします。

送信日はショートカット設定を選択し、デフォルトは今日です。

一意の検証idのデフォルト値は式編集を選択し、次の図に示す式を設定するか、式のソースコードを直接コピーして、フィールドの変更に注意してください。
(現在のログイン者userid + 送信日時 + 送信日時週数) を使用して、一意の検証idを設定します。


{"text":"CONCATENATE(USERFIELD(提交人,\"userId\"),TEXT(DATE(提交日期),\"yyyyMM\"),MID(TEXT(ISOWEEKNUM(DATE(提交日期))),2,LEN(TEXT(ISOWEEKNUM(DATE(提交日期))))-2))","marks":[{"from":{"line":0,"ch":22,"sticky":null},"to":{"line":0,"ch":27,"sticky":null},"value":"employeeField_lc0bktqq","invalid":false},{"from":{"line":0,"ch":48,"sticky":null},"to":{"line":0,"ch":54,"sticky":null},"value":"dateField_lc0bktqr","invalid":false},{"from":{"line":0,"ch":91,"sticky":null},"to":{"line":0,"ch":97,"sticky":null},"value":"dateField_lc0bktqr","invalid":false},{"from":{"line":0,"ch":128,"sticky":null},"to":{"line":0,"ch":134,"sticky":null},"value":"dateField_lc0bktqr","invalid":false}],"isCmData":true}
フォーム検証の追加
Exist関数を使用して一意の検証idを検証すればよい。



{"text":"EXIST(唯一校验标识)","marks":[{"from":{"line":0,"ch":6,"sticky":null},"to":{"line":0,"ch":14,"sticky":null},"value":"textField_lc0bcyfu","invalid":false}],"isCmData":true}
保存ページ

お一人様月1回のみ提出可能です
通常のフォームページの作成
通常のフォームページを作成します。詳細はこちらを参照してください通常フォーム。

キャンバス領域で次のコンポーネントをドラッグします。
- メンバー: 提出者に名前を付けます
- 日付: 送信日という名前です
- 単一行テキスト: 一意の検証idという名前です
- コンポーネントステータス設定を非表示にし、常に送信することをチェックします
フォーム式の追加
送信者はショートカット設定を選択し、現在のログイン者をデフォルトにします。

送信日はショートカット設定を選択し、デフォルトは今日です。

一意の検証idのデフォルト値は式編集を選択し、次の図に示す式を設定するか、式のソースコードを直接コピーして、フィールドの変更に注意してください。
(現在のログイン者userid + 送信日時) を使用して、一意の検証idを設定します。


{"text":"CONCATENATE(USERFIELD(提交人,\"userId\"),TEXT(DATE(提交日期),\"yyyyMM\"))","marks":[{"from":{"line":0,"ch":22,"sticky":null},"to":{"line":0,"ch":27,"sticky":null},"value":"employeeField_lc0bktqq","invalid":false},{"from":{"line":0,"ch":48,"sticky":null},"to":{"line":0,"ch":54,"sticky":null},"value":"dateField_lc0bktqr","invalid":false}],"isCmData":true}
フォーム検証の追加
Exist関数を使用して一意の検証idを検証すればよい。



{"text":"EXIST(唯一校验标识)","marks":[{"from":{"line":0,"ch":6,"sticky":null},"to":{"line":0,"ch":14,"sticky":null},"value":"textField_lc0bcyfu","invalid":false}],"isCmData":true}
保存ページ

一人に一度だけ提出できます
通常のフォームページの作成
通常のフォームページを作成します。詳細はこちらを参照してください通常フォーム。

キャンバス領域で次のコンポーネントをドラッグします。
- メンバー: 提出者に名前を付けます
- 日付: 送信日という名前です
保存ページ

送信ルールの設定
ページ設定に進みます。

送信ルールを設定して保存します。
