И снова про управляемые блокировки транзакций #500790


#0 by factorasia
Приветствую! Есть вопрос про управляемые блокировки транзакций. 1С:Предприятие 8.1 (8.1.12.101) MS SQL 2000 SP2 Поднят кластер серверов 1С Предприятие. В базе при одновременной работе многих пользователей стали очень часто появляться дэдлоки. Быстро был найден проблемный документ - Расходная накладная. Следуя рекомендациям приведенным в книге "1С Предприятие от 8.0 к 8.1" (авторы П.С. Белоусов, А.В. Островерх) перевел конфигурацию в режим блокировок "Автоматический и управляемый". Все регистры, по которым двигается накладная и саму накладную - в режим "Управляемый". В модуле объекта в процедуре ОбработкаПроведения Накладной пишем:        _БлокирокаДанных = Новый БлокировкаДанных; ... Новый документ проводится нормально, а уже записанный в базу выдает ошибку: "Ошибка использования менеджера блокировок. Автоматический режим блокировок не допустим в этой транзакции". В другой теме при такой же ошибке советуют перевести всю базу на управляемые блокировки. Но, вроде, тогда нужно блокировки всех транзакций ручками прописывать.(Следуя рекомендациям книжки Белоусова) Т.к. 1С сама будет ими рулить, а не СУБД. Это совсем не есть гут. Внимание вопрос: как правильно самому прописать блокировки только одного документа(управляемый режим), чтобы всеми остальными транзакциями управляла СУБД(автоматический режим)?
#1 by Amiralnar
А Проблема при проведении старого может относиться к проблеме отмены проведения в автоматическом режиме?
#2 by Dmitrii
Автоматическая отмена проведения этого документа должна быть снята и прописана обработка отмены проведения с удалением всех движений.
#3 by Dmitrii
Опередил :)
#4 by Dmitrii
+ Можно посмотреть как это сделано в типовых. Там в общем модуле есть процедура удаления любых движений документа, которая вызывается из обработки отмены проведения каждого документа.
#5 by factorasia
Спасибо. Была такая догадка. Сейчас проверю ;-)
#6 by factorasia
Ага, заработало. Ставим "Не удалять движения автоматически". Прописываем в модуле ОбработкаУдаленияПроведения.
#7 by factorasia
Хочу прояснить такой нюанс управляемых блокировок. Документ Расходная накладная двигает регистры 3-х видов: накопления, сведений и бухгалтерский. С блокированием первых двух все норм. А вот бухгалтерский тупит. В 1С при управляемых блокировках бух. регистра лочится поле "Счет" в каждом элементе блокировки данных. Когда блокирую один и тот же счет разными транзакциями с _разными_ значениями субконто, то возникают дедлоки. По идее ведь не должны же они возникать?! Субконто ведь разные! Или это не так? ...
#8 by factorasia
ап_
#9 by factorasia
оп
#10 by Нуф-Нуф
тут мало спецов по управляемым блокировкам
#11 by КнОпка
а где есть?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С