Отвязка информационной базы от хранилища конфигурации: Конфигуратор, пакетный режим, чистка хвостов

· 9 мин

Содержание

Чтобы отключить хранилище 1С, откройте базу в Конфигураторе и выполните Конфигурация → Хранилище конфигурации → Отключиться от хранилища, затем подтвердите действие. Перед этим поместите в хранилище или отмените все свои захваты: после отключения захваченные объекты останутся заблокированными для коллег.

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

1. Подготовка к отключению хранилища: что проверить заранее

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

Прежде чем отключаться, ответьте себе на четыре вопроса:

  • 🔒 Есть ли захваченные объекты. Откройте окно хранилища (Конфигурация → Хранилище конфигурации → Открыть хранилище) и посмотрите, какие объекты захвачены этой базой.
  • ✏️ Есть ли непомещённые изменения. Доработки в захваченных объектах живут только в локальной конфигурации. Решите: поместить их в хранилище, сохранить в файл или выбросить.
  • 🗄️ Совпадает ли конфигурация с конфигурацией базы данных. Если в основной конфигурации есть изменения, которые не применены к базе данных, после отключения они никуда не денутся, но и сами не применятся.
  • 👥 Кто ещё работает с хранилищем. Если отключение — часть вывода хранилища из эксплуатации, остальные разработчики должны закончить работу и поместить изменения.

Как понять, что база подключена к хранилищу

Признаков три, и хватит любого:

  • в дереве конфигурации у объектов стоят значки замка: свободен, захвачен вами, захвачен другим;
  • в меню Конфигурация → Хранилище конфигурации активны команды «Захватить», «Поместить», «Отключиться от хранилища»;
  • при открытии Конфигуратора появляется окно входа в хранилище с адресом.

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

Сделайте резервную копию базы : Администрирование → Выгрузить информационную базу в Конфигураторе, файл .dt. Для клиент-серверной базы подойдёт и копия средствами СУБД.

Сохраните текущую конфигурацию в файл .cf (Конфигурация → Сохранить конфигурацию в файл). Если после отключения выяснится, что потерялась нужная доработка, её можно будет сравнить и перенести из этого файла.

Перед отключением от хранилища
Выполнено: 0 / 5

2. Что администратор может сделать в режиме 1С:Предприятие

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

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

  1. Проверьте, кто сейчас работает: в конфигурациях на БСП это список активных пользователей в разделе Администрирование.
  2. Если предстоит обновление конфигурации базы данных, установите блокировку сеансов. В БП 3.0 и ЗУП 3.1 она находится в Администрирование → Обслуживание (в части релизов раздел называется «Поддержка и обслуживание»).
  3. Задайте время начала блокировки и текст сообщения для пользователей, сохраните.

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

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

3. Отключение базы от хранилища в Конфигураторе

Это основной и самый безопасный способ.

Шаг 1. Войдите в Конфигуратор

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

Если хранилище недоступно (сервер выключен, каталог переехал), окно входа можно закрыть. Конфигуратор откроется, связь с хранилищем останется в базе.

Шаг 2. Разберитесь с захватами

В окне хранилища отфильтруйте объекты, захваченные вами. Дальше два варианта:

  • Нужны изменения — Поместить в хранилище, с комментарием.
  • Не нужны — Отменить захват. Платформа предложит вернуть объекты к версии из хранилища.

Шаг 3. Выполните отключение

  1. Меню Конфигурация → Хранилище конфигурации → Отключиться от хранилища.
  2. Подтвердите действие в диалоге.
  3. Дождитесь, пока в дереве конфигурации пропадут значки блокировки у объектов.

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

Шаг 4. Обновите конфигурацию базы данных

Если основная конфигурация отличается от конфигурации базы данных, выполните Конфигурация → Обновить конфигурацию базы данных (F7). Если отличий нет, команда это сообщит.

Обновление со сменой структуры таблиц требует монопольного доступа. Делайте его, когда пользователи вышли из базы.

Если хранилище уже недоступно

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

Захваты в недоступном хранилище останутся висеть, но если хранилища больше нет, это уже неважно. Если команда в вашем релизе платформы требует подключения, сделайте выгрузку в .dt и загрузите её в новую пустую базу: связь с хранилищем при этом не переносится.

Как выглядят основные способы

СпособКогда подходитРиски
Команда «Отключиться от хранилища»Обычная ситуация, Конфигуратор открываетсяБрошенные захваты, если их не отменить
Пакетный режим /ConfigurationRepositoryUnbindCfgМного баз, скрипты, ночные регламентыС ключом -force теряются непомещённые изменения
Выгрузка в .dt и загрузка в новую базуНужна чистая копия без связи с хранилищемДолго на больших базах

