Hello Everyone,
In my record view interface, I have a child interface that contains a related action. I recently added another related action whose only purpose is to refresh the data. In the parent interface, I’m using a!refreshVariable() so that local variables are refreshed after a record action completes.
The related action in the child interface has visibility logic defined both:
in the record type (Views and Actions → action security/visibility), andinside the child interface itself.When I click my refresh-related action, all the data and components in the interface are refreshed, but the visibility condition defined in Views and Actions is not re-evaluated. As a result, when I refresh to load the latest data, the related action does not appear on the screen unless I do a full browser refresh.
i tried to have a start form in my related action's process model even at that time screen was not refreshed. Pretty much tried everything still record level security was not evaluated without manual browser refresh
Discussion posts and replies are publicly visible
Record action visibility defined in Views & Actions is evaluated at page load time, not on a!refreshVariable(). Even with a start form or refresh action, Appian does not re-evaluate action-level security mid-session without a full page reload.You can try to move the visibility logic entirely into the child interface using a local variable that refreshes with your data. Remove it from Views & Actions.
To refresh data, I typically use some local variable. Then, I wrap all the queries I want to trigger into a refresh variable referencing this local. Then, I modify that local using a button or link.
Thanks for your reply Shubham Aware and Stefan Helzle . Now i came up with the solution that to have a refresh related action in the record header so that when a user clicks the entire record get reloaded similar to a browser refresh
I would recommend changing the a!recordActionField() to use either the "MENU" and "MENU_ICON" with securityOnDemand set to true, this way the security evaluates when the user clicks to open the menu. Keep in mind that a!refreshVariable() with refreshAfter: "RECORD_ACTION" only controls when a local variable’s value is recalculated after a record action dialog completes; it does not control when the record action’s own visibility/security is re‑evaluated.
a!refreshVariable()
refreshAfter: "RECORD_ACTION"