Как решить проблему с зависшим (невидимым) сеансом в базовой версии 1С на сервере?

Системный администратор 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

Рассмотрим достаточно распространенную, но технологически сложную проблему: использование базовой конфигурации «1С:Бухгалтерия предприятия 3.0» в клиент-серверном варианте (на SQL-сервере). В процессе работы пользователи часто сталкиваются с ситуацией, когда при попытке записать или провести документ система выдает ошибку: «Ограничение базовой версии. Базовая версия не поддерживает одновременную работу нескольких пользователей». При этом администратор или единственный пользователь видит в списке активных сеансов только себя одного. Выясним причину этого поведения и разберем по шагам, как устранить «невидимые» сеансы.

Почему базовая версия выдает ошибку блокировки на сервере?

Для начала проанализируем архитектуру работы базовых версий «1С». Технически запуск базовой конфигурации на сервере под управлением СУБД (MS SQL, PostgreSQL и др.) возможен. Однако для этого должны выполняться два обязательных условия:

  1. Сервер «1С:Предприятия» должен быть лицензирован коммерческой лицензией уровня ПРОФ или КОРП.
  2. Рабочее место пользователя также должно быть обеспечено клиентской лицензией уровня ПРОФ или КОРП.

Несмотря на наличие серверных лицензий, сама платформа 1С:Предприятие жестко отслеживает тип конфигурации. Если загружена базовая версия, программный код платформы принудительно ограничивает количество одновременно активных сеансов ровно одним сеансом. Любая попытка создать параллельное подключение — даже служебное — расценивается платформой как нарушение лицензионного соглашения, из-за чего мгновенно блокируются транзакции на запись и проведение любых документов.

Откуда берутся «невидимые» сеансы?

Если в программе физически работает только один бухгалтер, система все равно может фиксировать «лишние» подключения. Рассмотрим подробнее основные источники возникновения таких фантомных сеансов:

1. Фоновые и регламентные задания. Это главная причина блокировок в клиент-серверном режиме. Платформа 1С в фоновом режиме регулярно запускает служебные процессы: обновление индекса полнотекстового поиска, загрузка актуальных курсов валют, проверка контрагентов по GUID, загрузка классификаторов (БСП) или попытки синхронизации данных. Каждое такое задание порождает в кластере серверов полноценный отдельный сеанс. Платформа видит два активных сеанса (один — ваш интерактивный, второй — фоновое задание) и блокирует работу.

2. Спящие сеансы (Sleeping sessions). Начиная с версии платформы 8.3.5, разработчики внедрили механизм удержания сессии при кратковременных разрывах сетевого соединения. Если у пользователя моргнул интернет или он некорректно закрыл программу, его сеанс не уничтожается сразу, а переходит в статус «спящего». В стандартном списке активных пользователей внутри программы он уже не отображается, но в кластере серверов продолжает существовать и занимать то самое единственное «базовое» место.

3. Рассинхронизация кэша сеансов на сервере. При аварийном завершении работы службы сервера или жестком завершении процесса 1cv8.exe через диспетчер задач, информация о сессии зависает в файловой базе данных сеансов сервера. Физически процесса пользователя нет, но СУБД и кластер серверов считают его активным.

Пошаговая инструкция по решению проблемы зависшего сеанса

Если вы столкнулись с блокировкой проведения документов, выполните следующие административные действия по шагам.

Шаг 1. Блокировка регламентных заданий в консоли кластера

Чтобы сервер постоянно не инициировал фоновые процессы, которые платформа путает со вторым пользователем, необходимо временно или постоянно отключить их запуск для конкретной информационной базы:

  1. Откройте утилиту «Администрирование серверов 1С Предприятия».
  2. Найдите вашу информационную базу в дереве метаданных.
  3. Откройте свойства базы (потребуется ввести логин и пароль администратора базы данных).
  4. Установите флажок «Блокировка регламентных заданий включена».
  5. Нажмите кнопку «Применить» или «ОК».

Шаг 2. Принудительное завершение сеансов через консоль

Обратите внимание: анализировать нужно не раздел «Соединения», а именно раздел «Сеансы» в консоли администрирования 1С.

  1. В консоли администрирования разверните ветку вашей информационной базы и перейдите в пункт «Сеансы».
  2. В правой части окна вы увидите список всех подключений. Найдите там фоновые задания (они часто имеют специфические имена или пустой заголовок приложения) и спящие сеансы.
  3. Нажмите правой кнопкой мыши по «лишнему» сеансу и выберите команду «Удалить» (или завершить).

Шаг 3. Очистка серверного кэша сеансов (snccntx)

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

  1. Остановите службу сервера «1С:Предприятия». Для этого откройте командную строку от имени администратора и выполните команду остановки службы.
  2. Перейдите в каталог хранения системной информации сервера. По умолчанию он находится по пути: C:\Program Files\1cv8\srvinfo\ (или аналогичном, в зависимости от версии платформы).
  3. Внутри папки вашего кластера (например, reg_1541) найдите папку с идентификатором вашей базы данных, а внутри нее — каталог snccntx. Именно здесь хранятся файлы блокировок и сессий.
  4. Полностью удалите содержимое папки snccntx.
  5. Запустите службу сервера «1С:Предприятия» заново.

Для автоматизации этого процесса системный администратор может использовать следующий сценарий командного файла (bat-скрипт):


net stop "1C:Enterprise 8.3 Server Agent"
timeout /t 5 /nobreak
del /f /q /s "C:\Program Files\1cv8\srvinfo\reg_1541\snccntx\*"
net start "1C:Enterprise 8.3 Server Agent"

Шаг 4. Использование режима толстого клиента

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

Окончательное решение проблемы

Важно понимать, что использование базовой конфигурации в многопользовательском клиент-серверном окружении — это технологически нестабильный сценарий. Даже при полной блокировке регламентных заданий вы будете регулярно сталкиваться с системными коллизиями.

Если вашему бизнесу требуется полноценная работа на сервере, единственным надежным и легальным решением является апгрейд конфигурации до версии ПРОФ. Это снимет программное ограничение платформы на количество активных сеансов и позволит полноценно использовать все преимущества клиент-серверной архитектуры без постоянного вмешательства системного администратора.

← На главную