Пользователи не могут войти в базу 1С: снимаем запрет сеансов, зависшие сеансы и файловые блокировки

· 9 мин

Содержание

Чтобы отключить блокировку пользователей в 1С 8.3, откройте Администрирование → Обслуживание → Блокировка работы пользователей и снимите блокировку. Если программа не пускает даже администратора, запустите базу с параметром /UC<код разрешения>. В клиент-серверной базе тот же флажок есть в свойствах информационной базы в консоли кластера.

Частое заблуждение — что «блокировка» в 1С одна. На деле их минимум четыре: запрет начала сеансов, зависший сеанс, занятый файл базы и запрет входа для конкретной учётной записи. Лечатся они по-разному, поэтому сначала определите, какая у вас. Инструкция общая для платформы 8.3 и типовых конфигураций на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11).

Откуда берётся блокировка пользователей в 1С

Разберите по тексту сообщения, которое видит пользователь при входе.

Что видит пользовательВид блокировкиГде снимать
Начало сеанса с информационной базой запрещено и текст администратораУстановлен запрет новых сеансовВ программе или в консоли кластера
База открывается, но документ не записывается: Конфликт блокировок при выполнении транзакцииБлокировка данных чужим сеансомКонсоль кластера, завершение сеанса
Файловая база: Файл базы данных используется другим процессом или ошибка совместного доступаФайл занят зависшим процессомДиспетчер задач, «Открытые файлы» Windows
Пользователь ИБ не идентифицирован при верном пароле или отказ во входе конкретному сотрудникуЗапрет входа для учётной записиКарточка пользователя в программе

Откуда берутся такие ситуации на практике:

  • 🔒 администратор поставил блокировку перед обновлением и забыл её снять, или обновление упало на середине;
  • 🔒 регламентная операция (закрытие месяца , свёртка базы) запущена с запретом входа;
  • 🔒 у пользователя оборвалась связь, а сеанс остался висеть на сервере и держит данные;
  • 🔒 на одном из компьютеров «завис» процесс 1cv8.exe, который не отпускает файл базы;
  • 🔒 учётную запись отключили при увольнении или по сроку бездействия.

Как снять блокировку работы пользователей прямо из 1С

Это основной способ для файловых и серверных баз на типовых конфигурациях.

Если вы можете войти в программу

  1. Войдите под пользователем с полными правами.
  2. Откройте Администрирование → Обслуживание.
  3. Нажмите ссылку Блокировка работы пользователей.
  4. Снимите блокировку кнопкой на форме или уберите флажок установки блокировки и сохраните.
  5. Попросите сотрудника перезапустить 1С.

В этой же форме видно время начала и окончания блокировки. Если окончание указано, блокировка снимется сама в это время. Проверьте поля: иногда «сломанная» база просто ждёт заданного часа.

Если программа не пускает и администратора

При установке блокировки БСП позволяет задать код разрешения. С ним вход открыт даже при действующем запрете. Запустите базу через командную строку или добавьте параметр в настройки ярлыка:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /UC12345

Здесь 12345 — код разрешения, который вводил администратор. Для серверной базы вместо /F укажите /S"сервер\имя_базы".

Если код никто не помнит, используйте параметр запуска БСП, который снимает блокировку при входе:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv1c\buh" /N"Администратор" /P"пароль" /C"РазрешитьРаботуПользователей"

Параметр /C"РазрешитьРаботуПользователей" обрабатывает сама конфигурация на БСП. В самописной или очень старой конфигурации он может не сработать. Тогда снимайте блокировку в консоли кластера или через Конфигуратор.

Особенность файловой базы

У файловой базы нет консоли кластера, поэтому запрет сеансов снимается только изнутри: через форму блокировки, запуск с /UC или с параметром /C"РазрешитьРаботуПользователей". Удалять файлы из каталога базы ради снятия этого запрета бесполезно: он хранится в данных, а не в служебном файле 1Cv8.1CL. Если ни один способ не сработал, остаётся восстановить базу из копии, сделанной до блокировки.

Снятие блокировки в консоли администрирования серверов 1С

В клиент-серверном варианте самый надёжный путь — консоль кластера. Она работает, даже если в саму базу не войти.

