Можно как-то так:
X++:
public void verifySomeFormNotAlreadyOpen()
{
ObjectIdent objIdent = infolog.globalCache().get(classstr(SomeClassResponsibleForLocking), curext(), null);
;
if (objIdent && objIdent.object())
{
throw error("The form BLA-BLA is already open. It is not possible to open more than one BLA-BLA form",
"BLA-BLA");
}
infolog.globalCache().set(classstr(SomeClassResponsibleForLocking), curext(), new ObjectIdent(this));
}