I have a solution that has a layout that is heavily dependent on "who did what." It is basically a chronological build-sheet for a piece of hardware. Each step of the build has a Technician sign-off button and field, and also a QA sign-off button and field. The technician button fires a script that makes sure the record isn't locked, makes sure it isn't already holding a value, and finally if the first two conditions are ok, it sets the technician field to Get(AccountName) & Get(Current HostTimestamp).
As for the QA sign-off, it's more complicated. I have to check for several things before placing the Get(AccountName) and Get(CurrentHostTimestamp) in the sign-off field.
Background...this solution is intended to replace a paper based process. In the paper world, a technician can merely hand the paper to the QA person, who then signs it with a pen, and stamps with a rubber ink stamp.
In this scenario, since it's all on computers, I thought it might be helpful to allow the QA person to do his/her sign-off during the same login session as the Technician. SO, to that end, I have it working up to the point of the signoff for QA. It's the limbo that the Technician is left in after the fact. The end of the QA signoff script is where the Re-login happens. So if re-login is required, it allows the QA person to re-login. But then the user session is now logged in as the QA person. Anything the technician touches from that point forward, his Get(AccountName) will resolve as the QA person, and not the Technician. How to smoothly get the Technician re-logged in as himself?