У меня обработка работает (изменяет) с документами Расходная Накладная в обработке прописываю :
попытка
Об = Док.ПолучитьОбъект();
Об.Заблокировать();
исключение
Предупреждение(Нстр("uk = 'Данний документ уже відкритий.'; ru = 'Данный документ уже открыт.'"));
отказ = Истина;
конецпопытки;
все происходит нормально, после выполнения проверяю Об.Заблокирован() выдет = ИСТИНА, а вот сам документ открывается , хотя при открытии документа прописано тоже :
Попытка
ДокументОбъект.Заблокировать();
Исключение
Если Форма <> Неопределено тогда
//Предупреждение(Нстр("uk = 'Данний документ уже відкритий.'; ru = 'Данный документ уже открыт.'"));
ОбщегоНазначения.СообщитьОбОшибке(Нстр("uk = 'Данний документ уже відкритий.'; ru = 'Данный документ уже открыт.'"),,,,,истина);
Форма.Закрыть();
КонецЕсли;
КонецПопытки;
Делаю проверку тут и ДокументОбъект.Заблокирован() выдает = ЛОЖЬ, как так может быть?
>>ДокументОбъект.Заблокирован() выдает = ЛОЖЬ
RTFM
"Следует учитывать, что этот метод используется для проверки блокировки объекта базы данных конкретным объектом встроенного языка. Он не может быть использован для проверки, заблокирован ли вообще объект базы данных, например, другими пользователями"
(2) вариант, но я же еще пробую его ДокументОбъект.Заблокировать(); и он не ругается что он уже заблокирован, значит обработка не заблокировала документ(
(3) И аналогично для Заблокировать() RTFM: "Выполняет блокировку объекта от изменения другими режимами или пользователями" Другими! Автор ведь и не предпологает блокировать объект от самого себя? :)
(4) как раз и предлолагаю, нужно заблокировать от всех - включая и от пользователя который запустил обработку))) ну нужно так - менеджеры обработкой пользуются)))
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан