К статье
Практический материал

Администрирование · 11 мин

Блокировки файловой информационной базы 1С Предприятия 8: что это и как с ними работать

Что такое блокировки файловой информационной базы 1С Предприятие 8, почему возникает ошибка «начало сеанса с ИБ запрещено», как найти зависший сеанс и безопасно снять блокировку.

Блокировка файловой информационной базы 1С Предприятия 8 — это механизм, который ограничивает доступ пользователей к базе данных, размещённой в файле 1Cv8.1CD. Пользователь сталкивается с ней как с сообщением «Начало сеанса с информационной базой запрещено» или «Конфликт блокировок при выполнении транзакции», а администратор использует её осознанно — например, перед обновлением конфигурации или созданием резервной копии.

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

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

Какие бывают блокировки в файловой базе 1С

В файловом режиме работают три типа блокировок. Первая — блокировка сеансов информационной базы: параметр, который хранится в самой базе и запрещает новые подключения. Устанавливается через «Администрирование — Поддержка и обслуживание — Блокировка работы пользователей» (в типовых конфигурациях на БСП) или через конфигуратор.

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

Третья — транзакционные (объектные) блокировки. Когда пользователь записывает документ, платформа блокирует затронутые данные до конца транзакции. Если второй пользователь в этот момент пытается изменить те же данные, он получает ошибку «Конфликт блокировок при выполнении транзакции». В файловом режиме такие конфликты возникают чаще, чем в клиент-серверном, из-за особенностей механизма доступа к файлу.

Почему возникает ошибка «Начало сеанса с информационной базой запрещено»

Сообщение появляется, когда в параметрах базы установлена блокировка сеансов. Типичные причины: администратор начал обновление и включил блокировку, но не снял её после завершения; обновление завершилось с ошибкой, и блокировка осталась; регламентное задание или скрипт обновления установил блокировку автоматически.

В тексте ошибки обычно указано сообщение, которое администратор ввёл при установке блокировки, а иногда — код разрешения. Если сообщение говорит «выполняется обновление», значит, кто-то действительно работает с базой, и стоит дождаться окончания, а не снимать блокировку принудительно.

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

СообщениеНачало сеанса запрещено

Установлена блокировка сеансов — проверьте, не идёт ли обновление

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

Два сеанса пишут одни данные — повторите действие позже

СообщениеБаза занята при монопольном режиме

Ищите зависший сеанс или процесс 1cv8.exe

Как установить блокировку сеансов намеренно

Плановая блокировка нужна перед обновлением, загрузкой данных или регламентными операциями. В типовых конфигурациях на базе Библиотеки стандартных подсистем путь такой: «Администрирование — Поддержка и обслуживание — Блокировка работы пользователей — Установить блокировку». Там же задаётся текст сообщения пользователям и код разрешения — временный пароль, с которым можно войти, несмотря на блокировку.

Альтернатива — запуск конфигуратора с параметром командной строки. Это удобно для скриптов обслуживания.

bash
"C:\Program Files\1cv8\8.3.22.1750\bin\1cv8.exe" DESIGNER /F "D:\Bases\Trade" /N Администратор /UC КодРазрешения

Параметр /UC КодРазрешения позволяет войти в базу, у которой установлена блокировка сеансов с этим кодом. Без кода даже конфигуратор не подключится, пока блокировка активна.

Как снять блокировку безопасно

Если блокировка установлена вами или обновление завершено штатно, снимите её тем же способом, каким ставили: в форме «Блокировка работы пользователей» нажмите «Снять блокировку». Если войти в режиме предприятия невозможно, используйте конфигуратор с параметром /UC и кодом разрешения, затем снимите блокировку через функционал конфигурации.

Если код разрешения неизвестен, блокировку можно сбросить программно через внешнее соединение (COM-коннектор) или обработкой, которая вызывает метод УстановитьБлокировкуСеансов с пустыми параметрами. Для этого нужен доступ к файлу базы и права администратора.

При зависших сеансах порядок другой: сначала найдите, кто держит файл базы. На компьютере с базой откройте диспетчер задач и проверьте процессы 1cv8.exe и 1cv8c.exe у всех пользователей. Если база лежит на сетевом ресурсе, на сервере в оснастке «Управление компьютером — Общие папки — Открытые файлы» видно, какой сеанс держит 1Cv8.1CD.

