/ Взаимоблокировки
Взаимоблокировки
Взаимоблокировка в 1С представляет собой неразрешимый конфликт между двумя блокировками. В 1С имеется встроенный менеджер взаимоблокировок, который отслеживает такие конфликты и откатывает менее важную транзакцию.

По каким причинам могут возникать взаимоблокировки в 1С?

1. Несоответствующий уровень блокировки. Решается минимизацией длительности операций и изменением уровня изолированности (выставить на максимум).

2. Использование ресурсов системы в произвольном порядке. Решается установкой блокировок в нужном порядке через код.

3. Ошибки блокировок, вызванные распараллеливанием процессов или избыточными блокировками. Решаются эти проблемы оптимизацией параллельности процессов и грамотным составлением запросов (без сканирования таблиц).

4. Использование неоптимальных запросов – решается грамотной настройкой этих запросов.

5. Отбор по неиндексируемым полям. Решается индексацией полей с большим количеством значений.

Перечисленные выше проблемы и их решения требуют хороших навыков работы с 1С. Любые неправильные действия могут привести к обратному результату – увеличению количества ошибок и взаимных блокировок.