AAAbbb
1
引数の「出力」、「入力」、「入力/出力」の概念を理解したかったため
簡単なシナリオを作成したのですが、意図に沿った結果が出ません。
とても初歩的な質問で恐縮ですが、ご存じの方がいれば教えてほしいことがあります。
【試したいこと】
①「基」シナリオで、アクティビティ「代入」を使用し、「渡す変数」に「“AAA”」を代入
②「メイン」シナリオで、「ワークフローファイルを呼び出し」を使用し、「渡す変数」の「“AAA”」を「もらう変数」に出力したい
①:「基」シナリオは下記のように設定しました。

②:「メイン」シナリオは下記のように設定しました

しかしメッセージボックスで「もらう変数」を見たのですが、紫枠のように空の状態です(AAAと表示されない)
どこか設定が間違っていますでしょうか?
1 Like
こんにちはuipathへようこそ…ここで私はサンプルexeファイルを添付してください。見てそれを見てください。flow1.zip (17.2 KB)
1 Like
Yoichi
(Yoichi)
3
こんにちは
掲載いただいている情報を見ますと特段誤りは無いように見えますが..
動作の確認はどのようにされていますでしょうか?Studioでの実行はxamlファイル単位になり、切り出されたSequence単位にはなりません。上位のフローチャート等の情報が無いので何とも判断できませんが、このSequenceに処理が流れていない可能性はありませんでしょうか?
あるいは、もし可能でしたら当該ファイルをupいただくとコメントができるかもしれません。
1 Like
Jun1
(Jun Shiomi)
4
こんにちわ
@AAAbbb
上記と全く同じワークフローで試して見ましたが、
正常に動作しますね・・・
念のため、もう一度、「引数をインポート」を押して、
値に「もらう変数」が入ってるかも確認頂けますか。
1 Like
ひょっとして、「基」の方に、引数「渡す変数」と変数「渡す変数」の両方が定義されてませんか?
自分の経験では、引数と変数で同じ名前の定義があると、引数が返ってこないことがよくありました。
1 Like
HANACCHI
(はなっち!UiPath Japan MVP 2019-2022)
6
スコープの見直しって奴ですね。
シーケンス、フローチャートなど、小さい範囲で定義されていて、
でも、上位でも定義されていると、変数の誤用につながりますね。
だもんで、変数は常に最上位。。。
AAAbbb
7
@HANACCHI @Yoichi @tsushima @priyankavivek @Jun1
皆様
返信が遅れてしまい、誠に申し訳ございません。
色々なアドバイスを頂き、本当に本当にありがとうございます!!
私自身のレベルが低すぎるためか、未だに原因がつかめずにいますが、、、
①:「メイン」ワークフローのタスクバーより、「新規」→「シーケンス」を選択し、「基2」を新規に作成
②:「基」のアクティビティを一個ずつコピー(Ctrl+C)→「基2」に貼り付け(Ctrl+V)
③:「基2」ワークフローに「基」と全く同じ引数を設定
④:「メイン」ワークフローの「ワークフローファイルを呼び出し」に「基2」を選択
上記①~④を設定し実行したら、メッセージに「AAA」と出ました。
(「基」ワークフローは相変わらずAAAが表示されません)
私が試したワークフローをZipにて添付いたしますので、
宜しければご確認頂ければと思います。
引数テスト.zip (25.5 KB)
1 Like
画面下のタブに「変数」、「引数」というタブがあるかと思います。
「変数」タブの「渡す変数」は不要なので削除してください。
「引数」タブの「渡す変数」は必要なのでそのままにしてください。
画面キャプチャを参考にしてください。(英語版で恐縮ですが…)
2 Likes
AAAbbb
9
@tsushima
そこですか!!!
投稿頂きました「引数と変数で同じ名前の定義があると、引数が返ってこないことがよくありました。」の通りですね。
「変数」の「渡す変数」を削除して試した所、「基」でAAAが表示されました。
ありがとうございます!!!!
ただ、試しに「変数」の「渡す変数」を削除せず、既定値に「“BBB”」と入力して
「メイン」ワークフローを実行しても、「“BBB”」と表示されないので、
引数が変数に上書きされているようでもない感じですね。。。
1 Like
Jun1
(Jun Shiomi)
10
こんにちわ!
@tsushima
このパターンは、いつもどうやって見てけてます?
この場合は、「未使用変数の削除」でも削除されず、
「Excelにエキスポート」を使ってExcelにドキュメント生成しても、
引数は出力されず、チェックできない。良い方法がないかな?と。
2 Likes
「見つける」ということだと、方法は思い浮かびませんね…。私も知りたいです。
そもそも名前が重複するのを回避する対策として、「変数と引数、それぞれ別の命名規則にする」という方法しかなさそうな気がしますね…。
引数INの場合は「in_****」にするとか。
1 Like
Jun1
(Jun Shiomi)
12
確かに、引数をin_XXXとかにしますよね。
見つける観点で、もし、良い方法をご存知の方がいましたら、
Reply頂くとありがたいです。
2 Likes
Jun1
(Jun Shiomi)
13
こんにちは!
変数と引数の同名をチェックできるツールがUiPath Goにあったので紹介します。
この「Workflow Inspector」ツールは、 ワークフロー開発のベストプラクティスを基準
にした UiPath Studio のプロジェクト評価ツールで、コーディング規約、同名チェック、
デフォルトのクリック等々、指摘してくれます。
更にチェック内容の拡張も作りこめれる様です。
ご参考まで。
https://go.uipath.com/ja/component/workflow-inspector
5 Likes
Yoichi
(Yoichi)
14
こんにちは
参考情報ですが
2019.9からはWorkflow Analyzerとして静的解析機能がStudioに実装される見込みです。
今後はこちらを使ってもチェックできそうです。
以下beta版の設定画面です。
5 Likes