こんにちは。UiPath Studio 2023.6.1 Community Editionを利用中の初心者です。
1.やりたいこと
DataRow引数i_dr_transactionitemをFor EachでIterateして(回して)Nullでないカラムの列番号を配列arr_Col_Index_Int32に取得したい。(WFは添付参照)
2.悩んでいること
WFを実行していない状態で添付画像のエラーが出ます。原因が分かる方、ご教示をお願い致します。
こんにちは。UiPath Studio 2023.6.1 Community Editionを利用中の初心者です。
1.やりたいこと
DataRow引数i_dr_transactionitemをFor EachでIterateして(回して)Nullでないカラムの列番号を配列arr_Col_Index_Int32に取得したい。(WFは添付参照)
2.悩んでいること
WFを実行していない状態で添付画像のエラーが出ます。原因が分かる方、ご教示をお願い致します。
こんにちは
直接の原因はitemがobject型となっていることかと思います。まずは繰り返し(コレクションの各要素)アクティビティのエラー・設定見直しが必要かと思います。
初心者のため、この回答では、どこの設定をどう見直せばよいかさっぱり分かりません。もう少しどこの設定をどう見直せばよいか、分かりやすく解説をお願いできないでしょうか?
初心者のため、この回答では、どこの設定をどう見直せばよいかさっぱり分かりません。もう少しどこの設定をどう見直せばよいか、分かりやすく解説をお願いできないでしょうか?
上記だけの情報では判断できませんので、まずは繰り返し(コレクションの各要素)アクティビティで何を行おうとしているのか、i_dt_TransactionItemの型が何かなどを共有いただくと良いかと思います。
1.やりたいこと
Rpa Challenge 1
のサイトにExcelから顧客データを1行ずつDataRow変数に読み出して書き込むWFを作成中です。
DataRow変数dr_TransactionItemは、処理対象レコードを取得シーケンスで、DataTable変数dt_TransactionDataから抽出して作成します。
過去の開発経験では、このような場合ExcelにNullが存在する場合が多かったことから、Nullの場合Webへの書き込みをスキップする仕様にしたいと考えています。
そこで、DataRow変数のNullでない列番号をarr_Col_Index_Int32に取得し、arr_Col_Index_Int32に存在する列番号のデータだけをWeb転記する仕様にしたいと考えています。
実際の業務の処理はMain.xamlからProcess.xamlにDataRow引数i_dr_TransactionItemを渡して処理します。
2.悩んでいること
WFを実行していない状態で添付画像[遅延バインディングエラー]のエラーが出ます。原因が分かる方、ご教示をお願い致します。プロジェクトをzipにしてUploadします。
Framework9-1.zip (2.7 MB)
繰り返し(コレクションの各要素)アクティビティで何を行おうとしているのか
を明確にできますでしょうか?
itemはこの繰り返しの各要素になりますので、現在その型がObjectになっていると思われます。
DataRowの各要素(ItemArray)をチェックしたいのであれば、この繰り返しアクティビティは不要で
itemのかわりに直接i_dt_TransactionItemを指定したらよいかと思います。
For Eachでやりたいことは、最初の質問文に書いてある通り、
DataRow引数i_dr_transactionitemをFor EachでIterateして(回して)Nullでないカラムの列番号を配列arr_Col_Index_Int32に取得したい。となります。
>この繰り返しアクティビティは不要で
For Eachアクティビティが不要ということでしょうか?その割にはitemをi_dt_TransactionItem(正しくはDataRowなのでi_dr_TransactionItemです)に置換してはどうかと提案をされているようなので、何をどうすればよいかよく分かりません。まずは、For Eachを残せばよいのか、それとも他の何かに置換する必要があるのかを明確にしてください。
こんにちは
上記のi_dt_TransactionItemはi_dr_TransactionItemの誤記です。ForEachアクティビティは不要で、式は単に以下になります。
arr_Col_Index_Int32 = i_dr_TransactionItem.ItemArray.Select(Function(o,i) Tuple.Create(o.ToString,i)).Where(Function(t) not String.IsNullOrEmpty(t.Item1)).Select(Function(t) t.Item2).ToArray()