This may or may not help. I have a layout with a portal (sorted descending). I enter info in the main part of layout, when I tab into the portal I use an "OnObjectEnter" script trigger to perform the following script. It auto enters the first field (date), commits record (to put most recent portal record on top)then stops on the next field. At the end of the portal row I use a script to take me off the portal and back into the main layout.
Why does your script need to go to a field in a specific portal row?
Are you committing the record manually or as a step in a script?
If you are using a script, you can use get (activePortalRowNumber) to capture the row number before your script commits records and then your script can use that variable with go to portal row to return the focus to the correct portal row. Then Go to Field or Go to Object can put the focus in the correct field.
And if the script responsible is to calculated the membership year, you should be able to replace the script with a calculation and thus not need the script in the first place.
It looks like I was not clear.
The crux of the problem is that I can enter a date somewhere between the high and low dates in the portal date field. (I can not tell what row the portal row will be on after commit).
Therefore I can not use get(lastportalrow) because it only tells me the row before commit I could capture the pK of the new portal record and then 'find' it after it moves. But, instead, i rearranged the fields so that the script trigger field is the last field be filled in. That way I don't have to care where the sorted row ends up.
Thanks for your ideas.