In Dynamics NAV, developers often used the shell command and sent F5 keys to refresh the client when they needed to refresh the page. However, in Business Central, there is a different approach to achieving this without using .NET datatype or invoking shell commands.
One method to refresh the page in Business Central is by changing the user’s role from the “My Settings” section. Surprisingly, simply changing the role triggers a page refresh. But how does it work?
Behind the scenes, Business Central leverages an inbuilt function called SessionSettings. Within this function, there is a method called RequestSessionUpdate.
The RequestSessionUpdate procedure is used to pass a SessionSettings object to the client, requesting a new session that incorporates the user’s personalization settings. This means that the current client session is abandoned, and a fresh session is initiated with the updated user personalization properties.
By calling RequestSessionUpdate and passing true as the parameter, you can trigger a session update and ultimately achieve a page refresh. This functionality is particularly useful in industries where specific responsibility centers require frequent switching.
To provide you with clearer implementation details, here’s a sample code snippet that you can execute after performing your desired updates:
actions { addlast(Processing) { action(UpdateUserSession) { trigger OnAction() var UserSession: SessionSettings; begin UserSession.RequestSessionUpdate(true); end; } } }
You can customize this code according to your specific needs, ensuring that it is executed after your desired updates have been performed. The UpdateUserSession action encapsulates the logic to call RequestSessionUpdate(true), triggering the session update and subsequent page refresh.
Feel free to adjust the code and incorporate it into your solution to achieve seamless session updates and page refreshes without relying on outdated methods like shell commands or F5 key injection.