BAQ Custom Action - moving from C# client side to BPM

I created a dashboard for Job Reporting that has become 100% relied upon in our business. I love the fact that I can make much simpler the steps required for production operatives by avoiding about 10 base Epicor screens and replacing it with this;

I’ve buried my head in the sand for a while, and was happy because it was working using client side C# calls to Adapters. I’m hoping that moving some of the code to uBAQ BPM will allow it to run quicker.

At the moment, when changing rows on the grids (there are 8 grids, per dept and driven from the same BAQ) it populates the fields you can see such as JobNum, PartNum, Qty - all the things that I need in code to automate; Report Qty/Lot Creation/Job Receipt To Inventory/Job Closing.

I understand from the reading that I’ve done that the uBAQ BPM has access to the fields in the result set, including those that are updated. What is my best approach to adopting that? Do I need to now bind the visibile fields on screen to fields within the BAQ? (for the ones that aren’t already, such as Expiry Date / Qty Made etc.). Or can I pass additional parameters through to the BPM Custom Action that I can then split out and use for BO calls to take actions?

If you’re read this far thank you, hopefully any replies will give other people food for thought too!

I would be surprised if you could move much of this to Server side as it is, but if you make a bunch of Calculated fields in your BAQ that can be populated with data from your input tabs, you should be able to have most of the logic on the server side when the user saves.