Рассмотрим взаимоблокировку с типом «Захват ресурсов в разном порядке».
В отличие от типа взаимоблокировки «Повышение уровня блокировки», такие случаи возникают при записи 2 разных ресурсов в одной транзакции.
Определение типа взаимоблокировки «Захват ресурсов в разном порядке»
Две транзакции, которые выполняются одновременно, изменили два разных ресурса, скажем, «Тр.1» изменила «Данные 1», а «Тр.2» изменила «Данные 2», т.к. ресурсы разные, то коллизий нет.
Далее «Тр. 1» пытается изменить «Данные 2», а «Тр.2» пытается изменить «Данные 1», но не ни одна транзакция не может этого сделать, потому что данные уже захвачены параллельной транзакцией.
Пример ситуации взаимоблокировки
В качестве примера взаимоблокировки возьмем ситуацию, когда выполняются 2 транзакции, которые проводят два разных документа:
- Транзакция 1 проводит документ «Приходная накладная»;
- Транзакция 2 проводит документ «Перемещение товаров между организациями».
Оба документа делают движения в регистры накопления:
- Товары на кладах;
- Товары организаций.
Рассмотрим процедуру проведения каждого из документов, в случае движения одного и того же товара на одном и том же складе для одной Организации.
Проведение документа «Приходная накладная»
- Записываем движения «Товары на складах». В результате чего устанавливается исключительная блокировка (X) на регистр «Товары на складах» по измерениям «Номенклатура, Склад».
- Записываем движения «Товары организаций». В результате чего устанавливается исключительная блокировка (X) на регистр «Товары организаций» по измерениям «Номенклатура, Организация».
Проведение документа «Перемещение товаров между организациями»
- Записываем движения «Товары организаций». В результате чего устанавливается исключительная блокировка (X) на регистр «Товары организаций» по измерениям «Номенклатура, Организация».
- Записываем движения «Товары на складах». В результате чего устанавливается исключительная блокировка (X) на регистр «Товары на складах» по измерениям «Номенклатура, Склад».
Взаимоблокировку с типом «Захват ресурсов в разном порядке» можно произвести на любых объектах, например изменение контрагентов.

Возникновение взаимоблокировки
При одновременном проведении двух документов разными транзакциями (разными пользователями/сеансами), может возникнуть ситуация, когда обе транзакции выполнят шаг 1. При этом для выполнения шага 2, обеим транзакциям потребуется установить блокировку на ресурс, который уже захвачен другой транзакцией на шаге 1.
В таком случае СУБД не может определить, какой из транзакций предоставить блокировку, потому что обе транзакции имеют право на блокировку ресурса.
Следовательно, возникает неразрешимая (тупиковая) ситуация, при которой одна из транзакций будет завершена аварийно с ошибкой:
Конфликт блокировок при выполнении транзакции:
Неустранимый конфликт блокировок

Как мы видим, в тексте ошибки нет формулировок СУБД (в отличие от ошибки взаимоблокировки в Автоматическом режиме), т.е. ошибка происходит исключительно в управляемом режиме на уровне приложения 1С!
Как избегать взаимоблокировку
Для того, чтобы избегать взаимоблокировку «Захват ресурсов в разном порядке», необходимо:
- Контролировать порядок выполнения записи ресурсов;
- В самом начале транзакции блокировать исключительно (X) все записываемые в дальнейшем ресурсы.
Данная тема подробнее рассматривается в пакете видео-курса «Секреты 1С: Эксперта» Шаг 3. Занятие 09-03 Эскалация и взаимоблокировки.