111860
1
Do Whileで、ユーザーのインプットがあるまで繰り返しをしたく、以下のようなフローを組みたいです。
変数 IsStopped (Boolean)
後判定繰り返し IsStoppedがTrueになるまで繰り返す
やりたいこと
ユーザーの停止ボタン押下や、何らかのインプットがあることをトリガーとして繰り返しを抜けたい
質問
1.繰返し内の処理をしながら、ユーザーの停止ボタン押下などを並列で監視することはできますか?
2.停止ボタンのダイアログ等を、UiPathから表示させることはできますか?
※追記
3.停止ボタン等での監視が難しい場合、他の方法でも構いません。ファイルの値が書き換えられる、ファイルを特定の場所に置く、ショートカットを押すなど、何らかのユーザーの意志によって繰り返しを止める行為があるかを検知したいです。
知見をお持ちの方たいらっしゃればご教示いただけますと幸いです。
Yoichi
(Yoichi)
2
こんにちは
基本的には並列アクティビティとトリガースコープで可能と思われます。
下記は任意のキー押下での停止例です。
111860
3
ありがとうございます。
// 何らかの繰り返し処理 の部分が1回しか実行されないのですが、この処理は繰り返しを入れたほうが良いのでしょうか?
その場合、繰り返しの条件式はどうすれば良いでしょうか?
Yoichi
(Yoichi)
4
この部分はコメントを入れているだけなので、ご自身が処理したい繰り返し処理を入れてください。
キー入力時に即時抜けてよいなら、無限ループで問題ありません。(タイムアウト用に上限は設けた方が良いかもしれませんが)
かならずループ終端で抜けたいのであれば、左側のレーンで処理終了用のフラグの値を変更するようにして、それで判断ください(この場合並列アクティビティの条件プロパティは空欄にしてください)
111860
5
ありがとうございます。無限ループにして、添付画像のように並列処理を作成してみたのですが、適当にキーボード操作をすると一時的に並列の右側の処理が停止するものの、また数秒後に右側の処理が再開し繰り返しが始まってしまいます。
キーボード操作があったら並列処理自体を抜けるにはどうすれば良いでしょうか?
Yoichi
(Yoichi)
6
トリガースコープの設定が繰り返すようになっているのではと思います。
SchedulingModeをOneTimeにしてみてください。
また右側のレーンが忙しい場合は、取りこぼす恐れがあるので、そのようなケースは
左側のレーンを別ワークフローに抽出して、分離オプションを有効にすると良いかもしれません
111860
7
こちらの設定をすっかり失念しておりました。やりたいことが実現できました。
ありがとうございました。
gorby
(RPA Ninja)
8
私の実務経験では、指定フォルダのファイル数=0の間無限ループを回し、ユーザがその指定フォルダに何かファイルを置くと、ファイル数が0でなくなるので、それを契機に無限ループをExitして、ワークフローを再開させたことはあります。
system
(system)
Closed
9
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.