Имя: Пароль:
1C
1С v8
Зависла блокировка пустого регистра
0 Тенепопятам
 
27.07.22
16:15
Выполняется код:
Блокировка = Новый БлокировкаДанных;
Блокировка.Добавить("РегистрСведений.ТаблицыГруппДоступа");
    
НачатьТранзакцию();
Блокировка.Заблокировать();

На последней команде программа намертво зависает. При попытке выполнить ее еще раз, сообщает, что конфликт блокировок и превышено время ожидания. Регистр абсолютно пуст. В чем может быть причина проблемы?
1 Eiffil123
 
27.07.22
16:20
Может быть блокировку установить до начала транзакции?
2 Тенепопятам
 
27.07.22
16:24
(1) Попробую... Это типовой код, странно, как оно вообще работало.
3 СеменовСемен
 
27.07.22
16:47
(1) так в принципе нельзя
4 Тенепопятам
 
27.07.22
16:50
(1) Управляемые блокировки только в транзакции...
5 Тенепопятам
 
27.07.22
16:50
(3) А как надо?
6 Тенепопятам
 
27.07.22
16:53
(3) Ну да, надо в транзакции
7 vde69
 
27.07.22
16:59
а зачем вообще тебе блокировка? ты-же хочешь просто очистить весь регистр, для этого 5 строчек хватит...
8 Тенепопятам
 
27.07.22
17:05
(7) Так я очистил регистр, а эти строчки из типовой процедуры, которая обновляет данные этого регистра при обновлении релиза. В БП ЖКХ в модуле РС "ТаблицыГруппДоступа" процедура ОбновитьДанныеРегистра()
9 vde69
 
27.07.22
17:08
(8) кривое обновление...

попробуй монопольный доступ и отключить рег задания
Независимо от того, куда вы едете — это в гору и против ветра!