This was actually a bit fun, because there is not a built-in function that fits this in a good way.
Below assumes that you want the check number of the selected check, and not actually pick up the check.
So, the approach I took was:
[ol 1]
[li] Execute a PickUpCheckFromListRvcIndex command on the OpsContext[/li]
[li] Listen for the OpsPickUpCheckEventPreview event[/li]
[li] Read the check number from the OpsPickUpCheckEventArgs (the actual check number is internal, so a bit of reflection was needed)[/li]
[li] Abort the check pickup operation with EventProcessingInstruction.AbortEvent[/li]
[/ol]
I have a small project on Github that shows the implementation, it will not win any awards, but it is probably something you can develop further.
I haven't checked if having the check open on another workstation causes problems, it will depend on if Simphony does the validation before or after the OpsPickUpCheckEventPreview event, but this is something you can test.
Project at
GitHub