Снять запрет начала сеансов

  1. Откройте Администрирование серверов 1С Предприятия.
  2. Раскройте Центральный сервер → Кластеры → ваш кластер → Информационные базы.
  3. Откройте свойства нужной базы. Консоль запросит логин и пароль администратора этой базы.
  4. Снимите флажок Блокировка начала сеансов включена.
  5. Проверьте флажок Блокировка регламентных заданий включена: после обновления его часто забывают снять, и обмены перестают работать.
  6. Нажмите ОК.

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

Найти и завершить сеанс, который держит данные

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

  1. В ветке базы откройте узел Блокировки и найдите, какой сеанс держит объект.
  2. Перейдите в узел Сеансы, найдите этот сеанс по номеру.
  3. Посмотрите пользователя, компьютер и время последней активности.
  4. Позвоните пользователю: возможно, у него открыта длительная операция, которую жалко прерывать.
  5. Если сеанс завис, вызовите на нём команду удаления сеанса из контекстного меню.

Завершение сеанса обрывает работу пользователя без сохранения. Незаписанный документ пропадёт, а прерванная транзакция откатится целиком. Делайте это после звонка сотруднику.

Если консоль не открывается с ошибкой о классе, перерегистрируйте radmin.dll нужной версии платформы командой regsvr32 из папки bin от имени администратора. Версия консоли должна совпадать с версией сервера.

Команды rac и роль процесса rmngr на сервере

Утилиты «rmngr» для ручного управления блокировками нет. rmngr — это процесс менеджера кластера, он работает в составе службы сервера 1С вместе с агентом ragent и рабочими процессами rphost. Управляют кластером из командной строки утилитой rac, которой нужен запущенный сервер администрирования ras.

Базовый порядок работы с rac:

rem Запустить сервер администрирования (если ещё не запущен)
ras cluster --daemon

rem Узнать идентификатор кластера
rac cluster list

rem Список баз кластера
rac infobase summary list --cluster=<uuid_кластера>

rem Снять запрет начала сеансов и регламентных заданий
rac infobase update --cluster=<uuid_кластера> --infobase=<uuid_базы> --infobase-user=Администратор --infobase-pwd=пароль --sessions-deny=off --scheduled-jobs-deny=off

rem Список сеансов и завершение зависшего
rac session list --cluster=<uuid_кластера> --infobase=<uuid_базы>
rac session terminate --cluster=<uuid_кластера> --session=<uuid_сеанса>

Если в кластере задан администратор, добавьте --cluster-user и --cluster-pwd. Полный список параметров для вашей версии выводит rac help infobase и rac help session.

rac удобен, когда на сервере нет графической консоли или блокировку нужно снимать по расписанию, например после ночного обновления.

Когда сеансы «воскресают» после удаления

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

  1. Предупредите всех пользователей: остановка службы сервера 1С отключит всех от всех баз кластера.
  2. Остановите службу Агент сервера 1С:Предприятия 8.3.
  3. В каталоге кластера (по умолчанию srvinfo\reg_1541) переместите в отдельную папку каталоги snccntx*.
  4. Запустите службу и проверьте список сеансов.

Каталоги snccntx содержат сеансовые данные и пересоздаются при запуске. Файлы реестра кластера 1CV8Clst.lst и папки с базами не трогайте.

Как разблокировать файловую базу 1С, если занят файл

В файловом варианте база — это каталог с файлом 1Cv8.1CD. Рядом лежит служебный файл 1Cv8.1CL, через который сеансы договариваются о совместном доступе. Если какой-то процесс «завис», файл остаётся занятым и база не открывается у остальных.

Порядок действий от мягкого к жёсткому:

  1. Попросите всех закрыть 1С и проверьте, что окна действительно закрылись.
  2. На каждом компьютере откройте диспетчер задач и завершите процессы 1cv8.exe, 1cv8c.exe, 1cv8s.exe, если они остались после закрытия окон.
  3. Если база лежит в общей папке, на компьютере с этой папкой откройте Управление компьютером → Общие папки → Открытые файлы. Найдите в списке 1Cv8.1CD или 1Cv8.1CL и закройте их.
  4. Если база опубликована на веб-сервере, перезапустите службу веб-сервера: её процесс тоже держит файл.
  5. Только после этого, убедившись, что к базе никто не подключён, удалите файл 1Cv8.1CL. Платформа создаст его заново при следующем входе.

