Refresh Interface after a!startProcess does not work

Certified Senior Developer

Hi,

We have a simple interface wich contains a refresh button that triggers a a!startProcess() function (to update some fields in Db and then update fields in the GUI). 
The interface is displayed from a RecordType view.
The process gets some data and then write simply the current datetime into an updated_on field in the table. 
The problem we met is when we click on the button, the data are not refreshed (or works just the first time). 
When we debug the variables in the interface we can see that the data are still the Old ones despite the fact the data are correct in the Db table. 
If we click again and again, the data are never refreshed. 
I've tried a lot of things :
- add a counter in the interface to ensure the save is called when the process ended
- all the process nodes are well chained. 
- I've deleted a lot of nodes in the process so that now it contains only 5 nodes (to be sure, to avoid the 50 nodes issues). 
- I've created a little testing snippet example and all works fine in another environment (with a Site, a RecordType, a process, a simple Interface and the Vehicle CDT example).

Would you have any idea why this problem occurs ? 


Regards 

  Discussion posts and replies are publicly visible

Parents Reply
  • 0
    Certified Senior Developer
    in reply to Mike Schmitt

    My interface, is a RecordType view.

    In this latter I have a related Action (let's call it "Enclose") and the visibility condition of this action depends of an ER that gets the History data described above.

    The "Enclose" button is initially displayed.

    So when I click on the Refresh button previously seen, I would need to trigger the refresh of the RecordType, and therefore to refresh the Visibility condition of the Enclose action (recall the ER).

    With the Refresh button, all the data in that interface are now well refreshed, but the "Enclose" button keeps displayed, because the action was not refreshed. 

Children
  • 0
    Certified Lead Developer
    in reply to cedric01

    If you're talking about a related action that shows in the top border of a record view, i'm pretty sure that the data used for that related action's visibility is completely outside of the scope of the local variables in your interface that you're refreshing, etc.  I would expect a browser-level refresh might be needed to get that re-evaluated.

    If you're talking about a related action housed in an on-form Record Action field, then.. well i'm less sure what the interplay is there.  It may do its own evaluation and caching on the back-end ahead of time.

  • 0
    Certified Senior Developer
    in reply to cedric01

    The related action I'm talking about has been added in the interface using the a!recordActionField function :

    a!recordActionField(
    actions: {
      a!recordActionItem(
       action: 'recordType!history.actions.enclose',
       identifier: ri!history.history_id
    ),