Отвязка информационной базы от хранилища конфигурации: Конфигуратор, пакетный режим и снятие захватов
Содержание
Чтобы отключиться от хранилища 1С, откройте базу в Конфигураторе и выберите Конфигурация → Хранилище конфигурации → Отключиться от хранилища, затем подтвердите действие. Если Конфигуратор не может связаться с сервером хранилища или ругается на захваченные объекты, базу отвязывают из командной строки параметром /ConfigurationRepositoryUnbindCfg -force.
Сама отвязка занимает секунды. Сложности начинаются до и после неё: незафиксированные правки, объекты, которые остались захваченными за вашим пользователем, и недоступный сервер хранилища. Ниже — каждый из этих случаев по шагам.
Что даёт хранилище и когда базу от него отвязывают
Хранилище конфигурации — общий репозиторий, через который несколько разработчиков правят одну конфигурацию. Каждый работает в своей информационной базе, подключённой к хранилищу. Чтобы изменить объект, его «захватывают», правят и «помещают» обратно.
Связь с хранилищем записана в самой информационной базе. Поэтому отключение касается конкретной базы, а не пользователя и не компьютера.
Типичные причины отключиться:
- 🔹 разработка закончена, базу передают в эксплуатацию или в тестирование как обычную;
- 🔹 нужно загрузить в базу файл
.cfили обновить её от поставщика, а пока она в хранилище, эти команды недоступны; - 🔹 сервер хранилища переехали или удалили, и Конфигуратор при каждой работе с ним выдаёт ошибку соединения;
- 🔹 базу скопировали с рабочего места разработчика, и копия не должна писать в общее хранилище;
- 🔹 нужно переподключить базу к другому хранилищу.
После отключения конфигурация в базе остаётся такой, какой была в момент отвязки. Ничего не стирается и не откатывается: просто перестают работать захват, помещение и получение изменений.
Подготовка: что сделать до отключения
Самая частая проблема после отвязки — объекты, которые остались захваченными. Другие разработчики их изменить не смогут, пока захват не снимут. Разберитесь с ними заранее.
- Откройте окно хранилища:
Конфигурация → Хранилище конфигурации → Открыть хранилище. - Отберите объекты, захваченные вашим пользователем. Захваченные отмечены значком замка в дереве конфигурации и в окне хранилища.
- Для каждого объекта решите судьбу правок:
- нужны всем —
Поместить изменения в хранилищес комментарием; - не нужны —
Отменить захват, правки в объекте откатятся к версии хранилища.
- нужны всем —
- Сохраните конфигурацию:
Конфигурация → Сохранить конфигурацию в файл. Получится.cf, к которому можно вернуться. - Если в базе живые данные, сделайте выгрузку
.dtчерезАдминистрирование → Выгрузить информационную базу.
Не отключайтесь, пока за вами числятся захваченные объекты. После отвязки снять захват из этой базы уже не получится: в ней нет связи с хранилищем, а в хранилище объект будет числиться захваченным.
Отключение через Конфигуратор: штатный способ
Подходит, когда сервер хранилища доступен и вы знаете пароль пользователя хранилища.
Шаги
- Запустите базу в режиме
Конфигураторпод пользователем с административными правами в информационной базе. - Если при открытии появилось окно авторизации в хранилище — введите имя и пароль пользователя хранилища.
- Откройте меню
Конфигурация → Хранилище конфигурации. - Выберите
Отключиться от хранилища. - Подтвердите действие в вопросе платформы.
После этого в подменю снова станет доступна команда Подключиться к хранилищу, а значки замков в дереве объектов пропадут.
Отключение расширения
Расширения конфигурации подключаются к хранилищу отдельно от основной конфигурации. Если в хранилище было подключено расширение:
- Откройте
Конфигурация → Расширения конфигурации. - Откройте конфигурацию нужного расширения.
- В меню окна расширения найдите раздел работы с хранилищем и выполните отключение.
Основная конфигурация при этом остаётся подключённой, и наоборот: отвязка основной не трогает расширения.
Пакетный режим: отключение без окна Конфигуратора
Штатная команда упирается в две вещи: доступ к серверу хранилища и захваченные объекты. Когда сервера больше нет, а пароль никто не помнит, помогает запуск Конфигуратора из командной строки с параметром /ConfigurationRepositoryUnbindCfg.
Ключ -force отвязывает базу без проверки связи с хранилищем и без требования поместить или вернуть захваченные объекты.
Пример для файловой базы:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F "D:\Bases\Dev" /N "Администратор" /P "пароль" /ConfigurationRepositoryUnbindCfg -force /Out "D:\Logs\unbind.log" /DisableStartupDialogs
Пример для клиент-серверной базы:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /S "srv1c\dev_base" /N "Администратор" /P "пароль" /ConfigurationRepositoryUnbindCfg -force /Out "D:\Logs\unbind.log" /DisableStartupDialogs
Что здесь что:
| Параметр | Назначение |
|---|---|
DESIGNER | запуск в режиме Конфигуратора |
/F или /S | путь к файловой базе или «сервер\имя базы» для клиент-серверной |
/N, /P | пользователь и пароль информационной базы, а не хранилища |
/ConfigurationRepositoryUnbindCfg | отключить конфигурацию от хранилища |
-force | не обращаться к хранилищу и не проверять захваты |
/Out | файл, куда платформа запишет результат |
/DisableStartupDialogs | не показывать стартовые диалоги |
Номер версии платформы в пути подставьте свой: посмотреть его можно в папке C:\Program Files\1cv8\. Для расширения к команде добавляют -Extension с именем расширения; точный синтаксис для своей версии проверьте в справке «Параметры командной строки».
После -force объекты, захваченные из этой базы, остаются захваченными в самом хранилище. Если хранилище живо и им пользуются другие, предупредите администратора хранилища — захват придётся снимать ему.
Пароль в командной строке виден в истории и в списке процессов. Выполняйте команду вручную, а не через общий bat-файл в сетевой папке, и не оставляйте файл с паролем на диске.
Как прочитать результат
Откройте файл из /Out. Пустой лог или сообщение об успешном завершении — отвязка прошла. Если там ошибка авторизации, проверьте /N и /P: частая путаница — подставить логин хранилища вместо логина базы.
Клиент-серверная база: на что смотреть
Для серверной базы порядок тот же, но есть нюансы.
- 🖥 Где запускать. Конфигуратор можно открыть с любого компьютера, где установлен клиент 1С той же версии, что и сервер, и есть доступ к кластеру. Связь с хранилищем хранится в базе на сервере, поэтому отвязка с одного рабочего места действует для всех.
- 👥 Кто ещё работает в базе. Если это общая база разработки, с которой работали несколько человек, отключение затронет всех. Договоритесь заранее.
- 🌐 Адрес хранилища. Серверное хранилище задаётся адресом вида
tcp://srv-repo/devилиhttp://srv-web/repository/repo.1ccr, файловое — путём к каталогу. Если адрес сменился, штатное отключение будет ждать ответа от старого адреса — тогда сразу переходите к пакетному режиму. - 🔐 Права. Для отвязки нужны административные права в информационной базе. Права в хранилище для
-forceне нужны.
Если пакетная команда не может открыть базу из-за активных сеансов, их придётся завершать через консоль кластера. Пользователи потеряют несохранённые данные — делайте это после предупреждения и вне рабочего времени.
Ошибки при отключении и что с ними делать
Захват остался, базы уже нет
Сценарий частый: разработчик уволился, его база удалена, а десяток объектов в хранилище числятся за ним. Решение — у администратора хранилища. Он работает с хранилищем из своей базы и управляет пользователями хранилища через меню администрирования в окне хранилища.
Чего не делать: удалять файлы хранилища вручную или пересоздавать хранилище «с нуля». История версий пропадёт, а все базы разработчиков придётся подключать заново.
Проверка после отключения
Убедитесь, что база действительно отвязана и конфигурация в порядке.
- Меню. В
Конфигурация → Хранилище конфигурацииактивна командаПодключиться к хранилищу, аОтключитьсянедоступна. - Дерево объектов. Значков замков нет.
- Редактирование. Откройте любой объект — он редактируется без захвата.
- Расхождение конфигураций. Если в базе были незафиксированные правки, основная конфигурация может отличаться от конфигурации базы данных. Сравните их:
Конфигурация → Сравнить конфигурации. Чтобы применить изменения, выполнитеОбновить конфигурацию базы данных(F7). - Синтаксис. Запустите
Конфигурация → Проверка конфигурации, отметьте синтаксический контроль модулей. - Запуск. Откройте базу в режиме 1С:Предприятие и пройдите ключевые операции.
Обновление структуры базы данных при больших изменениях требует монопольного доступа. Для рабочей базы выбирайте время, когда в ней никого нет.
Повторное подключение и перенос в другое хранилище
Отключение обратимо. Чтобы вернуть базу в то же хранилище, выберите Конфигурация → Хранилище конфигурации → Подключиться к хранилищу, укажите адрес, пользователя и пароль.
Учтите, как ведёт себя платформа при подключении. Если конфигурация базы отличается от хранилища, платформа предложит заменить её версией из хранилища. Все локальные правки, сделанные после отвязки, при этом пропадут.
Как сохранить локальные правки при возврате:
- До подключения сохраните текущую конфигурацию в
.cf. - Подключитесь к хранилищу и согласитесь на получение его версии.
- Захватите нужные объекты.
- Перенесите правки из
.cfчерезКонфигурация → Сравнить, объединить с конфигурацией из файла, отметив только свои объекты. - Поместите изменения в хранилище.
Перенос в другое хранилище идёт так же: отключиться от старого, подключиться к новому. Если новое хранилище пустое, его создают из конфигурации базы командой Создать хранилище — база сразу окажется к нему подключена.