I can't really say for certain (not having seen the setup), but I can think of a couple of possibilities off the top of my head:
1) Could be a caching issue with the Relationships Graph.
2) Could be a difference in the way one of the calculations used by the CF evaluates on the client vs. on the server.
It's possible that all the necessary stuff is being evaluated from the server side, but hasn't yet been downloaded to the client until you perform some action that causes it to. Just a thought.
Another possibility is that you have an unstored calculation lag. You might need to force a window refresh to trigger an update of something in a dependency chain somewhere to get the correct values.
Another possibility to check, if you have any Global Fields establishing relationships. When run locally Globals will hold the last value set, when run on FM Server this could break the relationship if the value is not reset.
As an aside; this does not sound like the kind of thing you'd want to calculate through a calculated field, but rather in a script where it is relevant.
That also makes troubleshooting a lot easier.
Mike thanks for these suggestions. It strikes me that all of these possible problems would be resolved by Wim's suggestion of changing my approach entirely, and using a script to check for available resources when the occasion arises. But re. your first suggestion, that it may be a caching issue with the Relationships Graph, that sounds as though it may have implications elsewhere, so do you have any suggestions as to how to prevent/avoid this?
Thanks - no globals involved this time, but I appreciate the reminder.
I've used an unstored calc here because that's what was handed down in the previous version of the application. I think the rationale was to have the list of available resources "always up to date", but I think you're right - it would be better to have this as a plain text field, which is updated when showing a SSN record (the layout includes a portal of available resources, i.e. the contents of this field), and when adding or deleting a reource to/from a session. As well as being more reliable, this would have the added advantage of getting rid of an unstored calc, which is bound to bring performance improvement, isn't it?
So thanks for the aside!
Most likely, you'd need to do something that would force a refresh of the calculation in question. I'm assuming this calculation is in the data file, so it doesn't need to cache to the client until it's needed there. So go to a layout in the data file and perform a window refresh.
Again, it's just a guess. I think it's more likely that it's a dependency / unstored calc issue.