Добрый день!
В базе есть обработка.
Нужно обеспечить, чтобы если один пользователь ее открыл, то ни он не может открыть в параллель ни другие пользователи в своих сеансах.
Ранее использовал способ захвата какого-нибудь(но всегда одного и тогоже) объекта при открытии.
Но может есть уже покрасивее методы?
Захват объекта для решения такой задачи - неплохой вариант, и лично я не вижу здесь ничего предосудительного.
Если же хочется обойтись без него, то можно реализовать это через константу. При открытии формы - в неё устанавливается датавремя открытия. При закрытии - обнуляется. Если датавремя устарела, значит, рассматриваем как обнулённое. Обновлять её раз в N минут в обработчике ожидания формы.