Андрей Могильный пишет:
Тут проблема где сохранить имя пользователя, который редактирует, так чтобы
его увидели другие. Если приложением снимут, то этот пользователь "повиснет"
в базе
надолго, кто-то должен таких подвисших вычищать из базы... Короче сломали
голову уже как такое сделать, без третьего звена похоже никак...
Без триггеров уровня базы полную автоматику не навесиш.
У нас такое решение - в таблице пользователя поле SESSION, которое при логине устанавливается в CURRENT_SESSION, а при штатном выходе в NULL. Соответственно, отвалившиеся пользователи - те у которых в этом поле неактивная сессия.

Ну а писать текущего можно во многие места, например завести табличку IDDOC, IDUSER - и в отдельной короткой транзакции при получении блокировки документа.
Ещё во внешнюю таблицу можно - оне вне транзакций, или UDF-ку написать.

Ответить