- 基本情報
- はじめる前に
- 使い方
- 通知
- アプリをデザインする
- イベントとルール
- アプリで RPA を活用する
- アプリ内でエンティティを活用する
- アプリ内でキューを活用する
- アプリケーション ライフサイクル管理 (ALM)
- 基本的なトラブルシューティング ガイド
データ ソースと値のバインドを操作する
コントロールの [データ ソース] フィールドと [値のバインド] フィールドは双方向のバインドです。つまり、どちらも、そのコントロールにバインドされているルート データを更新できます。
理解を深めるために、簡単な例を使用できます。アプリにラベルとテキストボックスを追加して、アプリ変数を作成することができます。テキストボックス コントロールの [値のバインド] プロパティとラベル コントロールの [テキスト] プロパティを変数に割り当てます。アプリのプレビュー時に、テキストボックスの値を変更すると、アプリ変数も更新されることに注意してください。一方、[テキスト] プロパティは一方向のバインド フィールドで、更新できないデータのみを表示します。
この例では、プロセスで得られたカスタム リストから複数の項目を選択できるアプリを作成します。
この例では、以下を構築します。
- オートメーション プロセス
- UiPath Apps を使用するアプリ
この例の最初のステップは、UiPath Studio でワークフローを構築することです。これは、いくつかの引数で構成される簡単なワークフローです。
- Studio を開いて、新しいプロセスを作成します。
-
次の引数を作成します。
引数名
方向
引数の型
既定値
out_DataTable
Out
データ テーブル
-
in_SelectedItems
In
データ テーブル
new DataTable
filtered_SelectedItems
Out
データ テーブル
-
- ワークフロー デザイナーに [シーケンス] をドラッグします。
-
[シーケンス] コンテナーに、[データ テーブルを構築] アクティビティを追加します。
- [データ テーブル] フィールドに
out_DataTable
引数を追加します。 - [選択済み] という名前の列を追加します。
-
下図に示すように表を設定します。
- [データ テーブル] フィールドに
-
[データ テーブルを構築] アクティビティの下に [条件分岐 (if)] アクティビティを追加し、以下の手順に従って設定します。
- [条件] フィールドに
in_SelectedItems.Rows.Count > 0
を追加します。 -
以下に示すように、[Then] と [Else] を設定します。
Then
1. [Then] コンテナー内に [シーケンス] をドラッグします。
2. [シーケンス] コンテナー内に [代入] アクティビティを追加します。
- [保存先] フィールドに filtered_SelectedItems を追加します。
3. [代入] アクティビティの下に [メッセージをログ] アクティビティを追加します。- [値] フィールドに (from r In in_SelectedItems.Select() Where r("Selected").Equals(true) Select r).CopyToDataTable を追加します。
- [ログ レベル] をInfo
に設定します。- [メッセージ] フィールドにfiltered_SelectedItems.ToString
を追加します。Else
1. [Else] コンテナー内に [シーケンス] をドラッグします。
2. [代入] アクティビティの下に [メッセージをログ] アクティビティを追加します。
- [ログ レベル] をInfo
に設定します。- [メッセージ] フィールドに"First run or empty"
を追加します。
- [条件] フィールドに
結果
最終的に、ワークフローは下図のようになります。
プロセスの入力または出力で複雑な .NET オブジェクト (DataTable など) を使用している場合、App Studio は、既定ではそのオブジェクトのフィールドを認識できません。フィールドを指定するには、次の 2 つの方法があります。
- アプリに追加する前にプロセスを実行します。プロセスがオブジェクトを使用する場合、Apps によってジョブの履歴が確認され、そのオブジェクトのスキーマ/フィールドが自動的に検出されます。
- プロセスの入出力用のオブジェクト フィールドを手動で指定します。プロセスにジョブの履歴がない場合は、プロセスがアプリに追加された後に、アプリで使用するためにフィールドを手動で指定する必要があります。
手動でプロセスに追加したパラメーターは、プロセスを更新すると削除されます。
「ワークフローを構築する」の手順でワークフロー ビルドを Orchestrator にパブリッシュしたら、次はアプリ自体を構築します。
- 新しいアプリを作成します。
- 上記で構築されたプロセスを参照します。
- 1 つの [カスタム リスト] コントロールと 1 つの [表] コントロールをアプリに並べて追加します。
- 表の [データ ソース] フィールドで、プロセスから
Out: out_DataTable
を追加します。
- [チェックボックス] コントロールと [テキストボックス] コントロールをカスタム リストに追加し、次のように設定します。
- チェックボックス コントロールの [ラベル] フィールドに、プロセスの
Out: out_DataTable
セクションのOut: Item
項目を追加します。 - チェックボックス コントロールの [値のバインド] フィールドに、プロセスの
Out: out_DataTable
セクションのOut: Selected
項目を追加します。 - テキストボックス コントロールの [値のバインド] フィールドに、プロセスの
Out: out_DataTable
セクションのOut: Quantity
項目を追加します。
- チェックボックス コントロールの [ラベル] フィールドに、プロセスの
- [ボタン] コントロールを追加し、
Run
という名前を付けます。[クリック時] ルールを次のように設定します。- [プロセスを開始] ルールを追加します。
- [ジョブ名] フィールドに名前を追加し、[Attended] としてマークします。
- [入力の上書き] フィールドに
in_SelectedItems
とOut.out_DataTable
を追加します。
- ボタンの下にコンテナーを追加します。
- 2 つの [ラベル] コントロールを並べて追加します。
- 1 つ目のラベルの [テキスト] フィールドに、プロセスの
Out: filtered_SelectedItems
セクションのfiltered_SelectedItems.Item
項目を追加します。- 1 つ目のラベルの [テキスト] フィールドに、プロセスの
Out: filtered_SelectedItems
セクションのfiltered_SelectedItems.Quantity
項目を追加します。
- 1 つ目のラベルの [テキスト] フィールドに、プロセスの
- 1 つ目のラベルの [テキスト] フィールドに、プロセスの