Имя: Пароль:
1C
1С v8
Конфликт блокировок при выполнении транзакции
0 Dzenn
 
гуру
31.05.22
14:48
Коллеги, привет!

Так получилось, что проблемы блокировок за мою долгую работу программистом прошли мимо меня, и теперь приходится нагонять.
Подскажите, пожалуйста, как наиболее грамотно "разматывать" данные проблемы, пошагово, и какие инструменты мне нужно освоить?

Собственно, скрин:
https://prnt.sc/8IiKICEp9hT4

Конфигурация как видите старенькая УТ, блокировки автоматические и изменить это нельзя.
1 Ёпрст
 
31.05.22
15:02
(0) Бег.

беги оттуда!!!
2 Ёпрст
 
31.05.22
15:05
ну а так, почитай чего-нить..
хоть это
https://infostart.ru/1c/articles/561460/
3 Ёпрст
 
31.05.22
15:08
4 Dzenn
 
гуру
31.05.22
15:13
(1) (2) (3) про план обмена я знаю, что не надо его читать когда ни попадя, тут идёт запись, и не в план обмена, а в регистр сведений (просто код "исторически" остался в модуле плана обмена)
5 Ёпрст
 
31.05.22
15:22
(4) И ? тогда либо (1), либо открыть для себя профайлер/или тупо монитор активности поглядеть/технологический журнал
+ перевести базу на управляемые блокировки, чутка код поправить и алга.
6 Ёпрст
 
31.05.22
15:24
ну и посмотреть, чего там за запрос с "изменением" в тексте ошибки
7 ОператорПК
 
31.05.22
17:43
(0) вот это помогает https://softpoint.ru/solutions/flex-locks/ но не бесплатно конечно..
8 Пулья в зубах
 
31.05.22
18:19
(2) Там же не при ВыбратьИзменения() конфликт, при чем тут планы обмена?
(0) Единственный вариант избавиться от этого дерьма - перейти на управляемые блокировки. Можно попробовать найти заблоченные таблицы на скуле с помощью blocked_process_report но там часто неверно показывается запрос виновника, поэтому контекст из 1с ты можешь не найти с помощью него. Еще Андрей Бурмистров писал какой-то монитор, а еще есть ЦУП, а еще есть что-то наверно, но всё это суета и тлен.
9 Камчадал
 
naïve
31.05.22
18:21
Для начала  индексацию, фрагметанцию сделать, почистить планы выполнения запроса, обновить статистику. Всё стандартно, а потом смотреть самые большие по выполнению запросы, через профайлер
10 Пулья в зубах
 
31.05.22
18:23
(9)а подрочить перед этим не надо?
11 Выпрь
 
31.05.22
18:51
Превышено время ожидания - это может быть вполне частью рабочего процесса. Например контроля остатков
12 Выпрь
 
31.05.22
18:52
Те один и тот же товар продают все сразу
13 Выпрь
 
31.05.22
18:52
Хотя скорее тут дело в онлайн партиях
14 Камчадал
 
naïve
31.05.22
19:07
Превышено время ожидание означает то что, ресурс который требуется для дальнейших расчётов слишком долго занят другой задачей,конфликт блокировок тут посложней, бывают взаимные блокировки, когда просто тупик, в основном это связано с неправильным написанием кода.
15 Камчадал
 
naïve
31.05.22
19:24
В любом случае я бы проверил план обслуживания БД, возможно поменять концепцию разделения журналов и данных, а также временных файлов итп. Провести анамнез пациента так сказать, с чего всё началось...