«Конфликт блокировок при выполнении транзакции: Превышено максимальное время ожидания предоставления блокировки» — достаточно часто встречающая ошибка в 1С 8.3 и 8.2, связанная с конкуренцией за использование ресурсов в системе.
Причины конфликта блокировок
Система 1С позволяет работать параллельно большому количеству пользователей: как показывают нагрузочные тестирования, сегодня это количество не ограничивается и пятью тысячами пользователей, одновременно работающих в системе. Однако чтобы база данных 1С 8 могла одновременно поддерживать большое количество пользователей, конфигурация должна быть правильно разработана.
Выполнение большого количества операций
Вполне вероятно, что какой-либо пользователь запустил, например, перепроведение документов за большой период в одной транзакции. Архитектура 1С 8.3 предполагает, что система не дает изменять данные, которые используются в одной транзакции другим пользователем, и блокирует их.
Возможно, это временная ошибка, которая перестанет возникать, когда другой пользователь завершит производить действия в системе. Если эта ошибка появляется часто, то, скорее всего, дело в другом.
Ошибка в конфигурации
Обычно конфигурации от фирмы «1С» разработаны с учетом всех рекомендаций по улучшению производительности. Самая распространенная причина ошибок конфликта блокировок — ошибки производительности в коде конфигурации, внесенные сторонними разработчиками, которые порождают избыточные блокировки. Например, один не оптимальный запрос может нарушить работу всех пользователей, постоянно блокируя нормальную работу. Подробности в статье Причины избыточных блокировок.
Кроме ошибок в коде часто встречаются методически неверные решения. Например, партионный учет — он сам по себе подразумевает последовательное проведение документов. Партионный учет можно заменить на РАУЗ — этим Вы серьезно повысите производительность системы.
Как исправить эту ошибку в 1С 8.3?
В любом случае, появление ошибки «Конфликт блокировок при выполнении транзакции» говорит о необходимости инспекции системы, особенно для средних и крупных информационных систем в клиент-серверном режиме работы (MS SQL, PostgreSQL и т.д.). Если это проигнорировать на раннем этапе, возможны необратимые последствия позже, когда работа системы будет особенно важна (в период сдачи отчетности).
Внимание! Если у вас остались вопросы или что-то не получилось, будем рады оказать Вам персональную техническую помощь. Заполните заявку и наш специалист свяжется с вами.