- リリース ノート
- 基本情報
- セットアップと構成
- オートメーション プロジェクト
- 依存関係
- ワークフローの種類
- ファイルの比較
- オートメーションのベスト プラクティス
- ソース管理との連携
- デバッグ
- 診断ツール
- ワークフロー アナライザー
- 変数
- 引数
- インポートされた名前空間
- レコーディング
- UI 要素
- 制御フロー
- セレクター
- オブジェクト リポジトリ
- データ スクレイピング
- 画像とテキストの自動化
- Citrix Technologies Automation
- RDP の自動化
- Salesforce の操作の自動化
- SAP のオートメーション
- VMware Horizon の自動化
- ログ
- ScreenScrapeJavaSupport ツール
- Webdriver プロトコル
- Test Suite - Studio
- 拡張機能
- トラブルシューティング
UiPath 固有の変数
GenericValue 変数は、テキスト、数値、日付、または配列といった種類のデータを格納することができる変数型であり、UiPath Studio 特有のものです。
GenericValue 変数は、特定のアクションを実行できるように自動的に他の型に変換されます。ただし、これらの変数の型はプロジェクトに対して常に正しく変換されるとは限らないため、使用には十分な注意が必要です。
UiPath Studio には GenericValue 変数の自動変換メカニズムがあり、式を正しく定義することで、目的の結果を得ることができます。式の最初の要素は、Studio から操作するガイドラインとして使用されることを考慮してください。たとえば、2 つの GenericValue 変数を追加し、式の最初の変数が String として定義されてた場合、最初に代入された値を元に 2 つの値を結合し、文字列となります。 Integer として定義した場合の結果は、合計の値となります。
名前 / 構文 |
説明 |
---|---|
CompareTo
|
[詳細はこちら][1] [1]: https://msdn.microsoft.com/en-us/library/system.string.compareto(v=vs.110).aspx |
次の値を含む
|
[詳細はこちら][2] [2]: https://msdn.microsoft.com/en-us/library/dy85x1sa(v=vs.110).aspx 文字列変数の特定の部分に、部分文字列が含まれているかどうかを確認するために使用しす。 たとえば、文章に特定の単語が含まれているかどうかを確認するには、式は
[SentenceVariable].Contains("term") である必要があります。[SentenceVariable] は文を含む GenericValue 変数で、"term" を検索する単語です。
注: データ型が Int、Float、または Boolean の GenericValue 型変数でこのメソッドを使用すると、データは自動的に String に変換され、処理されます。
|
次に等しい
|
[詳細はこちら][3] [3]: https://msdn.microsoft.com/en-us/library/system.string.equals(v=vs.110).aspx |
GetHashCode
|
[詳細はこちら][5] [5]: https://msdn.microsoft.com/en-us/library/system.string.format(v=vs.110).aspx |
GetType
|
[詳細はこちら][6] [6]: https://msdn.microsoft.com/en-us/library/system.object.gettype(v=vs.110).aspx |
GetTypeCode
|
[詳細はこちら][7] [7]: https://msdn.microsoft.com/en-us/library/system.string.gettypecode(v=vs.110).aspx |
IndexOf
|
[詳細はこちら][8] [8]: https://msdn.microsoft.com/en-us/library/system.string.indexof(v=vs.110).aspx 文字列変数の中に含まれる部分文字列のインデックスを返すために使用します。 たとえば、文字列の中のインデックス "locate" という単語を [Find 'locate' in this sentence] という文字列の中で見つけたい場合、式は
[SentenceVariable].IndexOf("locate") でなければなりません。[SentenceVariable] は GenericValue 変数です。 "locate" は検索される単語です。
注: データ型が Int、Float、または Boolean の GenericValue 型変数でこのメソッドを使用すると、データは自動的に String に変換され、処理されます。
|
長さ
|
[詳細はこちら][9] [9]: https://msdn.microsoft.com/en-us/library/system.string.length(v=vs.110).aspx String 変数の文字数を返すために使用します。 たとえば、単語の文字数を調べるには、式が
[WordVariable].Length でなければなりません。[WordVariable] は単語を含む GenericValue 変数です。
注: データ型が Int、Float、または Boolean の GenericValue 型変数でこのメソッドを使用すると、データは自動的に String に変換され、処理されます。
|
置換
|
[詳細はこちら][10] [10]: https://msdn.microsoft.com/en-us/library/system.string.replace(v=vs.110).aspx String 変数に含まれるデータを置き換えるために使用します。たとえば、ローカルのファイル パス
C:\ExampleFolder\Main.xaml を対応するサーバーのファイル パス C:/ExampleFolder/Main.xaml に変更する場合、式は [PathVariable].Replace("\","/") とする必要があります。[PathVariable] は GenericValue 変数です。 "\" は置換される文字、"/" は置換する文字として使用されます。
注: データ型が Int、Float、または Boolean の GenericValue 型変数でこのメソッドを使用すると、データは自動的に String に変換され、処理されます。
|
Split
|
[詳細はこちら][11] [11]: https://msdn.microsoft.com/en-us/library/system.string.split(v=vs.110).aspx 文字列変数からそれぞれのコンポーネントを返すために使用します。 たとえば、[年] を MM.DD.YYYY の日付形式から抽出する場合は、式は
[DateVariable].Split(".".ToCharArray)(2) でなければなりません。[DateVariable] は日付を含むGenericValue 変数で、"." はセパレーターとして使用される文字であり、.ToCharArray はセパレーターで区切られた要素を持つ配列を作るメソッドです。また、(2) は返される要素のインデックスで、この場合は、[年] を表します。
注: データ型が Int、Float、または Boolean の GenericValue 型変数でこのメソッドを使用すると、データは自動的に String に変換され、処理されます。
|
Substring
|
[詳細はこちら][12] [12]: https://msdn.microsoft.com/en-us/library/system.string.substring(v=vs.110).aspx 文字列変数に含まれる部分文字列を返すために使用します。 たとえば、[There are 100 machines available]という文から単語を抽出する場合、式は
[SentenceVariable].Substring(10,3) である必要があります。[SentenceVariable] は文を含むGenericValue 変数、[10] は返される最初の文字のインデックス、[3] は最初の文字から始まる部分文字列の文字数です。 この例では、結果の部分文字列は [100] になります。
注: データ型が Int、Float、または Boolean の GenericValue 型変数でこのメソッドを使用すると、データは自動的に String に変換され、処理されます。
|
ToBoolean
|
[詳細はこちら][13] [13]: https://msdn.microsoft.com/en-us/library/bb346937(v=vs.110).aspx |
ToByte
|
[詳細はこちら][14] [14]: https://msdn.microsoft.com/en-us/library/bb355898(v=vs.110).aspx |
ToChar
|
[詳細はこちら][15] [15]: https://msdn.microsoft.com/en-us/library/bb335877(v=vs.110).aspx |
ToDecimal
|
[詳細はこちら][17] [17]: https://msdn.microsoft.com/en-us/library/bb359959(v=vs.110).aspx |
ToDouble
|
[詳細はこちら][18] [18]: https://msdn.microsoft.com/en-us/library/bb154906(v=vs.110).aspx |
ToInt
|
指定した値を null を許容する整数に変換するために使用します。 注: データ型が Boolean の GenericValue 型変数でこのメソッドを使用すると、"True" および "False" の値はそれぞれ 1 および 0 に変換されます。
|
ToInt16
|
[詳細はこちら][20] [20]: https://msdn.microsoft.com/en-us/library/bb293091(v=vs.110).aspx 注: データ型が Boolean の GenericValue 型変数でこのメソッドを使用すると、"True" および "False" の値はそれぞれ 1 および 0 に変換されます。
|
ToInt32
|
[詳細はこちら][21] [21]: https://msdn.microsoft.com/en-us/library/bb300452(v=vs.110).aspx 注: データ型が Boolean の GenericValue 型変数でこのメソッドを使用すると、"True" および "False" の値はそれぞれ 1 および 0 に変換されます。
|
ToInt64
|
[詳細はこちら][22] [22]: https://msdn.microsoft.com/en-us/library/bb359566(v=vs.110).aspx 注: データ型が Boolean の GenericValue 型変数でこのメソッドを使用すると、"True" および "False" の値はそれぞれ 1 および 0 に変換されます。
|
ToLower
|
[詳細はこちら][23] [23]: https://msdn.microsoft.com/en-us/library/system.string.tolower(v=vs.110).aspx 注: データ型が Int、Float、または Boolean の GenericValue 型変数でこのメソッドを使用すると、データは自動的に String に変換され、処理されます。
|
ToLowerInvariant
|
[詳細はこちら][24] [24]: https://msdn.microsoft.com/en-us/library/system.string.tolowerinvariant(v=vs.110).aspx 注: データ型が Int、Float、または Boolean の GenericValue 型変数でこのメソッドを使用すると、データは自動的に String に変換され、処理されます。
|
ToSByte
|
[詳細はこちら][25] [25]: https://msdn.microsoft.com/en-us/library/bb342232(v=vs.110).aspx |
ToSingle
|
[詳細はこちら][26] [26]: https://msdn.microsoft.com/en-us/library/bb360375(v=vs.110).aspx |
ToString
|
[詳細はこちら][27] [27]: https://msdn.microsoft.com/en-us/library/system.string.tostring(v=vs.110).aspx |
ToType
|
[詳細はこちら][29] [29]: https://msdn.microsoft.com/en-us/library/bb358540(v=vs.110).aspx |
ToUInt16
|
[詳細はこちら][30] [30]: https://msdn.microsoft.com/en-us/library/bb337265(v=vs.110).aspx 注: データ型が Boolean の GenericValue 型変数でこのメソッドを使用すると、"True" および "False" の値はそれぞれ 1 および 0 に変換されます。
|
ToUInt32
|
[詳細はこちら][31] [31]: https://msdn.microsoft.com/en-us/library/bb357762(v=vs.110).aspx 注: データ型が Boolean の GenericValue 型変数でこのメソッドを使用すると、"True" および "False" の値はそれぞれ 1 および 0 に変換されます。
|
ToUInt64
|
[詳細はこちら][32] [32]: https://msdn.microsoft.com/en-us/library/bb155099(v=vs.110).aspx 注: データ型が Boolean の GenericValue 型変数でこのメソッドを使用すると、"True" および "False" の値はそれぞれ 1 および 0 に変換されます。
|
ToUpper
|
[詳細はこちら][33] [33]: https://msdn.microsoft.com/en-us/library/system.string.toupper(v=vs.110).aspx 注: データ型が Int、Float、または Boolean の GenericValue 型変数でこのメソッドを使用すると、データは自動的に String に変換され、処理されます。
|
ToUpperInvariant
|
[詳細はこちら][34] [34]: https://msdn.microsoft.com/en-us/library/system.string.toupperinvariant(v=vs.110).aspx 注: データ型が Int、Float、または Boolean の GenericValue 型変数でこのメソッドを使用すると、データは自動的に String に変換され、処理されます。
|
Trim
|
[詳細はこちら][35] [35]: https://msdn.microsoft.com/en-us/library/system.string.trim(v=vs.110).aspx 注: データ型が Int、Float、または Boolean の GenericValue 型変数でこのメソッドを使用すると、データは自動的に String に変換され、処理されます。
|
TrimEnd
|
[詳細はこちら][36] [36]: https://msdn.microsoft.com/en-us/library/system.string.trimend(v=vs.110).aspx 注: データ型が Int、Float、または Boolean の GenericValue 型変数でこのメソッドを使用すると、データは自動的に String に変換され、処理されます。
|
TrimStart
|
[詳細はこちら][37] [37]: https://msdn.microsoft.com/en-us/library/system.string.trimstart(v=vs.110).aspx 注: データ型が Int、Float、または Boolean の GenericValue 型変数でこのメソッドを使用すると、データは自動的に String に変換され、処理されます。
|
[値を書式化] アクティビティ本体で Ctrl + K、Ctrl + M、Ctrl + Shift + M のいずれかを直接使用すると、作成される変数または引数の型が GenericValue になります。その他のアクティビティでは、アクティビティに必要な型と同じになります。
GenericValue 変数の動作を確認するためには、式の定義方法によって結果が変わるような操作をするオートメーションを作成する必要があります。異なるデータ型の 2 つの GenericValue 変数を作成し、結果を [出力] パネルに表示します。
- 新しいプロジェクトを作成します。
- 3 つの GenericValue 変数
Int
、Str
、およびResult
を作成します。 -
Int
変数の [既定値] 列に「12」と入力し、Str
変数に「34」と入力します。最初の変数は整数として処理され、2 番目の変数は文字列として処理されます。 - デザイナー パネルに [代入] アクティビティを追加し、Start ノードに接続します。
- [プロパティ] パネルの [左辺値 (To)] フィールドに、
Result
変数を入力します。 - [右辺値 (Value)] フィールドに、「
Int
+Str
」と入力します。 - [1 行を書き込み] アクティビティを追加して [代入] アクティビティに接続します。
-
[プロパティ] パネルの [テキスト] フィールドに、
Result
変数を入力します。プロジェクトは次のスクリーンショットのようになります。
-
F5 キーを押してオートメーションを実行します。[出力] パネルに 2 つの数字の合計が表示されます。
-
-
F5 キーを押してオートメーションを実行します。[出力] パネルには、2 つの数字が結合され、文字列として表示します。
UiPath Studio は、式で定義された最初の要素を実行する操作のガイドラインとして使用します。式の最初の要素が整数、または整数として入力されたジェネリック値変数の場合、UiPath Studio は要素を合計します。
式の最初の要素が文字列、または文字列として入力されたジェネリック値変数の場合、UiPath Studio は要素を連結します。
QueueItem 変数のセクションに進む前に、「キューおよびトランザクションについて」ページでキューとトランザクションの概要を確認することを推奨します。
このテーマに関して詳しく学習する前に、キュー アイテム (Orchestrator 内のキューに格納されるアイテム) と QueueItem 変数 (Studio でキュー アイテムを処理するために使用される変数) の違いをしっかり理解しておいてください。UiPath では、この2つを「QueueItem 変数」と「キュー アイテム」と呼んで区別しています。
大まかに言うと、QueueItem 変数は、その名前が示すとおり、アイテムのコンテナーであるキューから抽出したアイテムを格納します。一般的にこの抽出の目的は、さまざまな状況でキュー アイテムを使用できるようにすることです。たとえば、銀行で 50 件の顧客に関する預金レポートがあるとします。第三者の金融アプリケーションを使用して、5000 ドル未満の自行払い小切手 (On-Us Check) を以前預金したことのある顧客ごとのデータを処理する場合を考えます。ここでは、QueueItem 変数が顧客ごとの情報を順番に格納するワークフローを作成できます。QueueItem 変数が読み取った各エントリは、キュー アイテムに格納され、Orchestrator の指定したキューに追加されます。このプロセスの結果は、対応するキュー アイテムにそれぞれ格納された顧客の情報を含む1つのキューになります。
条件に一致するデータをさらに処理するには、以前作成したキューから、該当する 5000 ドル未満の自行払い小切手 (On-Us Check) を持つ項目を抽出するために、別のワークフローを作成しなければなりません。こうしたプロジェクトの作成手順については、このトピックの最後で説明します。
名前 / 構文 |
説明 |
---|---|
次に等しい
| |
GetHashCode
| |
GetType
| |
ToString
|
名前 / 構文 |
説明 |
---|---|
AssignedTo
| |
期限日
|
項目が処理されるべき最終の日時です。空白の場合は、項目を任意の日時に処理できます。 |
延期日
|
項目が処理可能な最短の日時です。空白の場合は、項目を可能な限り早く処理できます。 |
ID
| |
ItemKey
|
項目の一意の識別子です。たとえば、
1bf829e1-cd6b-4275-a364-19db3cfe09c7 です。
|
優先度
|
Studio で定義されているキュー アイテムの優先度です。[プロパティ] パネルの [優先度] フィールドに表示されます。 |
ProcessingException
|
失敗した項目の処理例外です。 |
進行状況
|
ステータスが [進行中] であるキュー アイテムに関するカスタム進行状況情報です。 |
QueueDefinitionId
|
キュー アイテム/トランザクションが作成されたキューの一意の識別子です。 |
QueueName
|
処理されたアイテムを含むキューの名前です。 |
参照
|
キュー アイテムをすぐに識別するためのユーザー定義の値です。 |
RetryNo
|
アイテムをリトライした回数です。 |
レビュー ステータス
|
Orchestrator から取得したキュー アイテムのリビジョン ステータスです。 |
RowVersion
|
バージョン スタンプに使用する内部フィールドです。実行中のトランザクションのプロパティが変わるごとに更新されます。 |
SpecificContent
|
[キュー アイテムを追加] アクティビティの設定に従って、実行中のトランザクションに関連するカスタム データを格納するキーと値のペアのコレクションです。 |
StartTransactionTime
|
トランザクション処理の開始日時です。 |
Status
|
Orchestrator から取得したキュー アイテムのステータスです。 |
この例の性質上、このセクションは 2 つの部分に分かれています。キューおよびキュー アイテムの操作で使用する2つのメイン ワークフローそれぞれを表しています。
キューにアイテムをアップロードする
.xlsx
ファイルに含まれるエントリを処理するオートメーション プロジェクトを作成します。たとえば、銀行で 50 件の顧客に関する預金レポートがあるとします。第三者の金融アプリケーションを使用して、5000 ドル未満の自行払い小切手 (On-Us Check) を以前預金したことのある顧客ごとのデータを処理する場合を考えます。レポートには、顧客の名前、自行払い小切手 (On-Us Check) の金額に加えて、現金化 (Cash In) と他行払い小切手 (Not On-Us Check) の金額が記載されているとします。ここでは、QueueItem 変数が顧客ごとの情報を順番に格納するワークフローを作成します。QueueItem 変数が読み取った各エントリは、キュー アイテムに格納され、Orchestrator の指定したキューに追加されます。このプロセスの結果は、顧客ごとの固有情報を含む1つのキューになります。実際のワークフローに進む前に、顧客レポートをこちらで確認しておくと良いでしょう。これから、「July Reports」シートで操作を行います。
後で面倒なことが起きないように、次のことを行います。
- 新しいシーケンスを作成します。
- [Excel アプリケーション スコープ] をシーケンス内に追加して、アクティビティの [プロパティ] ウィンドウでブックの場所を定義します。
- [実行] セクションで、[範囲を読み込み] アクティビティを追加し、レポートから値の範囲を読み込んで DataTable 変数に格納します。この場合は、
"A1-D51"
を入力するか、既定値 ("") のままにしておきます。既定値の場合、スプレッドシート全体を読み取ります。 - [シート名] フィールドにシートの名前として「
“July Report”
」を入力します。 -
[保存先] フィールドで、Ctrl + K を押して、読み込んだデータ範囲を格納する新しい DataTable 型変数を作成します。
DataTable1
またはそれに類似した名前を付けます。[変数] ウィンドウには、新しく作成された変数も表示されます (下図参照)。 -
次に、[繰り返し (各行)] アクティビティをデザイナー パネルに追加し、空白のフィールドに、「row」と DataTable 型変数
DataTable1
をそれぞれ入力します。このアクティビティは、このデータ テーブルの各行に対して [本体] セクションで定義した操作を実行します。[Do] セクションは、次のスクリーンショットと同じように表示されます。 - [繰り返し (各行)] アクティビティの [本体] セクションに、[キュー アイテムを追加] アクティビティを追加します。これにより、スプレッドシートの各行について、1 つのアイテムが 1 つのキューに追加されます (後述の手順 8~12 を参照)。
- [プロパティ] ウィンドウの [キュー名] フィールドに、項目を格納するキューの名前を指定します。ここでは、「
ReportQueue
」とします。 -
[入力] セクションで、[アイテム情報] フィールドに対応するボタンをクリックして [アイテム情報] ウィンドウを開きます。レポートの列に対応する引数を 4 つ作成します。これらを次のように定義します。
Name
- [方向] と [種類] は既定値のままにして、[値] をrow(0).ToString
に設定します。これにより、ブックの各行でカウンターが 0 の列から値を取得します。この場合は、顧客の名前です。CashIn
- [方向] と [種類] は既定値のままにして、[値] をrow(1).ToString
に設定します。これにより、ブックの各行でカウンターが 1 の列から値を取得します。この場合は、現金化 (Cash In) の値です。OnUsCheck
- [方向] と [種類] は既定値のままにして、[値] をrow(2).ToString
に設定します。これにより、ブックの各行でカウンターが 2 の列から値を取得します。この場合は、自行払い小切手 (On-Us Check) の値です。NotOnUsCheck
- [方向] と [種類] は既定値のままにして、[値] をrow(3).ToString
に設定します。これにより、ブックの各行でカウンターが 3 の列から値を取得します。この場合は、他行払い小切手 (Not On-Us Check) の値です。
-
[アイテム情報] ウィンドウは、次のスクリーンショットのように表示されます。
- Studio のロボットを Orchestrator に接続します。手順については、こちらをご覧ください。
- https://platform.uipath.com に移動して資格情報を使用してログインした後、項目を格納するための「ReportQueue」というキューを作成します。ここで、前の手順 (手順 8) で使用した名前と同じ名前を必ず使用してください。
- Studio に戻ります。この時点で、ワークフローはエラーを発生させることなく機能しているはずです。次の手順は、これを Orchestrator が使用できるようにすることです。このために、[デザイン] > [パブリッシュ] をクリックします。
-
このプロセスを実行するには、[デザイン] > [実行] をクリックします。
注: キュー アイテムは処理された後にトランザクションとなり、それ以降はトランザクションとして取り扱われることに留意してください。 - 再び https://paltform.uipath.com に移動して、このトランザクションを表示します。
キューのトランザクションを処理する
キューのトランザクションをさらに処理する方法を説明するために、2つ目のワークフローを作成します。このワークフローでは、該当するキューから 5000 ドル未満の自行払い小切手 (On-Us Check) のトランザクションを取得します。条件に合う各トランザクションについて、値が収集され、サードパーティのダミー アプリケーションに導入されます。それ以外については、ビジネス例外としてラベル付けします。
- [デザイン] > [新規作成] > [フローチャート] に移動し、上記で開始したプロジェクトで新しいファイルを作成します。
- サードパーティのダミー アプリケーションを開くために、[アプリケーションを開く] アクティビティを追加します。Start ノードに接続します。
- [プロパティ] パネルに、必須の情報 (表示名、ファイル パス、セレクター) を入力し、該当する資格情報でログインするようにアクティビティを設定します。
admin
を [ユーザー名] フィールドに、password
を [パスワード] フィールドに使用します。 - [ファイル名] フィールドには、アプリケーションのパスを入力します。
- [セレクター] フィールドで、セレクター エディターを使用して UIDemo のセレクターを定義します。
- [停止すべきか確認] アクティビティをデザイナー パネルに追加し、[アプリケーションを開く] アクティビティに接続します。
-
[フロー条件分岐] アクティビティをデザイナー パネルに追加し、[停止すべきか確認] アクティビティと接続します。この最後の 2 つのアクティビティは、ジョブの実行中に停止を行ったかどうかをチェックします。これにより、停止がトリガーされた後にさまざまな安全のためのルーチンを実行するワークフローをさらに設定する可能性があります。こうしたルーチンの例を次に示します。
- [メッセージをログ] アクティビティを追加して、これまでに追加したフロー条件分岐の [True] 分岐に接続します。
- [プロパティ] パネルの [メッセージ] フィールドに、停止がトリガーされた場合に表示するメッセージとして、「Stop process required」(停止プロセスが必要) などの文言を入力します。
- [アプリケーションを閉じる] アクティビティを追加して、これまでに追加した [メッセージをログ] アクティビティに接続します。
- [プロパティ] パネルの [表示名] フィールドで、「アプリケーションを閉じる」の後に「
UIDemo.exe UIDemo
」と入力します。
- [トランザクション アイテムを取得] アクティビティを、これまでに追加したフロー条件分岐 (手順 7) の False 分岐に接続します。このアクティビティは、キューからトランザクション アイテムを取得して、ループの繰り返しごとに、順番に QueueItem 変数に格納します。
- [プロパティ] ウィンドウの [キュー名] フィールドに、アイテムを格納するキューの名前を入力します。ここでは、「キューにアイテムをアップロードする」セクションで定義したように、「ReportQueue」いう名前を使います。
- [トランザクション アイテム] フィールドで、Ctrl + K を押して、読み込んだトランザクション アイテムを格納する QueueItem 変数を作成します。「TransItem」またはそれに類似した名前を付けます。
- [フロー条件分岐] アクティビティをデザイナー パネルに追加し、[トランザクション アイテムを取得] アクティビティと接続します。
- [プロパティ] ウィンドウの [条件] フィールドに、
TransItem isNot Nothing
と入力します。この詳細は次のとおりです。このアクティビティはキューの最後まで達しているか判別するために各項目の値を確認します。 - 手順 7 で作成した [フロー条件分岐] の [False] 分岐を [メッセージをログ] アクティビティに接続します。これによって、キューの最後に達したときにジョブが確実に停止するようになります。
- 別の [フロー条件分岐] アクティビティをデザイナー パネルに追加し、手順 11 で作成した [フロー条件分岐] の [True] 分岐に接続します。
-
[プロパティ] ウィンドウの [条件] フィールドに、
cint(TransItem.SpecificContent("OnUSCheck").ToString) < 5000
と入力します。この詳細は次のとおりです。cint
は変数を String 型から Integer 型に変換します。TransItem
は、アイテムを格納するために使用する QueueItem 変数 (手順 18) です。SpecificContent("OnUSCheck")
は、各アイテムの On US Check 引数の内容を取得します。.ToString
は QueueItem 変数のコンテンツを String 型変数に変換します。-
< 5000
は、チェック対象となる条件です。上記の式は、QueueItem 変数の OnUSCheck 値を String 型変数に変換し、さらに整数に変換します。こうして取得した値について、条件に適合しているかどうかをチェックします。
- [トランザクションのステータスを設定] アクティビティを デザイナー パネルに追加し、[フロー条件分岐] (手順 13) の False 分岐に接続します。
- [プロパティ] ウィンドウで、[ステータス] フィールドが [失敗] に設定され、[エラーの種類] が [ビジネス] に設定されていることが確認します。このように、自行払い小切手 (On US Check) の額が 5000 以上であるトランザクションは、失敗としてマークされ、ビジネス例外となります。
- [トランザクション アイテム] フィールドに
TransItem
変数を追加します。 - [理由] フィールドに、失敗したトランザクションに対して表示するメッセージとして、「OnUSCheck amount is bigger than 5000」(自行払い小切手の金額が 5000 以上です) などの文言を入力します。
- [トランザクションのステータスを設定] アクティビティを [停止すべきか確認] アクティビティ (手順 6) に接続し、キューの次のトランザクションのループとプロセスを作成します。
- [シーケンス] アクティビティをデザイナー パネルに追加し、[フロー条件分岐] (手順 13) の [True] 分岐に接続します。このシーケンス内に、[トライ キャッチ] アクティビティを追加し、項目処理中に、可能性のあるエラーがすべて、アプリケーション エラーとして正しくラベル付けされるように設定します。
- UIDemo アプリケーションを開き、ユーザー名
admin
、パスワードpassword
でログインします。 -
UIDemo アプリケーションの [現金化 (Cash In)]、[自行払い小切手 (On Us Check)]、[他行払い小切手 (Not On Us Check)] の各フィールドについて、次の一連のアクティビティを実行します。
- これまでに追加した [トライ キャッチ] アクティビティに、[文字を入力] アクティビティを追加します。
- [画面上で指定] をクリックし、UIDemo インターフェイスから、「現金化 (Cash In)」に対応する空白のフィールドを選択します。
- [プロパティ] パネルの [テキスト] フィールドに、
transItem.SpecificContent("CashIn").ToString
と入力します。この式のそれぞれの項目については、前述の手順 15 で説明しています。この式は、各 QueueItem 変数の値を String 型変数に変換します。 - [Simulate Type] のオプションが選択されていることを確認してください。
-
[デザイン] タブの [ウィザード] セクションで、[画面スクレイピング] をクリックして、UIDemo アプリケーションのトランザクション番号を指定します。
- 画面スクレイピング ウィザードで、スクレイピング方法を選択して、[終了] をクリックします。これにより、ワークフローに[画面スクレイピング] アクティビティが挿入されます。このアクティビティは必ず、これまでに追加した [文字を入力] アクティビティの後に配置し、[テキスト] フィールドを新しい変数 (例:
TransactionValue
) に設定する必要があります。これにより、最初の条件に一致する各キュー アイテムのトランザクション番号が取得されます。 - [トランザクションのステータスを設定] アクティビティを [画面スクレイピング] アクティビティの後に追加します。
- [プロパティ] ウィンドウで、[ステータス] フィールドが [成功] に設定され、[エラーの種類] が [アプリケーション] に設定されていることが確認します。このように、値のセットがアプリケーションに正常に導入された場合、トランザクションのステータスが「成功」となるか、それ以外の場合はアプリケーション例外とラベル付けされます。
- [出力] ウィンドウで、新しい引数を定義し、これまでに作成した変数
TransactionValue
(手順 25) を値として追加します。 - [トランザクション アイテム] フィールドに
TransItem
変数を追加します。 - [シーケンス] アクティビティの [文字を入力] アクティビティの後に、[クリック] アクティビティをに追加します。
- [画面上で指定] をクリックし、UIDemo インターフェイスで [Accept] ボタンを選択します。[入力をシミュレート] オプションが選択されていることを確認してください。
-
[トライ キャッチ] アクティビティは、次のスクリーンショットのように表示されます。
- フローチャートに戻って、これまでに追加した [シーケンス] アクティビティ (手順 21) を[停止すべきか確認] アクティビティ (手順 6) に接続し、キューの次のトランザクションのループとプロセスを作成します。
-
フローチャートは、次のスクリーンショットのように表示されます。
- このプロセスを実行するには、[デザイン] > [実行] をクリックします。
- 実行が終了したら、https://platform.uipath.com に移動し、処理済みのトランザクションを表示できます。各処理に関する詳細情報も確認できます。
-
トランザクションが成功した場合
-
トランザクションが失敗した場合