Ожидание захвата таблицы в 1С. Что такое ошибка при транзакции в 1С, выполняемой другим пользователем?   

С завидной регулярностью в форумах можно услышать такой вопрос: «Что означает такое сообщение об ошибке: «Ошибка при транзакции, выполняемой другим пользователем» ?». Эта ошибка по-разному выглядит для файловой и клиент-серверной версии 1С-Предприятия и связана с ожиданием захвата таблицы.

Вот пример для SQL-версии 1С Предприятия:

Ошибка при транзакции

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

Параметр, отвечающие за время ожидания устанавливается для каждого пользователя в отдельности здесь:

Сервис - Параметры

Далее, в настройке параметров системы на закладке «Общие» - мы видим 2 параметра:

Настройка параметров системы
  • Период опроса изменений Базы Данных (сек.): - этот параметр отвечает за время обновления открытых списочных форм (журналов, справочников). По-умолчанию 10 секунд. Это означает, что все открытые формы будут обновляться каждые 10 секунд. Для тех пользователей, которым не нужно постоянное обновление форм рекомендуется ставить большее время. У меня, например, указано время 90 секунд. Слишком малое время обновления у всех пользователей в сочетании с большим количеством открытых форм может вызвать серьезное замедление работы.
  • Время ожидания захвата таблиц Базы Данных (сек.): - этот параметр как раз и отвечает за время ожидания пока другой пользователь не освободит используемые таблицы. По-умолчанию 15 секунд. Для исключение появления ошибок рекомендуется установить более высокое значение для этого параметра. В моем примере установлено 180 секунд. То есть, максимальное время ожидания будет равнятся 3-м минутам.
    Внимание: не рекомендуется увеличивать данное значение у пользователей, работающих в терминальном режиме, так как во время ожидания процесс загружает процессор на 100%. В сочетании с другими пользователями это может привезти к сильной перегрузке сервера и еще более длительному ожиданию

 Ключевая фраза статьи: ожидание захвата таблицы


 

 Перепечатка, воспроизведение в любой форме, распространение, в том числе в переводе, любых материалов с сайта www.softpoint.ru возможны только с письменного разрешения компании "СофтПоинт". Это правило действует для всех без исключения случаев, кроме тех, когда в материале прямо указано разрешение на копирование (основание: Закон Российской Федерации "Об авторском праве и смежных правах").