Business Central Share Filters 🫴

Have you ever opened a worksheet page like Planning Worksheet or Payment Journal and had leftover data? Do you just delete this data? Or do you want to know more about it first? The wait time for getting the fresh data might well be a reason to not delete it straight away, especially with MRP and MPS based inventory processes. The data might not be that old, but how exactly would you know? Page inspection is too many clicks (users do count them) and not all users have access to it. What can we do about it?

Well the standard option users have is to share report filters. Which only gives you part of the story. Below gif shows User A allowing access for other users to their last used filters on a particular occasion i.e. the next time they might use another previously saved filter. Seems incomplete for the point I’m trying to put across 🤔:

It would be fair to argue, if you’re going to develop anything here is it not to have specific reports available via the job queue to update a worksheet batch, like the planning worksheet? (spoiler, that is not in standard) Which is a valid argument. However, once the user opens that data how can they validate it is the latest version, therefore confirming the job ran successfully? And further to that know exactly what filters were run. In the earlier gif it is all good for user A. They can simply click to run the report again and check what filters were saved. What about the rest of the users? Couple of options to have a think about:

Let a user grab the last used filters for a remaining dataset, which was produced from a batch job:

Maybe you want avoid a user having to click for it or maybe they want it on demand but in a different style. Having the request pop up makes it seem like you will run the report. Perhaps making the UX a tad confusing?

Maybe once the user has these new pieces of information you have enhanced the experience sufficiently? What if you want to do a new run of the data, but you don’t have the filters from the other user? It look a little like this 😬:

To avoid that conundrum perhaps when the worksheet is populated showing a page action to the user if they aren’t the creator of the original data makes some sense?

The code if you want to have a try for yourself: code