Имя: Пароль:
1C
1С v8
Конфликт блокировок при выполнении транзакции при обмене
0 lega0000
 
25.04.18
07:21
Кто сталкивался? Регламентные задания все отключены, пользователей из базы выгнали, в консоли открытых сеансов нет, кроме своего. При обмене выдает ошибку "Конфликт блокировок при выполнении транзакции". Полное тестирование и исправление делали, выгружали базу в файл серверный вариант, там та же ошибка. Что еще может быть?
1 lega0000
 
25.04.18
07:23
В консоли sql отчет говорит, что никакие таблицы не заблокированы. Фоновых заданий 100% нет.
2 Фрэнки
 
25.04.18
07:30
обмены бывают разные
сервера бывают разные
базы бывают разные

что там у тебя за разное - хз
3 Повелитель
 
25.04.18
07:33
(0) У меня было такое, когда я решил побаловаться управляемыми блокировками.
Пришлось все вернуть на автоматические.

Еще вариант, корявый код, который делает рекурсию.
Например в документе не хватает

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    
    Если ОбменДанными.Загрузка Тогда
        Возврат;
    КонецЕсли;
4 lega0000
 
25.04.18
07:35
(3) рекурсии проходит нормально, весь обмен практически типовой. При загрузке ошибка выходит на строке "ПрочитатьИзменения", а при выгрузке на строке "ЗаписатьИзменения"
5 lega0000
 
25.04.18
07:37
(2) Согласен, у всех все разное, но суть блокировок у всех одинаковая. Обмен типовой.
6 Повелитель
 
25.04.18
07:52
(4) Еще раз пишу.
Если вы создали новый вид документа или допилили типовой документ. Не указав

Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;

То и будет блокировка.

Например вы создали новый документ Приходный кассовый ордер 2. В момент обмена он перепроводиться и пытается записать данные в регистр "Денежные средства", а в обмене тоже пришил данные регистра "Денежные средства", а так как обмен идет в транзакции, то регистр "Денежные средства" по данному документу вызовет конфликт блокировок.

Или люди еще в модулях документа вызывают перезапись справочников - та же проблема будет, что выше описал.
7 lega0000
 
25.04.18
07:56
(6) Нет, в новых документах приучил себя писать

Если ОбменДанными.Загрузка Тогда
    Возврат;
КонецЕсли;

До позавчерашнего дня все работало хорошо.
8 lega0000
 
25.04.18
08:00
(3) Кстати в типовой конфе режим блокировки "Управляемый", я с ним не игрался в этой конфе. Попробовал сделать автоматический, не канает.
9 lega0000
 
25.04.18
08:16
(3) Спасибо, добрый человек за наводку про блокировку). Вобщем походу нужно было внести любые изменения в конфигурацию) и обмен пошел)
10 lega0000
 
25.04.18
08:30
(9) Я уже не удивляюсь, когда такая фигня происходит в 1С). Казалось бы как взаимосвязаны блокировки и внесение изменений в конфигурацию. Но на практике иногда танцы с бубном помогают).
11 lega0000
 
26.04.18
06:15
Рано обрадовался(. Выгрузка прошла, а загрузка так и не проходит. Какие еще есть мысли?
12 mistеr
 
26.04.18
06:39
(4) Скорее всего, блокировки на таблицах изменений.

Предлагаю сосредоточиться на "до позавчерашнего дня все работало хорошо". Что изменилось?

Может, где-то в подписках есть ручная регистрация изменений?
13 lega0000
 
26.04.18
07:43
(12) в подписках да, есть ручная регистрация, но там все перепроверено, все идет нормально. Нашел еще одно, за что можно зацепится, в процедуре ПриПолученииДанныхОтПодчиненного проходит проверка аналитики учета номенклатуры, находит битые ссылки и проводит с ними какие то операции и уходит в бесконечный цикл, разбираться не стал что там с этими ссылками делается, отключил эту проверку, примем данные со всех филиалов, а то работа уже три дня стоит.  А потом уже будем разбираться. Так вот, зависший обмен мы прерывали и таблицы оставались заблокированные, отсюда и ошибка блокировки.
14 DrZombi
 
гуру
26.04.18
07:47
(7) Посмотри подписки событий
15 DrZombi
 
гуру
26.04.18
07:48
(13) Криворукие, эксперты... в общем волшебства нет :)
16 mistеr
 
26.04.18
14:47
(13) регистрация в подписках опасна тем, что при измененияз конфигурации (любых) может поменяться порядок срабатывания подписок (он не гарантирован) и соответственно порядок блокировки. А это может привести к дедлокам.
17 lega0000
 
27.04.18
07:06
(16) Да, были такие опасения. Но время поджимало и нужно было быстро сделать. Пока вроде все хорошо работает, уже два года)
18 lega0000
 
27.04.18
07:08
(17) Когда что-то делаешь, всегда думаешь сейчас временно сделаешь, а потом оптимизируешь, исправишь и т.д. Но по факту все остается временным навсегда)))
19 DrZombi
 
гуру
27.04.18
07:20
(18) Нет нечего постоянней, чем временное :)