Back to top

Конфликт блокировок при выполнении транзакции.

Опубликовано e-1c@mail.ru - вт, 05/23/2017 - 04:12

konflikt_blokirovki.png

Появляющееся окно с соответствующим содержанием говорит пользователям о том, что данные,которые они пытаются изменить в данный промежуток времени заблокированы. А вот кем заблокированы? В этот и состоит главный вопрос. Основными причинами блокировки является выполнение большого количества операций в одной транзакции, например: какой-либо пользователь запустил перепроведение большого числа документов за длительный период, а другой пытается изменить один из документов. Также в больших базах, с множеством периферийных узлов причиной блокировок является процедура обмена данными. Ну и конечно же еще одной причиной блокировки может является неверно разработанный код в каком-либо модуле или форме конфигурации. В общем причин может быть множество.

Обычно архитектура 1С не дает изменять другим пользователям данные, заблокированными в другой транзакции. Если вы точно знаете, что к примеру главный бухгалтер запустил групповую обработку перепроведения документов, то вам просто придется немного подождать и спустя некоторое время все будет ОК.

Разработчики стандартных конфигураций в фирме «1С» тщательно следят за корректностью программного кода. Дело в том что, программисты на предприятии могу спокойно написать запрос и зациклить его,что приведет к циклической блокировке. В данном примере вина полностью лежит на стороннем разработчике.

Одна из самых распространенных ситуация- это обмен данными РИБ. Особенно если он происходит очень часто, данные на какое то время блокируются. В своих организациях я предупреждаю пользователей о времени обменов, чтобы они знали и не задавали лишних вопросов. ежели нужно сделать срочно и прямо сейчас, то программист может сделать следующее:

  • 1. при файловом варианте можно просто открыть диспетчер задач и уничтожить процесс «1cv8.exe»
  • 2. при серверном варианте базы данных необходимо открыть консоль администрирования серверов 1С Предприятия, далее перейти к информационной базе в нужном кластере и в закладке «Сеансы» удалить необходимые процессы, которые могут блокировать данные.

В общем случае появление взаимоблокировок происходит:

  • при возникновении высоких нагрузок на систему (любого характера: периодические или постоянные)
  • при медленной работе базы, «торможениях»
  • при количестве пользователей более 30