はじめに
今回はUiPath Action Centerに作成したフォームを表示する際に動的にフォーマットを作成したいと思います。
UiPath Action Centerのフォームタスクについては下記を参照ください。
環境設定
Studio及びOrchestrator
- Studio:19.10以上
- Orchestrator:19.10以上
開発環境
プロセスで作成せずにオーケストレーションプロセスで作成
Studioパッケージインストール
- UiPath.Form.Activities
- UiPath.FormActivityLibrary
- UiPath.Persistence.Activities
実装
(1)テンプレート用のフォームフォーマットを作成
UiPath Form Designerでフォームのフォーマットテンプレートを作成できます。
名前を付けて保存を押下すると、Jsonファイルがダウンロードされます。
{
"id": "00000000-0000-0000-0000-000000000001", ←フォームID
"form": [
{
"collapsible": false,
"key": "panel",
"type": "panel",
"label": "Panel",
"input": false,
"tableView": false,
"components": [
この部分を増やすことでテキスト生成
____________________________________
{
"label": "TextArea1", ←テキストラベル名
"labelPosition": "left-left",
"tableView": true,
"key": "taxt",
"type": "textarea",
"labelWidth": 10,
"input": true,
"hideOnChildrenHidden": false
},
{
"label": "TextArea2", ←テキストラベル名
"labelPosition": "left-left",
"tableView": true,
"key": "taxt",
"type": "textarea",
"labelWidth": 10,
"input": true,
"hideOnChildrenHidden": false
}
____________________________________
]
},
{
"type": "button",
"label": "Submit",
"key": "submit",
"disableOnInvalid": true,
"input": true,
"tableView": false
}
]
}
「UiPath_Forms_Template.json」で開くと下記のフォーマットで表示される
(2)フォームフォーマットJSONの生成
フォーム生成用のJsonテンプレートを作成します。
{
"id": "{0}", ←フォームID
"form": [
{
"collapsible": false,
"key": "panel",
"type": "panel",
"label": "Panel",
"input": false,
"tableView": false,
"components": [
{1}
]
},
{
"type": "button",
"label": "Submit",
"key": "submit",
"disableOnInvalid": true,
"input": true,
"tableView": false
}
]
}
Forms_Template.jsonの{0}には重複しないフォームIDを生成してください。
フォームIDの生成(回避策)
アセットなどでフォームID用のカウントすると良い。
Forms_Template.jsonの{1}にTextArea用のテンプレートを追加していきます。
{
"label": "{0}", ←テキストラベル名
"labelPosition": "left-left",
"tableView": true,
"key": "{1}", ←プロパティ名
"type": "textarea",
"labelWidth": 10,
"input": true,
"hideOnChildrenHidden": false
}
TextArea_Template.jsonの{0}/{1}にはテキストラベル名/プロパティ名を設定します。
(3)フォームフォーマットのJSONファイルを取り込む
ローカルのフォームファイルを使用:オン
フォームファイルのパス:JSONファイルパス
(4)完成
フォームJSONの生成はうまいこと設定してもらえれば良いです。
結果
UiPath Action Centerに5個のタスクを作成し、フォームのフォーマットも動的に生成できるようになりました。
フォーマットを動的にする場合は出力から結果を取得します。
1
2
・
・
・
5
まとめ
フォーム抽出器で取得した値をフォームタスクで表示/非表示することも可能です。
パーセントとかつければそれっぽいフォームを作成できます。
今後、フォーム抽出器も取り扱ってみたいと思います。
UiPath Action Centerのフォームタスクについては下記を参照ください。