【RPA】freee人事労務の賞与明細一覧の取得。Ifは順番が大事。
はじめに
こんにちは。つむぐです。
これまで、freee関係で作成してきたロボット君は、特定のひとつの帳票を取得して、事業所をLoopするという仕組みで作成してきました。
今回は年度更新の集計資料作りのため、昨年分の賞与明細一覧の取得です。賞与は支給のある月とない月があり、支給月も事業所によって異なります。いつもの事業所をLoopする処理の中に、月を切り替えるLoop処理をいれ、Ifで条件分岐して賞与の支給有無を判定して処理を分けよう、と設定してみました。
作成したフロー

躓いた箇所。If文は順番が大事らしい
最終的には、上記のフローで落ち着きました。
実はここに行き着くまでに躓いた箇所がありました。
最初If文は、この順番で作成していました。

実行してみると、「賞与がありません」がある場合は、ちゃんと次の月に進みます。でも、賞与がある月も何もせずに次に進んでしまっていました。
Geminiに相談したところ、「条件分岐の判定が「逆」になっていませんか?一見正しそうですが、freeeの画面は「ページ遷移」ではなく「中身の書き換え」で表示が変わることが多いため、PADが**「前の月の情報を掴んだまま判定を終えてしまう」**ことがあります。判定の前に少し長めの待機(5秒など)を入れるか、判定条件を「'計算完了' というテキストが含まれる場合」に切り替えて、Ifの直下にダウンロード処理を置く方が安定します。」
そうなのか!!
素直に、実行したい条件に当てはまる場合から作ればよかったのか…。賞与がある場合は「計算完了」と画面に表示されるので、早速変更したらうまくいきました。前回学びになった、ファイルの待機のLoop&If文も活躍しています。
さいごに
If文の順番は、どっちでもいい訳ではないということが今日の学びです。今日も一つ改善達成です。毎日毎日、「そうなのか!!」とか「ほぉ~」という学びがあるので、やめられません。毎月の処理もどんどん整ってきています。心配なのが、急速にたくさん作ってきているので、アクション迷子になりそうな予感がうっすらしています。月ごとのルーティンと一緒に今後整理していこうと思います。
最後まで読んでいただきありがとうございました。参考になる部分がありましたら幸いです。
