Вполне возможно, что я изобретал велосипед, и решение данной задачи уже было придумано кем-то до меня и проще, но... я такого не нашел, хотя признаюсь: дальше первой страницы Google не заглядывал. Итак... Есть, конечно, еще вариант создавать регистр сведений, где будет храниться информация о блокировках, но я решил не создавать подобного, а пойти через журнал регистрации 1С.
В обработчик формы ПриОткрытии() поместим следующий код
Если ЭтоНовый() тогда
//обработчик для нового элементы
Иначе
Попытка
Заблокировать();
ЭтотОбъект.Записать();
Исключение
Блокировщик = ОпределитьАвтораБлокировки();
Ответ = Вопрос("Документ находится на редактировании другим пользователем"
+ ?(Блокировщик.Пустая(), "." + Символы.ПС, ":" + Символы.ПС + Блокировщик.Наименование + ", тел. " + Блокировщик.Телефон)
+ Символы.ПС + "Открыть в режиме чтения?", РежимДиалогаВопрос.ДаНетОтмена);
Если Ответ = КодВозвратаДиалога.Да тогда
ТолькоПросмотр = Истина;
ИначеЕсли Ответ = КодВозвратаДиалога.Нет тогда
ЭтаФорма.Закрыть();
ИначеЕсли Ответ = КодВозвратаДиалога.Отмена тогда
ПриОткрытии();
КонецЕсли;
КонецПопытки;
КонецЕсли;
Также в модуле формы помещаем такую функцию
Функция ОпределитьАвтораБлокировки()
ЖурналРегистрации = Новый ТаблицаЗначений;
Фильтр = Новый Структура;
Фильтр.Вставить("Данные", Ссылка);
ВыгрузитьЖурналРегистрации(ЖурналРегистрации, Фильтр, "Пользователь",,1);
ПолноеИмяПользователя = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(ЖурналРегистрации[0].Пользователь).ПолноеИмя;
Возврат Справочники.Пользователи.НайтиПоНаименованию(ПолноеИмяПользователя, Истина);
КонецФункции
Для работы в таком виде без изменений, у Вас в конфигурации должен быть справочник пользователи, куда в реквизит Наименование будет писаться полное имя ползователя ИБ и добавить реквизит Телефон в тотже справочник, тогда пользователю будет отображаться ФИО заблокировавшего и телефон по которому он может перезвонить.
Теперь, собственно о работе данного кода.
При открытии не нового документа, пользователь тут же пытается заблокировать объект. Если у него это не получается, то начинается поиск заблокировавшего объект. Если же получается, то документ тут же записывается. Важно это делать до каких-либо изменений в объекте, чтобы пользователю не выскакивало никаких сообщений, типа "Вы уверены, что хотите сохранить изменения" и не ставили его этим в тупик. Записывается объект для того, чтобы осталась запись в журнале регистрации, потому что сам факт открытия формы в нем не отображается.
Теперь, если документ заблокировать не получилось, то происходит определение автора блокировки соответствующей процедурой. По фильтру на текущие данные мы выгружаем последнюю запись с пользователем (отбор по журналу в таком случае происходит быстро даже на машине пользователя) - из журнала регистрации выгружается УИД, после чего по полному имени пользователя ИБ находим соответствие в справочники пользователи и сообщаем его имя и телефон страждущему доступа к документу.
Вопрос подразумевает три ответа: "Нет" - закрытие формы, "Да" - открытие в режиме чтение, "Отмена" - с тем чтобы пройти процедуру в надежде, что блокировка снята. Или позвонить уже использующему объект и попросить его закрыть и по кнопке "Отмена" открыть его уже в режиме для изменения. К сожалению, стандартные диалоги в 1С не подразумевают варианта "ДаНетПовторить"...