Z1 писал(а) 10. Июля 2006 :: 15:04:Цитата:[quote author=sedmin link=1151492841/0#17 date=1152539367]Вот это как раз очень просто сделать. 1С везде вызывает одну и ту же достаточно простую процедуру LockWithMessage(), которая просто пытается установить блокировку и, если попытка не удалась, показывает предупреждение. Я как раз эту процедуру и перехватываю. При этом ничего дорабатывать в конфиге не надо, все работает автоматом.
Альф Прочти
http://www.1cpp.ru/forum/YaBB.pl?num=1151512437 - лучше начиная с последнего
поста и мою статью на мисте.
соеденив это с LockWithMessage() получаем тот же самый функционал что и у Муму. Только нужен анологичный метод где снимаются блокировки
Прочитал. В идеалогию FormEx это слабо вписывается скорее в 1С++.
Окончательно предлагаю такую схему реализовать:
- при блокировке объекта вызывается глобальная предопределенная процедура ПриНачалеБлокировкиОбъекта(Объект);
- если в этой процедуре если установлен статус возврата в 0, то блокировка не происходит (прерываем выполнение блокировки);
- далее при вызове функции движка LockWithMessage() (в случае неудачной блокировке, перед выводом сообщения "Запись заблокирована!") вызывается глобальная предопределенная процедура ОбработкаБлокировкиОбъекта(Объект, Повторить);
- если в ней установлен статус возврата в ноль, то сообщение не выводится и со стороны пользователя ни чего не происходит;
- если параметр Повторить установлен в 1, то запускается повторная попытка блокировать объект.
Как вам такая схема?
+ дополнительно ко всему этому добавлю метод Сервис::КоличествоПользователей(), который будет возвращать количество пользователей в базе в режиме Предприятие.