>> Ideally there would be a more generic solution e.g. an option to refetch the current view record (and an embed to do something with it) whenever a button is pressed on a browse page would be really handy.
The key to this is the concept of "Current View Record". Remember the browse procedure runs when the page is _generated_ and then the thread terminates.
By the time the user clicks on the button (or row) in the browse, there simply isn't any View active. Using the unique ID, you can reload the primary table record.
Clearly though, this isn't good enough. Rather than passing the primary table unique id, we need to sore, and pass back, the view "position".
Alas that's not a completely trivial change to make, but a necessary one. It will be interesting to see also how badly it breaks the existing code where folk are expecting back the ID, not the View position.
I'll make the change over soon - probably in 4.30 - I'm busy testing the 4.29 build now for release early next week.
Cheers
Bruce