入力チェック(ワークフロー)
入力チェックは、一時保存や申請の際に、フォームに入力された内容のチェックを行う業務ロジックです。
以下のタイミングで実行されます。
- 申請画面で「一時保存」ボタンをクリックしたとき
- 申請・再申請画面で「申請」・「再申請」ボタンをクリックしたとき
- 承認画面で「承認」ボタンをクリックしたとき
- 確認画面で「承認」ボタンをクリックしたとき
一時保存の場合はチェックを行わないなどの制御は、ロジック内で実装可能です。
入力チェックの業務ロジックは1つのワークフローに対して1つしか登録できません。
利用例
- 画面アイテム間で入力値の相関チェックをする
- 入力値Aの値が○○の場合、入力値Bの値はXXでないといけないなど
- ログインユーザの役職やロールによって、特定の入力値のチェックを変更する
- 入力値についてWebデータベースのマスタを検索し、存在チェックをする
- 画面に表示されるエラーメッセージの表示順序を指定する
必須入力や半角英数字のみ、最小/最大入力文字数などのチェックは、業務ロジックを使用しなくともフォーム編集画面で設定できます。
設定方法の詳細は「入力チェックを利用したフォームを作成する」を参照してください。
業務ロジックの概要
入力チェックの業務ロジックを新規作成すると、初期状態では以下の図のように設定されています。
タスクを追加し、実現したい業務ロジックを作成してください。
図:業務ロジックの初期状態
入力チェックを行った結果を、変数のエラーアイテム情報( errorItems
)に格納します。
チェック結果に応じて、以下のように設定してください。
- 入力チェックエラーがなかった場合
- エラーアイテム情報に何も設定しない
- 入力チェックエラーがあった場合
- エラーアイテム情報にエラー情報を設定する
入力チェックエラーがあった場合、エラー情報の通知方法は以下の2つの方法があります。
エラーアイテム情報に inputId
(エラーになったアイテムのフィールド識別ID、または、テーブル識別ID)を設定するかどうかで変更できます。
- エラーメッセージのみを画面上部に表示する
- エラーがあった画面アイテムに対しエラー通知表示をする
- 画面アイテムを赤枠で囲みエラー通知アイコンを表示するなど、エラー通知の表示内容は画面アイテムに依存します
エラーアイテム情報( errorItems
)は配列型です。
複数のエラー情報を設定する場合は、配列操作関数の「push」等を利用して変数のエラーアイテム情報( errorItems
)に要素を追加してください。
生成された業務ロジックでは、「終了」タスクのマッピング設定で、変数の errorItems
が出力の errorItems
にマッピングされています。
分岐などにより、「終了」タスクを新たに配置する場合は、既存の「終了」タスクを参考にマッピングを行ってください。
処理中に入力チェック以外のエラーが発生した場合にのみ、出力値のエラーフラグ error
に true
を設定してください。
エラーフラグが true
の場合は、画面にはシステムエラーが発生した旨のメッセージのみが表示され、入力チェックに関するエラーの通知は行われません。
入力値
入力値 | 型 | 説明 |
---|---|---|
formaParam | object | formaParamオブジェクト を参照 |
sendParam | object | sendParamオブジェクト を参照 |
workflowParameter | object | workflowParameterオブジェクト を参照 |
formaParamオブジェクト
画面の基本情報を保持します。
入力値 | 型 | 説明 |
---|---|---|
loginUserCd | string | ログインユーザコード |
applicationId | string | アプリケーションID |
applicationNo | double | アプリケーションバージョンNO(アプリケーション履歴番号) |
insertId | string | データ登録ID |
applicationType | string | アプリケーション種別
|
appPageType | string | アプリケーションページ種別
|
temporaryFlag | string | 一時保存フラグ
|
processKey | string | プロセスキー |
画面アイテム「ボタン(一時保存)」のプロパティで「入力チェック」を「しない」としている場合も入力チェックの業務ロジックは実行されます。
一時保存時に入力チェックの業務ロジックを実行したくない場合は、上記の formaParam
オブジェクトの temporaryFlag
を条件とした分岐を実装してください。
sendParamオブジェクト
フォームの入力情報を保持する送信パラメータオブジェクトです。
画面アイテム「明細テーブル」、「グリッドテーブル」、「スプレッドシート」のテーブルのパラメータ名はテーブル識別IDです。
上記を除く入力アイテムのパラメータ名はフィールド識別IDです。
複数項目選択可能な画面アイテム(「チェックボックス」、「リストボックス」)は選択された値をカンマ区切りにして値が設定されます。
画面アイテム「ファイルアップロード」のアップロードファイル情報は含まれません。
ファイル情報の取得には「ファイルアップロード情報取得」タスクをご利用ください。
workflowParameterオブジェクト
ワークフローに関するパラメータを保持します。
入力値 | 型 | 説明 |
---|---|---|
imwApplyBaseDate | string | 申請基準日( yyyy/MM/dd 形式) |
imwArriveType | string | 到達種別
|
imwAuthUserCode | string | 処理権限者コード 案件をログインユーザ本人の権限で処理する場合は本人のユーザコードが、代理先として処理する場合は代理元のユーザコードが設定されます。 |
imwCallOriginalPagePath | string | 呼び出し元ページパス |
imwCallOriginalParams | string | 呼び出し元パラメータ |
imwContentsId | string | コンテンツID |
imwContentsVersionId | string | コンテンツバージョンID |
imwFlowId | string | フローID |
imwFlowVersionId | string | フローバージョンID |
imwNodeId | string | 処理対象ノードID 処理対象のノードが縦配置・横配置ノードの場合は、展開後のノードIDが渡されます。 |
imwPageType | string | 画面種別
|
imwRouteId | string | ルートID |
imwRouteVersionId | string | ルートバージョンID |
imwSystemMatterId | string | システム案件ID |
imwUserCode | string | 処理者コード ログインユーザ本人のユーザコードです。 |
imwUserDataId | string | ユーザデータID |
確認画面で「承認」ボタンをクリックした場合も入力チェックの業務ロジックは実行されます。
確認画面の場合は、上記のパラメータの内 imwArriveType
、および、 imwAuthUserCode
は取得できません。
そのため、業務ロジック内でこれらのパラメータを利用している場合は、エラーになることがあります。
確認画面で入力チェックを実行したくない場合は、上記の workflowParameter
オブジェクトの imwPageType
を条件とした分岐を実装してください。
出力値
出力値 | 型 | 説明 |
---|---|---|
error | boolean | エラーフラグtrue を設定した場合、当処理をエラー終了します。処理が正常に終了した場合は false を設定してください。 |
errorMessage | string | 設定したメッセージを例外ログとして出力します。 |
errorItems | object[] | 入力チェックエラーアイテム情報です。 入力チェックを行う場合は必ずこのパラメータを定義してください。 画面に表示される入力チェックエラーメッセージの順番は配列の先頭より昇順です。 |
errorItemsオブジェクト
出力値 | 型 | 説明 |
---|---|---|
inputId | string[] | エラーになったアイテムの識別ID配列です。 フォームにあるアイテムのフィールド識別IDを設定します。 画面アイテム「ファイルアップロード」はアイテム識別IDを設定します。 1つのエラーメッセージに対し、複数のフィールドが紐づく場合は、配列に識別IDを全て設定します。 入力チェックエラーメッセージのみを表示させたい場合はこのプロパティを省略します。 |
errorMessage | string | 入力チェックエラーメッセージです。 設定したメッセージを画面に表示します。 ロケールごとにメッセージを用意する必要がなければこのプロパティを利用してください。 |
localizedMessages | object | ロケール別入力チェックエラーメッセージです。 設定したメッセージをロケールに従って画面に表示します。 アカウントコンテキストから解決されたロケールに一致するメッセージを使用します。 入力チェックエラーアイテム情報の errorMessage が設定されている場合はこのプロパティは使用されません。 |
index | double | エラー行番号です。 入力チェック対象にテーブルが含まれる場合に定義します。 |
localizedMessagesオブジェクト
出力値 | 型 | 説明 |
---|---|---|
ja | string | 日本語ロケールメッセージ |
en | string | 英語ロケールメッセージ |
zh_CN | string | 中国語ロケールメッセージ |
変数
出力の errorItems
にマッピングするための変数です。
キー名 | 型 | 説明 |
---|---|---|
errorItems | object[] | 入力チェックエラーアイテム情報 |