Rpachalleng invoice extraction using queues

I am doing one project that is invoice extraction in rpa challenge website using reframework with queues.I am getting one error that is given key is not present in the dictionary in gettransaction state i have given the queue name in config file.I have done till uploading to the queues but after that i got the error and i am totally confused in the process transaction state i will attach my workflow below this can somebody guide me to do this because i am stuck with it,please help
RE invoiceextraction rpa challenge.zip (956.9 KB)

your config file has a different name than u are using in the get transaction see screen:

image

Hi @alan_prakash

Add the following to your config file with appropriate values

image

okk thanks would u guide me to how to use the process transaction in this case i am totally get confused

You need to be more specific for me to help you.
It seems the challenge is to download these pdf’s and and write them to a csv file.

So your first workflow in process should be to click the download button on each of the invoices.

You could use the ID or the “#” as dynamic selector for the download button.

How far are you, and where are you getting stuck?

@alan_prakash

  • The Process transaction is where you process the input data that you retrieved from the queues/data tables
  • That means let say you retrieve the invoice file path using queue in Get Transaction Data
  • Access this path in the *Process Transaction, open the invoice and start extracting the data
  • This Process repeats until all the items int eh queue completes

I have set the condition that is due date is less than the current date then only it extract id and due date from the datatable that is in the rpa challenge website and i have already extracted id and duedate according to the condition and send it to the orchestrator queue this i have done untill now.Next i have to click the download button according to the condition and extract the data from the pdf.From this step i have got confusion and what should be done on the process transaction if i use click download option in the process transaction can i have to set the condition or modify the selector this step i have been stuck with as i have done this process in flowchart.https://rpachallengeocr.azurewebsites.net/ this the url of the rpa challenge website.This pages have multiple pages if i have to download i have to use next page also.
invoiceextractionrpachallenge.zip (11.6 KB).This is the workflow i have done in flowchart

If u have ur queue items in orchestrator lets start working with them.

  1. Make ur data accessible in process. I would use a multiple assign like this:

Since ur process will consist of 3 steps, i would make 3 different workflows. :smiley:

hit ctrl + n, to make a new flow. call it download pdf.

I would make a in_argument called in_ID and map id into the workflow so u have access to it.

(Inside downloadPdf)
image

So the first if:
returns the remainder of ur id number, and if the remainder is 0. then u will click next page.
so it will click on id, 4 , 8 , 12 , 16 and so on.

Next is checking if it’s the last page;

if u click uiExplorer and select nextPage button u can see attribute class, if it’s disabled it says in the text, so extracting that information into a variable called classAttribute, helps u know if it’s clickable or not.

So I would add logic like this, or something similar after clicking the download button.

Is there is any another way that we can do it in selectors because it looks like complicated since i am not much experienced in this field what is the use of map id arguement

Hey @alan_prakash

Check if this helps you - GitHub - nmnithinkrishna/UiPath-RPAChallengeOCR-Soln: Invoice processing problem solution from https://rpachallengeocr.azurewebsites.net/

Thanks
#nK

bro i have already done with flowchart i have to convert with reframework

1 Like

It’s just the transactions change the logic still remains the same.

Are you facing any specific challenge of you can point out !

I have already sent the items to queue according to the condition that is duedate is less than or equal to currentdate.Now in the process transaction i have got confusion i hqve to click the download button according to the condition it contain 2 to 3 pages also that point i am stuck with i am confused with what condition should be given

Hey @alan_prakash

You mean to say, you want to select some specific row from the list based on the name of the invoice ?

Thanks
#nK