Никогда не удаляйте и не переименовывайте 1Cv8.1CD: это сама база. Удаление 1Cv8.1CL при работающих пользователях может повредить данные, поэтому сначала шаги 1–4 и свежая копия каталога базы.

После снятия файловой блокировки запустите базу один раз в одиночку и убедитесь, что она открывается без ошибок. Если платформа сообщает о повреждении, остановитесь и проверьте базу утилитой chdbfl.exe из каталога bin платформы на копии.

Запрет входа для отдельного пользователя

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

  1. Откройте Администрирование → Настройки пользователей и прав → Пользователи.
  2. Найдите сотрудника. Отключённые записи обычно видны с отметкой или скрыты фильтром: включите показ недействительных пользователей.
  3. В карточке откройте свойства входа и установите флажок Вход в программу разрешен.
  4. Проверьте ограничение срока действия входа: если дата прошла, продлите или снимите её.
  5. Запишите карточку и попросите сотрудника войти заново.

В БСП есть настройки входа, которые отключают пользователей автоматически, например после долгого простоя без входа. Найти их можно в том же разделе Настройки пользователей и прав. Если сотрудников «выбивает» регулярно, причина почти наверняка там.

Если записи пользователя нет в справочнике, но в Конфигураторе (Администрирование → Пользователи) он есть, запись программы и пользователь информационной базы разошлись. Восстанавливайте связь через карточку в режиме «Предприятие», а не правкой в Конфигураторе.

Какое сообщение видит пользователь?

Профилактика: настройки сеансов, чтобы блокировки не повторялись

Большинство повторных случаев закрываются тремя настройками и одним правилом.

Задайте окончание блокировки

При установке запрета перед обновлением сразу указывайте время окончания. Если что-то пойдёт не так ночью, утром база откроется сама. Заполняйте и сообщение для пользователей: «Обновление до 7:00, вопросы — Иванову, доб. 214».

Настройте завершение спящих сеансов

В свойствах информационной базы в консоли кластера есть два параметра:

  • ⏱ Время засыпания пассивного сеанса — через сколько секунд бездействия сеанс клиента «засыпает» и освобождает лицензию;
  • ⏱ Время завершения спящего сеанса — через сколько секунд спящий сеанс удаляется совсем.

Разумная пара для бухгалтерии: засыпание через 1200 секунд (20 минут), завершение через 28 800 секунд (8 часов). Так забытый на ночь сеанс не будет держать данные утром.

Проверьте время ожидания блокировки данных

В Конфигураторе: Администрирование → Параметры информационной базы → Время ожидания блокировки данных. По умолчанию — 20 секунд. Поднимать его до минут нельзя: пользователи будут просто дольше ждать перед той же ошибкой. Если конфликт повторяется, ищите долгую операцию, которая держит данные, и переносите её на ночь.

Не держите базу в монопольном режиме дольше нужного

Монопольный доступ нужен для обновления структуры конфигурации, загрузки файла .dt, тестирования и исправления. Закончили — закройте Конфигуратор и снимите запрет. Оставленный открытым Конфигуратор с незавершённым обновлением — частая причина «вечной» блокировки.

Перед уходом после обновления
Выполнено: 0 / 5

Частые вопросы

Почему после снятия блокировки не работают обмены и загрузка курсов?
В консоли кластера остался флажок блокировки регламентных заданий. Он ставится отдельно от запрета сеансов, снимите его в свойствах базы.
Можно ли снять блокировку, не будучи администратором базы?
Нет. И в программе, и в консоли кластера для изменения запрета нужен пользователь с полными правами в этой базе. Обычный сотрудник может только войти с кодом разрешения, если ему его сообщили.
Блокировка снята, а пользователю всё равно пишет, что вход запрещён. Почему?
Клиент мог закешировать сообщение до перезапуска. Полностью закройте 1С и откройте снова. Если не помогло, проверьте, не стоит ли запрет одновременно и в консоли кластера.
Увидит ли пользователь предупреждение перед принудительным отключением?
При установке блокировки через БСП работающим пользователям показывается сообщение и даётся время на завершение работы. При удалении сеанса в консоли кластера предупреждения нет — сеанс обрывается сразу.
Как узнать, кто поставил блокировку?
Откройте журнал регистрации базы и отберите события за нужный период по пользователю-администратору. Время начала блокировки подскажет, где искать.