Marçal,
Unfortunately, you are not allowed to launch actions from within a transaction. The best option is as you mention, change the flow to have them preselect before starting the transaction. The other choice would be to "simulate" a transaction using a detail screen. This involves a lot of extra work to setup.
My only other thought is to possibly use OpenUI. I will have to look into this further (when time permits).
--Bill