Порядок снятия зависшей блокировки
  1. 1
    Убедитесь, что обновление или регламентные работы действительно завершены
  2. 2
    Найдите зависший сеанс: диспетчер задач или «Открытые файлы» на сервере
  3. 3
    Завершите процесс 1cv8.exe зависшего сеанса
  4. 4
    Проверьте отсутствие файла 1Cv8.1CL рядом с базой — при корректном завершении он удаляется
  5. 5
    Войдите в базу и при необходимости снимите блокировку сеансов штатно

Конфликт блокировок при транзакции: что делать пользователю

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

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

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

Файловый и клиент-серверный режим

Файловый режим

Прост в развёртывании, но блокировки ощутимее: вся база — один файл, конкуренция за данные выше. Подходит для небольших команд

Клиент-серверный (СУБД)

Управляемые блокировки на уровне СУБД, консоль кластера для просмотра и завершения сеансов. Требует администрирования сервера

Типичные ошибки и риски

Самая опасная ошибка — удаление файла базы или её копирование, пока с ней работают пользователи. Файловая база крайне чувствительна к прерыванию записи: обрыв сети или отключение питания в момент транзакции может привести к повреждению файла 1Cv8.1CD, и потребуется тестирование и исправление либо восстановление из копии.

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

Типичные ошибки
01
Снятие блокировки во время реального обновления — рассогласование конфигурации и данных
02
Копирование файла базы при активных сеансах — копия получается битой
03
Завершение «зависшего» сеанса, который на самом деле выполняет длительную операцию
04
Установка блокировки без кода разрешения — администратор сам не может войти

Как проверить, что блокировка снята корректно

После снятия блокировки войдите в базу под обычным пользователем без кода разрешения — вход должен пройти без сообщений. Проверьте, что рядом с файлом 1Cv8.1CD не осталось файла 1Cv8.1CL после выхода всех пользователей: его присутствие при пустой базе — признак некорректно завершённого сеанса.

Дополнительно проверьте журнал регистрации: там видно, кто и когда устанавливал и снимал блокировку, а также ошибки завершения сеансов. Это помогает найти виновника повторяющихся проблем — например, скрипт обновления, который не снимает блокировку при ошибке.

Контрольные точки

Как проверить результат

Вход пользователя
Норма

Вход без сообщений о блокировке

Тревожный признак

Снова «начало сеанса запрещено»

Файл 1Cv8.1CL
Норма

Отсутствует, когда все вышли

Тревожный признак

Остаётся при пустой базе

Журнал регистрации
Норма

Блокировка снята штатно

Тревожный признак

Аварийные завершения сеансов

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

Можно ли снять блокировку, не зная код разрешения?

Да. Подключитесь к базе через внешнее соединение (COM) или откройте конфигуратор, если блокировка не распространяется на него, и сбросьте параметры блокировки программно методом установки пустой блокировки сеансов. Потребуются права администратора базы.

Что за файл 1Cv8.1CL и можно ли его удалить?

Это служебный файл блокировок файловой базы. Он создаётся при первом подключении и удаляется при корректном выходе последнего сеанса. Удалять его вручную можно только когда с базой точно никто не работает — иначе возможно повреждение данных.

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

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

Опасно ли завершать сеанс пользователя принудительно?

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

Как автоматизировать блокировку при ночном обновлении?

Используйте пакетный запуск конфигуратора: сначала установите блокировку через типовой функционал или обработку, затем запустите обновление с параметром /UC и кодом разрешения, после успешного завершения снимите блокировку. Все шаги логируйте, чтобы при ошибке видеть, на каком этапе остановился процесс.

Файловая база постоянно «занята» после сбоя сети — что делать?

На сервере, где лежит файл, откройте «Управление компьютером — Общие папки — Открытые файлы» и закройте зависшие дескрипторы файла 1Cv8.1CD. Если проблема повторяется, проверьте стабильность сети и отключите на клиентах энергосбережение сетевых адаптеров.

Итог

Что важно запомнить

Блокировка файловой базы 1С — штатный защитный механизм. Снимайте её тем же способом, каким устанавливали, не завершайте процессы во время обновления и всегда делайте копию файла базы перед принудительными действиями.