Администрирование · 12 мин
Как заблокировать файловую базу 1С
Как заблокировать файловую базу 1С: блокировка сеансов, установка кода разблокировки, завершение работы пользователей и проверка результата. Пошаговая инструкция.
Блокировка файловой базы 1С нужна, когда требуется монопольный доступ к данным: перед обновлением конфигурации, загрузкой данных, тестированием и исправлением, переносом базы в другое расположение или архивным копированием. Если пользователи продолжают работать во время таких операций, изменения могут не примениться, а база — повредиться.
В отличие от клиент-серверного варианта, в файловой базе нет консоли кластера, поэтому блокировка выполняется другими средствами: через регламентные операции в конфигураторе, функциональность «Блокировка установки соединений» в типовых конфигурациях на базе Библиотеки стандартных подсистем (БСП) или физическое ограничение доступа к каталогу базы. Выбор способа зависит от того, есть ли в конфигурации БСП и насколько срочно нужно выгнать пользователей.
Важно понимать разницу между двумя задачами: «не пустить новых пользователей» и «завершить уже открытые сеансы». Блокировка соединений решает первую задачу, но активные сеансы придётся завершать отдельно — иначе монопольный режим не установится.
Когда нужна блокировка файловой базы
Блокировать базу следует в любой ситуации, где требуется гарантия, что никто не изменит данные во время технической операции. Типичные случаи: обновление конфигурации с реструктуризацией таблиц, загрузка начальных данных из другой системы, тестирование и исправление информационной базы, перенос каталога базы на другой сервер или диск.
Отдельный сценарий — регламентное резервное копирование. Копирование каталога файловой базы при открытых сеансах может дать нецелостную архивную копию: файл 1Cv8.1CD копируется в момент, когда часть данных ещё не записана на диск. Поэтому перед снятием копии базу блокируют и дожидаются завершения всех сеансов.
Доступна штатная блокировка соединений с кодом разблокировки
Используйте конфигуратор или ограничение доступа к каталогу
Блокировка не завершит их сеансы — потребуется отдельное действие
Дополнительно можно закрыть сетевой доступ к каталогу базы
Способ 1. Блокировка соединений в типовой конфигурации
В конфигурациях на базе БСП (1С:Бухгалтерия, Управление торговлей, Зарплата и управление персоналом и другие) есть штатный механизм блокировки. Он запрещает установку новых соединений с базой и показывает пользователям сообщение с указанным текстом и временем окончания работ.
Порядок действий: откройте базу в режиме «Предприятие» под учётной записью с правами администратора, перейдите в раздел «Администрирование» → «Обслуживание» → «Блокировка работы пользователей». Установите флаг блокировки, укажите дату и время начала и окончания, введите сообщение для пользователей и код разблокировки.
Код разблокировки — обязательный элемент: он позволяет администратору войти в базу, пока блокировка действует. Без кода при случайной блокировке придётся снимать её через конфигуратор или вмешательство в хранилище настроек, что сложнее. Код указывается при запуске базы параметром командной строки /UC код_разблокировки.
- 1Войдите в базу в режиме «Предприятие» под администратором
- 2Откройте «Администрирование» → «Обслуживание» → «Блокировка работы пользователей»
- 3Включите блокировку, задайте время начала и окончания, сообщение и код разблокировки
- 4Сохраните настройки и сообщите пользователям о времени работ
- 5Завершите активные сеансы через «Активные пользователи»
- 6Выполните техническую операцию, затем снимите блокировку
Способ 2. Завершение активных сеансов
Блокировка соединений не закрывает уже открытые сеансы — пользователи продолжают работать, пока сами не выйдут. Для монопольного доступа сеансы нужно завершить принудительно. В типовых конфигурациях это делается в том же разделе «Обслуживание» через пункт «Активные пользователи»: выделите сеансы и нажмите «Завершить сеанс».
Перед принудительным завершением предупредите пользователей: несохранённые документы и открытые формы будут потеряны. Если пользователь редактировал документ и не записал его, данные ввода пропадут. Некоторые конфигурации позволяют отправить пользователям сообщение о скором завершении сеансов.
Альтернатива — параметр запуска конфигуратора или предприятия с ожиданием завершения сеансов, но на практике надёжнее вручную проверить список активных пользователей и убедиться, что сеансов не осталось. Фоновые задания и сеансы регламентных операций тоже считаются активными и мешают монопольному режиму.
Способ 3. Блокировка через конфигуратор и монопольный режим
Если конфигурация самописная и механизма БСП в ней нет, базу блокируют через конфигуратор. Откройте базу в конфигураторе и в меню «Администрирование» выберите «Блокировка установки соединений с информационной базой». Диалог аналогичен типовому: время начала и конца, сообщение, код разблокировки.
Для многих операций конфигуратор сам запрашивает монопольный режим: обновление конфигурации базы данных, тестирование и исправление, загрузка базы из файла dt. Если монопольный режим установить не удаётся, конфигуратор покажет список мешающих соединений — по нему видно, кого нужно отключить.
Завершить чужие сеансы из конфигуратора файловой базы штатно нельзя — списка сеансов с кнопкой отключения там нет. Поэтому при отсутствии БСП пользователей просят выйти вручную, а при необходимости закрывают их процессы на стороне файлового сервера.
Способ 4. Ограничение доступа на уровне файловой системы
Крайняя мера — закрыть доступ к каталогу базы средствами операционной системы: снять сетевой общий доступ к папке или изменить NTFS-права, оставив чтение и запись только учётной записи администратора. Пользователи при попытке входа получат ошибку доступа к файлу базы данных.
Способ грубый, но надёжный: он не зависит от конфигурации и работает, даже если в базе нет БСП и нет возможности договориться с пользователями. Недостатки: пользователи получают непонятную ошибку вместо внятного сообщения о регламентных работах, а уже открытые сеансы всё равно нужно завершать — иначе файл базы останется заблокированным процессами и скопировать его не получится.
После завершения работ не забудьте вернуть права и общий доступ в исходное состояние. Зафиксируйте исходные настройки доступа до изменения, чтобы восстановить их точно.
Сравнение способов блокировки
Штатный способ с сообщением пользователям и кодом разблокировки. Не завершает активные сеансы.
Подходит для любых конфигураций, включая самописные. Нет штатного завершения чужих сеансов.
Работает всегда, но даёт пользователям ошибку вместо сообщения и требует ручного возврата прав.
Проверка результата и снятие блокировки
После установки блокировки проверьте, что она работает: попробуйте войти в базу под обычным пользователем — должно появиться сообщение о блокировке с указанным текстом и временем окончания. Затем проверьте вход с кодом разблокировки, добавив к ярлыку запуска параметр /UC с кодом.
Перед началом технической операции убедитесь, что активных сеансов не осталось: в типовой конфигурации — через «Активные пользователи», иначе — по отсутствию блокировок файла 1Cv8.1CD на файловом сервере. Только после этого запускайте обновление, копирование или тестирование.
Снимается блокировка тем же способом, каким устанавливалась: в разделе «Обслуживание» снимите флаг блокировки, в конфигураторе — очистите настройки блокировки соединений, при файловом ограничении — верните права и общий доступ. После снятия попросите одного из пользователей войти и убедиться, что база открывается в обычном режиме.
Как проверить результат
Появляется сообщение о блокировке с текстом и временем окончания
Пользователь входит в базу — блокировка не применена или не сохранена
Сеансов нет, монопольный режим устанавливается
Остались сеансы или фоновые задания — монопольный режим недоступен
База открывается с параметром /UC и кодом разблокировки
Код не принимается — проверьте раскладку и точное значение кода
Пользователи входят в обычном режиме
Ошибка доступа к файлу — не возвращены права на каталог
Типичные ошибки и ограничения
Самая частая ошибка — установить блокировку и забыть про активные сеансы. Администратор видит, что новые подключения запрещены, и запускает обновление, но монопольный режим не устанавливается из-за оставшихся пользователей или фоновых заданий. Всегда проверяйте список сеансов после включения блокировки.
Вторая ошибка — не задать код разблокировки или потерять его. Если блокировка установлена, а код неизвестен, войти в предприятие не получится; придётся открывать конфигуратор (он не подчиняется блокировке соединений) и снимать блокировку оттуда. Сам конфигуратор блокировкой соединений не ограничивается — это штатный путь аварийного снятия.
Третья группа ошибок связана с файловым доступом: администратор снимает общий доступ к папке, а после работ возвращает его с другими правами — например, только на чтение. Пользователи входят в базу, но не могут записать документы. Проверяйте права на изменение для всех рабочих учётных записей.
Удобно держать готовый ярлык запуска базы с параметром /UC и кодом разблокировки в защищённом месте. Когда блокировка уже действует, создавать и проверять такой ярлык приходится в спешке, а ошибка в одном символе кода выглядит как полная невозможность войти.
Что важно запомнить
Блокировка файловой базы выполняется через «Блокировку установки соединений» в типовой конфигурации или конфигураторе, всегда с кодом разблокировки. Активные сеансы завершаются отдельно, и только после этого доступен монопольный режим. Результат проверяется тестовым входом и списком сеансов, а после работ блокировку снимают и проверяют права доступа.
Частые вопросы
Блокирует ли установка соединений вход в конфигуратор?
Нет. Блокировка соединений действует на сеансы режима «Предприятие» и внешние подключения, но конфигуратор открывается всегда. Это штатный способ аварийно снять блокировку, если код разблокировки утерян: откройте конфигуратор, зайдите в «Администрирование» → «Блокировка установки соединений» и очистите настройки.
Почему не устанавливается монопольный режим, хотя блокировка включена?
Блокировка запрещает только новые подключения. Уже открытые сеансы пользователей, фоновые задания и сеансы отладки продолжают работать и мешают монопольному режиму. Завершите их через список активных пользователей, а фоновые задания остановите или дождитесь их завершения.
Можно ли скопировать файловую базу, пока пользователи работают?
Технически файл 1Cv8.1CD может копироваться, но такая копия не гарантирует целостность: часть данных в момент копирования находится в памяти сеансов и не записана на диск. Для надёжной копии заблокируйте базу, завершите все сеансы и только затем копируйте каталог.
Как автоматически блокировать базу по расписанию, например на ночь?
В типовых конфигурациях на БСП блокировка имеет время начала и окончания, но не повторяющееся расписание. Для регулярных ночных работ обычно настраивают скрипт, который запускает конфигуратор пакетно с выполнением нужных операций, а блокировку включают через вызов соответствующих методов БСП из внешней обработки или вручную перед началом окна обслуживания.
Что увидит пользователь при попытке войти в заблокированную базу?
Появится окно с сообщением, которое администратор указал при установке блокировки: обычно это причина работ и время окончания. Если сообщение не задано, пользователь увидит стандартный текст о том, что работа с информационной базой запрещена. Рекомендуется всегда писать понятное сообщение с ориентировочным временем окончания работ.
Чем блокировка файловой базы отличается от блокировки в клиент-серверном варианте?
В клиент-серверном варианте блокировка и завершение сеансов выполняются централизованно через консоль кластера серверов 1С: администратор видит все сеансы и может отключить любой из них одной командой. В файловой базе централизованного управления сеансами нет, поэтому активные сеансы завершают либо штатными средствами конфигурации, либо вручную.