質問:
ワークフロー内でデータを割り当てたり、フォームフィールドを事前入力したりする際、値はどのように/いつ分割されますか?
回答:
ワークフローでは、グローバル変数にデータを割り当てたり、異なるタイプのフォームフィールドにデータを事前入力したりできます。
ここでは、特に値が分割される方法とタイミングに焦点を当てた動作の概要を説明します。
数値型、小数型、日付/時刻型は分割が適用されないため、明示的に除外されます。
ワークフローフォームフィールドへの事前入力/既定のエントリ:
| ソース → 宛先 ↓ | 索引データ | ファイルキャビネット | ワークフローシステム変数 | ワークフローグローバル変数テキスト | ワークフローグローバル変数キーワード | ワークフローグローバル変数 ユーザー - シングル | ワークフローグローバル変数 ユーザー - リスト | ワークフローグローバル変数 ロール - 単数 | ワークフローグローバル変数 ロール - リスト | ワークフローグローバル変数代理ルール - 単数 | ワークフローグローバル変数代理ルール - リスト | 固定エントリ | 外部データ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| テキスト | 分割なし | 分割なし | 分割なし 複数の値はコンマで連結されます | 分割なし | 分割なし 複数の値はコンマで連結されます | 分割なし | 分割なし 複数の値はコンマで連結される | 分割なし | 分割なし 複数の値はコンマで連結されます | 分割なし | 分割なし 複数の値はコンマで連結されます | 分割なし | 分割なし |
| キーワード | <スペース>、; で分割 | 分割なし 返された行のすべての値が適用される | 分割なし すべての値が適用される | <スペース> , ; で分割 | 分割なし すべての値が適用される | 分割なし | 分割なし すべての値が適用される | 分割なし | 分割なし すべての値が適用される | 分割なし | 分割なし すべての値が適用される | <スペース>、; で分割 | 分割なし 返された行のすべての値が適用される |
| グループのユーザー | 分割なし | 分割なし 返された行のすべての値が適用される | 分割なし 最初の値が適用される | 分割なし | 分割なし 複数の値はコンマで連結される | 分割なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | ユーザーは専用UIから選択される | 分割なし |
| グループのユーザー - 複数選択 | <スペース>、; で分割 | 区切りなし 返された行の全値が適用される | 分割なし すべての値が適用される | <スペース> , ; で分割 | 分割なし すべての値が適用される | 分割なし | 分割なし すべての値が適用される | 該当なし | 該当なし | 該当なし | 該当なし | ユーザーは専用UIから選択される | 分割なし 返された行のすべての値が適用される |
| ロール | 分割なし | 分割なし 返された行のすべての値が適用される | 分割なし 最初の値が適用される | 分割なし | 分割なし 複数の値はコンマで連結される | 該当なし | 該当なし | 分割なし | 該当なし | 該当なし | 該当なし | ロールは専用UIから選択 | 分割なし |
| ロール - 複数選択 | <スペース>、; で区切り | 分割なし 返された行の全値が適用される | 分割なし すべての値が適用される | <スペース> , ; で分割 | 分割なし すべての値が適用される | 該当なし | 該当なし | 分割なし | 分割なし すべての値が適用される | 該当なし | 該当なし | ロールは専用のUIから選択される | 分割なし 返された行のすべての値が適用される |
| 代理ルール | 分割なし | 分割なし 返された行のすべての値が適用される | 分割なし 最初の値が適用される | 分割なし | 分割なし 複数の値はコンマで連結される | 該当なし | 該当なし | 該当なし | 該当なし | 分割なし | 該当なし | サブルールは専用UIから選択 | 分割なし |
| 代理ルール - 複数選択 | <スペース>、; で分割 | 分割なし 返された行の全値が適用される | 分割なし すべての値が適用される | <スペース> , ; で分割 | 分割なし すべての値が適用される | 該当なし | 該当なし | 該当なし | 該当なし | 分割なし | 分割なし すべての値が適用される | サブルールは専用UIから選択 | 分割なし 返された行の全値が適用される |
ワークフローのグローバル変数へのデータ割り当て:
| ソース → 宛先 ↓ | インデックスデータ | ファイルキャビネット | ワークフローシステム変数 | ワークフローグローバル変数テキスト | ワークフローグローバル変数キーワード | ワークフローグローバル変数 ユーザー - シングル | ワークフローグローバル変数 ユーザー - リスト | ワークフローグローバル変数 ロール - 単数 | ワークフローグローバル変数 ロール - リスト | ワークフローグローバル変数代理ルール - 単数 | ワークフローグローバル変数代理ルール - リスト | 固定エントリ | 外部データ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| テキスト | 分割なし | 分割なし | 分割なし 複数の値はコンマで連結されます | 分割なし | 分割なし 複数の値はコンマで連結されます | 分割なし | 分割なし 複数の値はコンマで連結されます | 分割なし | 分割なし 複数の値はコンマで連結されます | 分割なし | 分割なし 複数の値はコンマで連結されます | 分割なし | 分割なし |
| キーワード | <スペース>、; で分割 | 分割なし 返された行のすべての値が適用される | 分割なし すべての値が適用される | <スペース> , ; で分割 | 分割なし すべての値が適用される | 分割なし | 分割なし すべての値が適用される | 分割なし | 分割なし すべての値が適用される | 分割なし | 分割なし すべての値が適用される | <スペース>、; で分割 | 分割なし 返された行の全値が適用される |
| グループのユーザー | 分割なし | 分割なし 返された行のすべての値が適用される | 分割なし 最初の値が適用される | 分割なし | 該当なし | 分割なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 分割なし | 分割なし |
| グループのユーザー - 複数選択 | <スペース>、; で分割 | 分割なし 返された行の全値が適用される | 分割なし すべての値が適用される | <スペース> , ; で分割 | 分割なし すべての値が適用される | 分割なし | 分割なし すべての値が適用される | 該当なし | 該当なし | 該当なし | 該当なし | <スペース>、:で分割 | 分割なし 返された行のすべての値が適用される |
| ロール | 分割なし | 分割なし 返された行のすべての値が適用される | 分割なし 最初の値が適用される | 分割なし | 該当なし | 該当なし | 該当なし | 分割なし | 該当なし | 該当なし | 該当なし | 分割なし | 分割なし |
| ロール - 複数選択 | <スペース>、; で分割 | 分割なし 返された行の全値が適用される | 分割なし すべての値が適用される | <スペース> , ; で分割 | 分割なし すべての値が適用される | 該当なし | 該当なし | 分割なし | 分割なし すべての値が適用される | 該当なし | 該当なし | <スペース>、; で分割 | 分割なし 返された行のすべての値が適用される |
| 代理ルール | 分割なし | 分割なし 返された行のすべての値が適用される | 分割なし 最初の値が適用される | 分割なし | 該当なし | 該当なし | 該当なし | 該当なし | 該当なし | 分割なし | 該当なし | 分割なし | 分割なし |
| 代理ルール - 複数選択 | <スペース>、; で分割 | 分割なし 返された行の全値が適用される | 分割なし すべての値が適用される | <スペース> , ; で分割 | 分割なし すべての値が適用される | 該当なし | 該当なし | 該当なし | 該当なし | 分割なし | 分割なし すべての値が適用される | <スペース>、; で分割 | 分割なし 返された行のすべての値が適用される |
備考:
- 値が連結される場合、常に区切り文字を使用します:
- <カンマ> ,
- 現在、区切り文字を変更することはできません
- 値が分割される場合、常に区切り文字を使用します:
- <スペース>
- <comma> ,
- <セミコロン> ;
- 区切り文字が見つかるたびに、値は分割されます
- 現在、区切り文字を変更することはできません
シングルクォート(')で囲まれた値は分割されません
- 「ファイルキャビネット」または「外部データ」をソースとして使用する場合、返された行ごとの全値が適用されます。1行内に複数の値がある場合でも分割されません。
例:
固定入力「UserA UserB」をキーワード型グローバル変数に割り当てます。
固定入力はスペースで分割されるため、キーワード変数には任意の順序で2つの入力が格納されます:
- UserA
- UserB
アカウント型のグローバル変数に固定エントリ「Accounting;Production」を割り当てます。
固定エントリはセミコロンで分割されるため、キーワード変数には2つのエントリが任意の順序で格納されます:
- アカウント
- 生産
キーワード型のグローバル変数に固定エントリ「Accounting;Production;Human resources」を代入します。
固定エントリはセミコロンとスペースで分割されるため、キーワード変数には4つのエントリが任意の順序で格納されます:
- アカウント
- 人事
- 生産
- 生産
- リソース
固定エントリ「'Lastname, Firstname'」(単一引用符で囲まれた)をキーワード型のグローバル変数に代入します。
固定エントリは分割されないため、キーワード変数には1つのエントリが格納されます:
- 姓、名
キーワード型のグローバル変数(2エントリ)をテキスト型のグローバル変数に代入します。
キーワード変数には以下のエントリが存在します:
- UserA
- UserB
両方の値がコンマで連結され、任意の順序で取得されます:
- UserA,UserB
外部データをキーワード型のグローバル変数に割り当てます。
外部データ設定は2行を返すように指定されています。つまりWHERE句が複数の一致を返し、「最大返却行数」が2に設定されているためです。
外部データからは以下のデータが返されます:
- 行 1: ユーザーA ユーザーB
- 行 2: ユーザーC
各エントリは行単位で適用されます。つまり、同一行内の値は分割されません。
したがって、キーワード変数には2つのエントリが格納されます:
- ユーザーA ユーザーB
- ユーザーC
グループ(単一)のUser型グローバル変数に外部データを割り当てます。
外部データ設定により、最大1行が自動的に返されます。
外部データから以下のデータが返されます:
- 行 1: ユーザーA ユーザーB
エントリは行単位で適用されます。つまり、行内の値は分割されません。
したがって、User変数には1件のエントリが格納されます:
- ユーザーA ユーザーB
ただし、これは提供された値がDocuWareシステム内のユーザーと一致する場合にのみ機能します。
このケースでは、ユーザー名「UserA UserB」を持つDocuWareユーザーが存在しないため、照合はおそらく失敗します。つまり変数は空のままになります!
ご注意:この記事は英語からの翻訳です。この記事に含まれる情報は、オリジナルの英語版製品に基づくものです。翻訳版の記事で使用されている文法などには、細かい誤りがある場合があります。翻訳の正確さを完全に保証することは出来かねますが、ほとんどの場合、十分な情報が得られると思われます。万が一、疑問が生じた場合は、英語版の記事に切り替えてご覧ください。
