We have an updatable dashboard with three updatable fields. However, this is several other fields that are shown to help with context. Note: This uDash updates OrderHed. Anyway, we have noticed a few things:
We have the Udash opened by our shipping scheduler and a CSR has the order opened as well. While the scheduler is getting things setup, the CSR enters new data in an NON UPDATABLE field in the UDash (like the shipping address) and hits save. Shortly afterwards, the Scheduler hits save to update through the UDash only the updatable fields. Keep in mind, the shipping address ahs changed on the table, but the UDash still has the old data as it wasn’t refreshed as the Scheduler didn’t know there were any changes. Instead of Epicor sending an error it just updates ALL fields, including the non-updatable ones in the Udash.
we have the same issue if two people have the dashboard open and one hits save first, then the other does a bit later.
Anyone else experience this? If so, how do we fix this? And no, we can’t only have one or two in the dashboard. Already asked.
During your update process, you may have to check for non updatable fields that have changed, and include those changes, or even notify the user that the data has changed. I am not 100% sure how to implement this in the BPM, but I think you can use the BAQ results, and compare them to the existing table data.
So whenever a change is made SysRevID for the record changes also. So what is happening since the CSR is not doing a GetList after the last update by the shipping scheduler the UBAQ still has the record open with the old SysRevID.
So in your UBAQ add SysRevID to display.
When you try to do an update on the UBAQ or UDash that still has the old SysRevID (user hasn’t done a GetList or refresh) then you should get an error:
Text: Row has been modified by another user and couldn’t be updated.
In the dashboard the row should turn red and if you hover over the record it will give the error.
This will then force the user to do a refresh and update the record correctly.