|
Зависла блокировка пустого регистра |
☑ |
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) кривое обновление...
попробуй монопольный доступ и отключить рег задания
|
|