UiPath Documentation
studio
2022.4
false
Studio ガイド
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

UiPath 固有の変数

GenericValue 変数

GenericValue 変数は、テキスト、数値、日付、または配列といった種類のデータを格納することができる変数型であり、Studio 特有のものです。

GenericValue 変数は、特定のアクションを実行できるように自動的に他の型に変換されます。ただし、これらの変数の型はプロジェクトに対して常に正しく変換されるとは限らないため、使用には十分な注意が必要です。

UiPath Studio には GenericValue 変数の自動変換メカニズムがあり、式を正しく定義することで、目的の結果を得ることができます。式の最初の要素は、Studio から操作するガイドラインとして使用されることを考慮してください。たとえば、2 つの GenericValue 変数を追加し、式の最初の変数が String として定義されてた場合、最初に代入された値を元に 2 つの値を結合し、文字列となります。 Integer として定義した場合の結果は、合計の値となります。

.NET メソッドのサポート

名前 / 構文 説明

CompareTo

  • Function GenericValue.CompareTo(other As GenericValue) As Integer
  • Function GenericValue.CompareTo(obj As Object) As Integer

[詳細はこちら][1]

[1]: https://msdn.microsoft.com/en-us/library/system.string.compareto(v=vs.110).aspx

次の値を含む

  • Function GenericValue.Contains(other As String) As Boolean