4. Отключение хранилища из командной строки

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

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /F "D:\Bases\Dev" /N "Администратор" /P "пароль" /ConfigurationRepositoryUnbindCfg -force /Out "D:\Logs\unbind.log"

Для клиент-серверной базы вместо /F указывают /S "server\base". Номер версии в пути замените на установленный у вас.

Что делает команда:

  • /ConfigurationRepositoryUnbindCfg — отключает основную конфигурацию от хранилища.
  • -force — отключает без вопросов, даже если есть захваченные объекты и непомещённые изменения.
  • /Out — пишет результат в лог. Проверяйте его: пакетный режим не показывает ошибок на экране.

Ключ -force выбрасывает непомещённые изменения без предупреждения. Используйте его только на базах, где локальных доработок точно нет, например на тестовых копиях.

Если нужно сначала войти в хранилище (например, поместить изменения), в той же строке передают параметры подключения: /ConfigurationRepositoryF (адрес), /ConfigurationRepositoryN (пользователь), /ConfigurationRepositoryP (пароль). Полный список ключей — в справке по параметрам командной строки 1cv8.

5. Права пользователей хранилища и чужие захваты

Отключить базу от хранилища и отключить от хранилища человека — разные задачи. Вторая решается в администрировании самого хранилища.

Как закрыть доступ разработчику

  1. В окне хранилища откройте Администрирование → Пользователи (нужны административные права в хранилище).
  2. Выберите пользователя.
  3. Снимите лишние права или удалите пользователя.

Права пользователя хранилища:

ПравоЧто даёт
ЧтениеПодключаться и получать конфигурацию
Захват объектовЗахватывать объекты для редактирования
Изменение версийМенять метки и комментарии версий
Административные функцииУправлять пользователями и настройками хранилища

Если оставить только «Чтение», база человека останется подключённой, но захватить объект он уже не сможет.

Что делать с захватами уволившегося сотрудника

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

  1. Администратор хранилища задаёт этому пользователю новый пароль в списке пользователей.
  2. Из любой базы подключитесь к хранилищу под этим пользователем.
  3. Откройте окно хранилища и отмените его захваты.
  4. После этого удалите пользователя или оставьте ему только чтение.

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

6. Очистка следов подключения и вывод хранилища из работы

Копии баз со старой связью

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

Выгрузка в .dt с последующей загрузкой связь с хранилищем не переносит. Поэтому тестовые копии удобнее делать именно так.

Локальный кэш

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

  1. Закройте все сеансы 1С на этом компьютере.
  2. Удалите содержимое каталогов %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 (папки с именами-идентификаторами баз). Список баз хранится отдельно, в файле ibases.v8i, его не трогайте.
  3. Запустите Конфигуратор заново.

Кэш удаляйте только при закрытой 1С на этом компьютере. Если чистите кэш на терминальном сервере, делайте это для конкретного пользователя после выхода из сеанса.

Удаление самого хранилища

Когда хранилище больше не нужно:

  1. Убедитесь, что все рабочие базы отключены.
  2. Сохраните последнюю версию в .cf: в окне хранилища есть сохранение версии в файл через историю хранилища.
  3. Файловое хранилище — это каталог с файлом 1cv8ddb.1CD и служебными подкаталогами. Заархивируйте его и только потом удаляйте.
  4. Для хранилища на сервере (служба crserver) архивируйте каталог хранилища на сервере. Остановку службы планируйте на время, когда с другими хранилищами этого сервера никто не работает : подключения оборвутся.

7. Ошибки после отключения от хранилища и как их разобрать

Диагностика: выберите симптом

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

8. Частые вопросы об отключении хранилища

Удаляет ли отключение историю версий?
Нет. История остаётся в самом хранилище. Отключённая база просто перестаёт его использовать.
Можно ли потом подключить эту же базу обратно?
Да, через Конфигурация → Хранилище конфигурации → Подключиться к хранилищу. Платформа сравнит конфигурации и предложит заменить локальную конфигурацию версией из хранилища, поэтому несохранённые доработки заранее выгрузите в .cf.
Нужно ли выгонять пользователей для отключения?
Для самой команды — нет. Монопольный доступ понадобится, только если после отключения вы обновляете конфигурацию базы данных с изменением структуры.
Пострадают ли данные: документы, проводки, справочники?
Нет. Хранилище работает только с конфигурацией, данные базы оно не затрагивает.
Что будет с обновлением типовой конфигурации после отключения?
Обновляться можно как обычно, через поддержку. Пока база подключена к хранилищу, обновление поставщика выполняют с захватом корня конфигурации; после отключения захват не нужен.