Hey,
There are multiple ways to achieve this.
1.:
If you have access to the button and you press it, usually there is an error message saying that you dont have access to a specific table. Therefore, adding this table directly to the role or through Duties\Priviliges will solve the problem.
2.:
From the Invoice journal, check the security diagnostics. You will see which roles\duties & priviliges can be used to for the form. Usually, this is sufficient, however, it tells you what gives you the right to open the form, not to perform all actions.
You can also print a sales order and then do the security diagnostics, which will do the job.
3.:
Start with "Create recording" just before you press the print button.
After printing, stop the recording and download the axtr file
Go here and open the axtr file
It shows that its a display type that you need to add to a privilige, duty and \or role.
So check the privileges\duties from my suggestion 2 if any of them has the CustInvoiceJournal_Action type.
4.:
If nothing works, what I also did. Ask a developer or do the nasty way. Use a role that can print and work your way down to the duty\privilige that can do it. This can be achieved by checking the role and then by reading the name, guessing what could work. Not efficient and nasty as I said.
Kind regards, Adis