[詳細はこちら][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 に変換され、それに応じて処理されます。

次に等しい

  • Function GenericValue.Equals(other As GenericValue) As Boolean
  • Function GenericValue.Equals(obj As Object) As Boolean

[詳細はこちら][3]

[3]: https://msdn.microsoft.com/en-us/library/system.string.equals(v=vs.110).aspx

GetHashCode

  • Function GenericValue.GetHashCode() As Integer

[詳細はこちら][5]

[5]: https://msdn.microsoft.com/en-us/library/system.string.format(v=vs.110).aspx

GetType

  • Function Object.GetType() As Type

[詳細はこちら][6]

[6]: https://msdn.microsoft.com/en-us/library/system.object.gettype(v=vs.110).aspx

GetTypeCode

  • Function GenericValue.GetTypeCode() As TypeCode

[詳細はこちら][7]

[7]: https://msdn.microsoft.com/en-us/library/system.string.gettypecode(v=vs.110).aspx

IndexOf

  • Function GenericValue.IndexOf(value As String) As Integer
  • Function GenericValue.IndexOf(value As String, comparisonType As StringComparison) As Integer
  • Function GenericValue.IndexOf(value As String, startIndex As Integer) As Integer
  • Function GenericValue.IndexOf(value As String, startIndex As Integer, comparisonType As StringComparison) As Integer

[詳細はこちら][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 に変換され、それに応じて処理されます。

長さ

  • Function GenericValue.Lenght() As Integer

[詳細はこちら][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 に変換され、それに応じて処理されます。

置換

  • Function GenericValue.Replace(oldValue As String, new value As String) As 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

  • Function GenericValue.Split(ParamArray separator As Char()) As String()
  • Function GenericValue.Split(ParamArray separator As String()) As String()
  • Function GenericValue.Split(separator As Char(), options As StringSplitOptions) As String()
  • Function GenericValue.Split(separator As String(), options As StringSplitOptions) As String()

[詳細はこちら][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

  • Function GenericValue.Substring(startIndex As Integer) As String
  • Function GenericValue.Substring(startIndex As Integer, length As Integer) As String

[詳細はこちら][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

  • Function GenericValue.ToBoolean(provider As IFormatProvider) As Boolean

[詳細はこちら][13]

[13]: https://msdn.microsoft.com/en-us/library/bb346937(v=vs.110).aspx

ToByte

  • Function GenericValue.ToByte(provider As IFormatProvider) As Byte

[詳細はこちら][14]

[14]: https://msdn.microsoft.com/en-us/library/bb355898(v=vs.110).aspx

ToChar

  • Function GenericValue.ToChar(provider As IFormatProvider) As Char

[詳細はこちら][15]

[15]: https://msdn.microsoft.com/en-us/library/bb335877(v=vs.110).aspx

ToDecimal

  • Function GenericValue.ToDecimal(provider As IFormatProvider) As Decimal
  • Function GenericValue.ToDecimal(format As NumberStyles) As Decimal

[詳細はこちら][17]

[17]: https://msdn.microsoft.com/en-us/library/bb359959(v=vs.110).aspx

ToDouble

  • Function GenericValue.ToDouble(provider As IFormatProvider) As Double
  • Function GenericValue.ToDouble(format As NumberStyles) As Double

[詳細はこちら][18]

[18]: https://msdn.microsoft.com/en-us/library/bb154906(v=vs.110).aspx

ToInt

  • Function GenericValue.ToInt(culture As IFormatProvider) As Integer?
  • Function GenericValue.ToInt() As Integer?

指定した値を null を許容する整数に変換するために使用します。

このメソッドを Boolean データ型の GenericValue 変数で使用すると、「True」と「False」の値がそれぞれ 1 と 0 に変換されます。

ToInt16

  • Function GenericValue.ToInt16(provider As IFormatProvider) As Short

[詳細はこちら][20]

[20]: https://msdn.microsoft.com/en-us/library/bb293091(v=vs.110).aspx

このメソッドを Boolean データ型の GenericValue 変数で使用すると、「True」と「False」の値がそれぞれ 1 と 0 に変換されます。

ToInt32

  • Function GenericValue.ToInt32(provider As IFormatProvider) As Integer

[詳細はこちら][21]

[21]: https://msdn.microsoft.com/en-us/library/bb300452(v=vs.110).aspx

このメソッドを Boolean データ型の GenericValue 変数で使用すると、「True」と「False」の値がそれぞれ 1 と 0 に変換されます。

ToInt64

  • Function GenericValue.ToInt64(provider As IFormatProvider) As Long

[詳細はこちら][22]

[22]: https://msdn.microsoft.com/en-us/library/bb359566(v=vs.110).aspx

このメソッドを Boolean データ型の GenericValue 変数で使用すると、「True」と「False」の値がそれぞれ 1 と 0 に変換されます。

ToLower

  • Function GenericValue.ToLower() As String

[詳細はこちら][23]

[23]: https://msdn.microsoft.com/en-us/library/system.string.tolower(v=vs.110).aspx

このメソッドを Int、Float、または Boolean データ型の GenericValue 変数で使用すると、データは自動的に String に変換され、それに応じて処理されます。

ToLowerInvariant

  • Function GenericValue.ToLowerInvariant() As String

[詳細はこちら][24]

[24]: https://msdn.microsoft.com/en-us/library/system.string.tolowerinvariant(v=vs.110).aspx

このメソッドを Int、Float、または Boolean データ型の GenericValue 変数で使用すると、データは自動的に String に変換され、それに応じて処理されます。

ToSByte

  • Function GenericValue.ToSByte(provider As IFormatProvider) As SByte

[詳細はこちら][25]

[25]: https://msdn.microsoft.com/en-us/library/bb342232(v=vs.110).aspx

ToSingle

  • Function GenericValue.ToSingle(provider As IFormatProvider) As Single

[詳細はこちら][26]

[26]: https://msdn.microsoft.com/en-us/library/bb360375(v=vs.110).aspx

ToString

  • Function GenericValue.ToString(formatProvider As IFormatProvider) As String
  • Function GenericValue.ToString(format As String, formatProvider As IFormatProvider) As String
  • Function GenericValue.ToString() As String

[詳細はこちら][27]

[27]: https://msdn.microsoft.com/en-us/library/system.string.tostring(v=vs.110).aspx

ToType

  • Function GenericValue.ToType(conversionType As Type, provider As IFormatProvider) As Object

[詳細はこちら][29]

[29]: https://msdn.microsoft.com/en-us/library/bb358540(v=vs.110).aspx

ToUInt16

  • Function GenericValue.ToUInt16(provider As IFormatProvider) As UShort

[詳細はこちら][30]

[30]: https://msdn.microsoft.com/en-us/library/bb337265(v=vs.110).aspx

このメソッドを Boolean データ型の GenericValue 変数で使用すると、「True」と「False」の値がそれぞれ 1 と 0 に変換されます。

ToUInt32

  • Function GenericValue.ToUInt32(provider As IFormatProvider) As UInteger

[詳細はこちら][31]

[31]: https://msdn.microsoft.com/en-us/library/bb357762(v=vs.110).aspx

このメソッドを Boolean データ型の GenericValue 変数で使用すると、「True」と「False」の値がそれぞれ 1 と 0 に変換されます。

ToUInt64

  • Function GenericValue.ToUInt64(provider As IFormatProvider) As Ulong

[詳細はこちら][32]

[32]: https://msdn.microsoft.com/en-us/library/bb155099(v=vs.110).aspx

このメソッドを Boolean データ型の GenericValue 変数で使用すると、「True」と「False」の値がそれぞれ 1 と 0 に変換されます。

ToUpper

  • Function GenericValue.ToUpper() As String

[詳細はこちら][33]

[33]: https://msdn.microsoft.com/en-us/library/system.string.toupper(v=vs.110).aspx

このメソッドを Int、Float、または Boolean データ型の GenericValue 変数で使用すると、データは自動的に String に変換され、それに応じて処理されます。

ToUpperInvariant

  • Function GenericValue.ToUpperInvariant() As String

[詳細はこちら][34]

[34]: https://msdn.microsoft.com/en-us/library/system.string.toupperinvariant(v=vs.110).aspx

このメソッドを Int、Float、または Boolean データ型の GenericValue 変数で使用すると、データは自動的に String に変換され、それに応じて処理されます。

Trim

  • Function GenericValue.Trim(ParamArray trimChars As Char()) As String
  • Function GenericValue.Trim() As String

[詳細はこちら][35]

[35]: https://msdn.microsoft.com/en-us/library/system.string.trim(v=vs.110).aspx

このメソッドを Int、Float、または Boolean データ型の GenericValue 変数で使用すると、データは自動的に String に変換され、それに応じて処理されます。

TrimEnd

  • Function GenericValue.TrimEnd(ParamArray trimChars As Char()) As String

[詳細はこちら][36]

[36]: https://msdn.microsoft.com/en-us/library/system.string.trimend(v=vs.110).aspx

このメソッドを Int、Float、または Boolean データ型の GenericValue 変数で使用すると、データは自動的に String に変換され、それに応じて処理されます。

TrimStart

  • Function GenericValue.TrimStart(ParamArray trimChars As Char()) As String

[詳細はこちら][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 変数の使用例

GenericValue 変数の動作を確認するためには、式の定義方法によって結果が変わるような操作をするオートメーションを作成する必要があります。異なるデータ型の 2 つの GenericValue 変数を作成し、結果を [出力] パネルに表示します。

  1. 新しいプロジェクトを作成します。

  2. 3 つの GenericValue 変数 IntStr、および Result を作成します。

  3. Int 変数の [既定値] 列に 12 を入力し、Str 変数に "34" と入力します。最初の変数は整数として処理され、2 番目の変数は文字列として処理されます。

  4. デザイナー パネルに[代入] アクティビティを追加し、 Start ノードに接続します。

  5. [プロパティ] パネルの [左辺値 (To)] フィールドに、Result 変数を入力します。

  6. [右辺値 (Value)] フィールドに、「Int + Str」と入力します。

  7. [ 1 行を書き込み ] アクティビティを追加して、[ 代入 ] アクティビティに接続します。

  8. [プロパティ] パネルの [テキスト] フィールドに、Result 変数を入力します。

    プロジェクトは次のスクリーンショットのようになります。

  9. F5 キーを押してオートメーションを実行します。[出力] パネルに 2 つの数字の合計が表示されます。

  10. 以前追加した [代入 ] アクティビティに戻り、[ 右辺 値 (Value)] フィールドを Str + Intに変更し、変数の順序を逆にします。プロジェクトは次のスクリーンショットのようになります。

  11. F5 キーを押してオートメーションを実行します。[出力] パネルには、2 つの数字が結合され、文字列として表示します。

UiPath Studio は、式で定義された最初の要素を実行する操作のガイドラインとして使用します。式の最初の要素が整数、または整数として入力されたジェネリック値変数の場合、UiPath Studio は要素を合計します。

式の最初の要素が文字列、または文字列として入力されたジェネリック値変数の場合、UiPath Studio は要素を連結します。

QueueItem 変数

QueueItem 型変数のセクションに進む前に、「キューおよびトランザクションについて」でキューとトランザクションの概要を確認することをお勧めします。

このテーマに関して詳しく学習する前に、キュー アイテム (Orchestrator 内のキューに格納されるアイテム) と QueueItem 変数 (Studio でキュー アイテムを処理するために使用される変数) の違いをしっかり理解しておいてください。UiPath では、この2つを「QueueItem 変数」と「キュー アイテム」と呼んで区別しています。

大まかに言うと、QueueItem 変数は、その名前が示すとおり、アイテムのコンテナーであるキューから抽出したアイテムを格納します。一般的にこの抽出の目的は、さまざまな状況でキュー アイテムを使用できるようにすることです。たとえば、銀行で 50 件の顧客に関する預金レポートがあるとします。第三者の金融アプリケーションを使用して、5000 ドル未満の自行払い小切手 (On-Us Check) を以前預金したことのある顧客ごとのデータを処理する場合を考えます。ここでは、QueueItem 変数が顧客ごとの情報を順番に格納するワークフローを作成できます。QueueItem 変数が読み取った各エントリは、キュー アイテムに格納され、Orchestrator の指定したキューに追加されます。このプロセスの結果は、対応するキュー アイテムにそれぞれ格納された顧客の情報を含む1つのキューになります。

条件に一致するデータをさらに処理するには、以前作成したキューから、該当する 5000 ドル未満の自行払い小切手 (On-Us Check) を持つ項目を抽出するために、別のワークフローを作成しなければなりません。こうしたプロジェクトの作成手順については、このトピックの最後で説明します。

.NET メソッドのサポート

名前 / 構文 説明

次に等しい

  • Function Object.Equals(obj As Object) As Boolean

GetHashCode

  • Function Object.GetHashCode() As Integer

GetType

  • Function Object.GetType() As Type

ToString

  • Function Object.ToString() As String

サポートされるプロパティ

名前 / 構文 説明

AssignedTo

  • Property QueueItem.AssignedTo As String

期限日

  • Property QueueItem.DueDate As Date?

項目が処理されるべき最終の日時です。空白の場合は、項目を任意の日時に処理できます。

延期日

  • Property QueueItem.DueDate As Date?

項目が処理可能な最短の日時です。空白の場合は、項目を可能な限り早く処理できます。

ID

  • Property QueueItem.Id As Long?

ItemKey

  • Property QueueItem.ItemKey As Guid

項目の一意の識別子です。たとえば、1bf829e1-cd6b-4275-a364-19db3cfe09c7 です。

優先度

  • Property QueueItem.Priority As QueueItemPriority

Studio で定義されているキュー アイテムの優先度です。[プロパティ] パネルの [優先度] フィールドに表示されます。

ProcessingException

  • Property QueueItem.ProcessingException As ProcessingException

失敗した項目の処理例外です。

進行状況

  • Property QueueItem.Progress As String

ステータスが [進行中] であるキュー アイテムに関するカスタム進行状況情報です。

QueueDefinitionId

  • Property QueueItem.QueueDefinitionId As Long

キュー アイテム/トランザクションが作成されたキューの一意の識別子です。

QueueName

  • Property QueueItem.QueueName As String

処理されたアイテムを含むキューの名前です。

参照

  • Property QueueItem.Reference As String

キュー アイテムをすぐに識別するためのユーザー定義の値です。

RetryNo

  • Property QueueItem.RetryNo As Integer

アイテムをリトライした回数です。

レビュー ステータス

  • Property QueueItem.ReviewStatus As String

Orchestrator から取得したキュー アイテムのリビジョン ステータスです。

RowVersion

  • Property QueueItem.RowVersion As Byte()

バージョン スタンプに使用する内部フィールドです。実行中のトランザクションのプロパティが変わるごとに更新されます。

SpecificContent

  • Property QueueItem.SpecificContent As Dictionary(Of String, Object)

[キュー アイテムを追加] アクティビティの設定に従って、実行中のトランザクションに関連するカスタム データを格納するキーと値のペアのコレクションです。

StartTransactionTime

  • Property QueueItem.StartTransactionTime As Date?

トランザクション処理の開始日時です。

ステータス

  • Property QueueItem.Status As QueueItemStatus

Orchestrator から取得したキュー アイテムのステータスです。

QueueItem 変数の使用例

この例の性質上、このセクションは 2 つの部分に分かれています。キューおよびキュー アイテムの操作で使用する2つのメイン ワークフローそれぞれを表しています。

キューにアイテムをアップロードする

アイテムをキューに追加する方法を説明するために、.xlsx ファイルに含まれるエントリを処理するオートメーション プロジェクトを作成します。たとえば、銀行で 50 件の顧客に関する預金レポートがあるとします。第三者の金融アプリケーションを使用して、5000 ドル未満の自行払い小切手 (On-Us Check) を以前預金したことのある顧客ごとのデータを処理する場合を考えます。レポートには、顧客の名前、自行払い小切手 (On-Us Check) の金額に加えて、現金化 (Cash In) と他行払い小切手 (Not On-Us Check) の金額が記載されているとします。ここでは、QueueItem 変数が顧客ごとの情報を順番に格納するワークフローを作成します。QueueItem 変数が読み取った各エントリは、キュー アイテムに格納され、Orchestrator の指定したキューに追加されます。このプロセスの結果は、顧客ごとの固有情報を含む1つのキューになります。実際のワークフローに進む前に、顧客レポートをこちらで確認しておくと良いでしょう。これから、「July Reports」シートで操作を行います。

後で面倒なことが起きないように、次のことを行います。

  1. 新しいシーケンスを作成します。

  2. Add an Excel Application Scope activity inside the sequence, and define the location of the workbook in the Properties pane of the activity.

  3. Inside the Do section, add a Read Range activity to read the desired range of values from the report and store them in a DataTable variable. In our case, type "A1-D51" or simply leave the default value, “”, which means the entire spreadsheet is read.

  4. [シート名] フィールドにシートの名前として「“July Report”」を入力します。

  5. [データ テーブル] フィールドで、Ctrl + K を押して、読み込んだデータ範囲を格納する新しい DataTable 型変数を作成します。DataTable1 またはそれに類似した名前を付けます。[変数] ウィンドウには、新しく作成された変数も表示されます (下図参照)。

  6. Next, add a For Each Row activity to the Designer panel and fill in the blank fields with “row” and the name of the DataTable variable, DataTable1, respectively. This activity performs the action defined in the Body section for each row in the data table. The Do section should look similar to the following screenshot so far:

  7. [繰り返し (各行)] アクティビティの [本体] セクションに、[キュー アイテムを追加] アクティビティを追加します。これにより、スプレッドシートの各行について、1 つのアイテムが 1 つのキューに追加されます (後述の手順 8~12 を参照)。

  8. [プロパティ] ウィンドウの [キュー名] フィールドに、アイテムを格納するキューの名前を指定します。ここでは、「ReportQueue」とします。

  9. [入力] セクションで、[アイテム情報] フィールドに対応するボタンをクリックして [アイテム情報] ウィンドウを開きます。レポートの列に対応する引数を 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] の値です。
  10. [アイテム情報] ウィンドウは、次のスクリーンショットのように表示されます。

  11. Studio のロボットを Orchestrator に接続します。手順については、こちらをご覧ください。

  12. Navigate to https://platform.uipath.com, log in using your credentials, and then create a queue, ReportQueue, to store the items. Make sure that, whatever name you used above (step 8), you use the same here.

  13. Studio に戻ります。この時点で、ワークフローはエラーを発生させることなく機能しているはずです。次の手順は、これを Orchestrator が使用できるようにすることです。このために、[デザイン] > [パブリッシュ] をクリックします。

  14. このプロセスを実行するには、[デザイン] > [実行] をクリックします。

    注:

    キュー アイテムは処理された後にトランザクションとなり、それ以降はトランザクションとして取り扱われることに留意してください。

キューのトランザクションを処理する

キューのトランザクションをさらに処理する方法を説明するために、2つ目のワークフローを作成します。このワークフローでは、該当するキューから 5000 ドル未満の自行払い小切手 (On-Us Check) のトランザクションを取得します。条件に合う各トランザクションについて、値が収集され、サードパーティのダミー アプリケーションに導入されます。それ以外については、ビジネス例外としてラベル付けします。

  1. [デザイン] > [新規作成] > [フローチャート] に移動し、上記で開始したプロジェクトで新しいファイルを作成します。

  2. Add an Open Application activity to open the third-party dummy application. Connect it to the Start node.

  3. [プロパティ] パネルに、必須の情報 (表示名ファイル名セレクター) を入力し、該当する資格情報でアクティビティにログインします。admin[ユーザー名] フィールドに、password[パスワード] フィールドに使用します。

  4. [ファイル名] フィールドには、アプリケーションのパスを入力します。

  5. [セレクター] フィールドで、セレクター エディターを使用して UIDemo のセレクターを定義します。

  6. [ 停止すべきか確認] アクティビティを デザイナー パネルに追加し、[ アプリケーションを開く] アクティビティに接続します。

  7. [ フロー条件分岐] アクティビティを デザイナー パネルに追加し、[ 停止すべきか 確認] アクティビティと接続します。この最後の 2 つのアクティビティは、ジョブの実行中に停止を行ったかどうかをチェックします。これにより、停止がトリガーされた後にさまざまな安全のためのルーチンを実行するワークフローをさらに設定する可能性があります。こうしたルーチンの例を次に示します。

    • [ メッセージをログ ] アクティビティを追加して、これまでに追加したフロー条件分岐の [True ] 分岐に接続します。
    • [プロパティ] パネルの [メッセージ] フィールドに、停止がトリガーされた場合に表示するメッセージとして、「Stop process required」(停止プロセスが必要) などの文言を入力します。
    • [ アプリケーションを閉じる ] アクティビティを追加して、これまでに追加した [メッセージをログ ] アクティビティに接続します。
    • [プロパティ] パネルの [表示名] フィールドで、「アプリケーションを閉じる」の後に「UIDemo.exe UIDemo」と入力します。
  8. [ トランザクション アイテムを取得 ] アクティビティを、これまでに追加したフロー条件分岐 (手順 7 ) の False 分岐に接続します。このアクティビティは、キューからトランザクション アイテムを取得し、ループが反復処理されるたびに順番に QueueItem 変数に格納します。

  9. [プロパティ] ウィンドウの [キュー名] フィールドに、アイテムを格納するキューの名前を入力します。ここでは、「キューにアイテムをアップロードする」セクションで定義したように、「ReportQueue」いう名前を使います。

  10. [トランザクション アイテム] フィールドで、Ctrl + K を押して、読み込んだトランザクション アイテムを格納する QueueItem 変数を作成します。「TransItem」またはそれに類似した名前を付けます。

  11. [フロー条件分岐] アクティビティをデザイナー パネルに追加し、[トランザクション アイテムを取得] アクティビティと接続します。

  12. [プロパティ] ウィンドウの [条件] フィールドに、TransItem isNot Nothing と入力します。この詳細は次のとおりです。このアクティビティはキューの最後まで達しているか判別するために各項目の値を確認します。

  13. 手順 7 で作成した [フロー条件分岐] の [False] 分岐を [メッセージをログ] アクティビティに接続します。これによって、キューの最後に達したときにジョブが確実に停止するようになります。

  14. 別の [フロー条件分岐] アクティビティをデザイナー パネルに追加し、手順 11 で作成した [フロー条件分岐] の [True] 分岐に接続します。

  15. [プロパティ] ウィンドウの [条件] フィールドに、cint(TransItem.SpecificContent("OnUSCheck").ToString) < 5000 と入力します。この詳細は次のとおりです。

    • cint は変数を String 型から Integer 型に変換します。

    • TransItem は、アイテムを格納するために使用する QueueItem 変数 (手順 18) です。

    • SpecificContent("OnUSCheck") は、各アイテムの On US Check 引数の内容を取得します。

    • .ToString は QueueItem 変数のコンテンツを String 型変数に変換します。

    • < 5000 は、チェック対象となる条件です。

      上記の式は、QueueItem 変数の OnUSCheck 値を String 型変数に変換し、さらに整数に変換します。こうして取得した値について、条件に適合しているかどうかをチェックします。

  16. [トランザクションのステータスを設定] アクティビティをデザイナー パネルに追加し、前の [フロー条件分岐] (手順 13) の [False] 分岐に接続します。

  17. [プロパティ] ウィンドウで、[ステータス] フィールドが [失敗] に設定され、[エラーの種類][ビジネス] に設定されていることが確認します。このように、自行払い小切手 (On US Check) の額が 5000 以上であるトランザクションは、失敗としてマークされ、ビジネス例外となります。

  18. [トランザクション アイテム] フィールドに TransItem 変数を追加します。

  19. [理由] フィールドに、失敗したトランザクションに対して表示するメッセージとして、「OnUSCheck amount is bigger than 5000」(自行払い小切手の金額が 5000 以上です) などの文言を入力します。

  20. [トランザクションのステータスを設定] アクティビティを [停止すべきか確認] アクティビティ (手順 6) に接続し、キューの次のトランザクションのループとプロセスを作成します。

  21. [シーケンス] アクティビティをデザイナー パネルに追加し、[フロー条件分岐] (手順 13) の [True] 分岐に接続します。このシーケンス内に、[ トライ キャッチ] アクティビティを追加し、項目処理中に、可能性のあるエラーがすべて、アプリケーション エラーとして正しくラベル付けされるように設定します。

  22. UIDemo アプリケーションを開き、ユーザー名 admin、パスワード password でログインします。

  23. UIDemo アプリケーションの [現金化 (Cash In)][自行払い小切手 (On Us Check)][他行払い小切手 (Not On Us Check)] の各フィールドについて、次の一連のアクティビティを実行します。

    • Into the previous Try Catch activity, add a Type Into activity.
    • [画面上で指定] をクリックし、UIDemo インターフェイスから、「現金化 (Cash In)」に対応する空白のフィールドを選択します。
    • [プロパティ] パネルの [テキスト] フィールドに、transItem.SpecificContent("CashIn").ToString と入力します。この式のそれぞれの項目については、前述の手順 15 で説明しています。この式は、各 QueueItem 変数の値を String 型変数に変換します。
    • Make sure that the Simulate Type option is selected.
  24. [デザイン] タブの [ウィザード] セクションで、[画面スクレイピング] をクリックして、UIDemo アプリケーションのトランザクション番号を指定します。

  25. 画面スクレイピング ウィザードで、スクレイピング方法を選択して、[終了] をクリックします。これにより、ワークフローに[画面スクレイピング] アクティビティが挿入されます。このアクティビティは必ず、これまでに追加した [文字を入力] アクティビティの後に配置し、[テキスト] フィールドを新しい変数 (例: TransactionValue) に設定する必要があります。これにより、最初の条件に一致する各キュー アイテムのトランザクション番号が取得されます。

  26. [トランザクションのステータスを設定] アクティビティを [画面スクレイピング] アクティビティの後に追加します。

  27. [プロパティ] ウィンドウで、[ステータス] フィールドが [成功] に設定され、[エラーの種類][アプリケーション] に設定されていることが確認します。このように、値のセットがアプリケーションに正常に導入された場合、トランザクションのステータスが「成功」となるか、それ以外の場合はアプリケーション例外とラベル付けされます。

  28. [出力] ウィンドウで、新しい引数を定義し、これまでに作成した変数 TransactionValue (手順 25) を値として追加します。

  29. [トランザクション アイテム] フィールドに TransItem 変数を追加します。

  30. [シーケンス] アクティビティの [文字を入力] アクティビティの後に、[クリック] アクティビティをに追加します。

  31. [画面上で指定] をクリックし、UIDemo インターフェイスで [Accept] ボタンを選択します。[入力をシミュレート] オプションが選択されていることを確認してください。

  32. [トライ キャッチ] アクティビティは、次のスクリーンショットのように表示されます。

  33. フローチャートに戻って、これまでに追加した [シーケンス] アクティビティ (手順 21) を[停止すべきか確認] アクティビティ (手順 6) に接続し、キューの次のトランザクションのループとプロセスを作成します。

  34. フローチャートは、次のスクリーンショットのように表示されます。

  35. このプロセスを実行するには、[デザイン] > [実行] をクリックします。

  36. After the execution has ended, you may navigate to https://platform.uipath.com and display the processed transactions with the corresponding processing details:

  • トランザクションが成功した場合

  • トランザクションが失敗した場合

このページは役に立ちましたか?

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得