Рабочая копия базы из файла .dt: от загрузки до первого коммита в хранилище
Содержание
Чтобы установить базу 1С из DT на рабочем месте разработчика, создайте пустую информационную базу, откройте её в Конфигураторе и выполните Администрирование → Загрузить информационную базу..., указав файл .dt. Затем подключите базу к хранилищу конфигурации через Конфигурация → Хранилище конфигурации → Подключиться к хранилищу... — и можно захватывать объекты.
Файл .dt — это полная выгрузка: конфигурация, данные, список пользователей и настройки. Загрузка целиком заменяет содержимое целевой базы. Поэтому грузить DT можно только в новую пустую базу или в свою старую копию, которую не жалко. Ниже — порядок действий для файлового и клиент-серверного варианта, работа с хранилищем и разбор частых сбоев.
Что подготовить до загрузки DT
Сначала соберите всё нужное. Половина неудачных разворачиваний упирается не в сам файл, а в окружение.
- 📦 Файл выгрузки
.dtи его размер. Сжатая выгрузка в 5 ГБ после загрузки легко превращается в 20–30 ГБ базы, плюс место под временные файлы. - 🧩 Платформа 1С с номером версии не ниже той, в которой сделана выгрузка. Узнать версию проще всего у того, кто выгружал файл: она видна в окне «О программе» исходной базы.
- 🔑 Логин и пароль пользователя с полными правами из исходной базы. Список пользователей приезжает вместе с DT, и после загрузки войти можно только под ними.
- 🗄️ Для серверного варианта — доступ к кластеру 1С и к СУБД (PostgreSQL или MS SQL) с правом создавать базы.
- 🔗 Адрес хранилища конфигурации, логин и пароль пользователя хранилища, выданные администратором проекта.
- 💽 Лицензия. Без доступной лицензии платформа не запустит базу. Исключение — учебная версия, но в неё рабочую выгрузку не загрузить.
Если исходная база большая, а для разработки нужны только конфигурация и немного данных, попросите у владельца базы выгрузку конфигурации в .cf. Пустая база с загруженным .cf разворачивается за минуты, а к хранилищу подключается так же.
Файловая или серверная база
| Вариант | Когда подходит | Ограничения |
|---|---|---|
| Файловая | Небольшая база, разработка в одиночку, быстрые эксперименты | Медленнее на больших объёмах, поведение блокировок отличается от боевого сервера |
| Клиент-серверная | Отладка запросов, проверка производительности, база больше 10–15 ГБ | Нужны сервер 1С, СУБД и права в кластере |
Если в бою база серверная, а ошибка связана с блокировками или скоростью запросов, разворачивайте серверную копию. В файловой базе такую ошибку часто не воспроизвести.
Создание пустой базы и регистрация в списке 1С
Файловый вариант
- Запустите 1С и в окне запуска нажмите
Добавить.... - Выберите «Создание новой информационной базы» и вариант создания базы без конфигурации — он предназначен как раз для загрузки выгруженной ранее базы.
- Задайте понятное имя, например
ДЕВ_БП_Иванов. Префикс сразу отличит копию от рабочей базы в списке. - Укажите тип расположения «На данном компьютере» и каталог, например
D:\Bases\Dev_BP. - Завершите мастер. База появится в списке, внутри пусто.
Серверный вариант
- Откройте консоль администрирования серверов 1С и разверните нужный кластер.
- В ветке «Информационные базы» создайте новую базу.
- Заполните имя базы в кластере, сервер СУБД, тип СУБД, имя базы данных и пользователя СУБД.
- Отметьте флажок создания базы данных в случае её отсутствия.
- Отметьте «Установить блокировку регламентных заданий». Иначе после загрузки DT копия начнёт выполнять регламентные задания боевой базы: обмены, загрузку курсов, рассылки.
- В окне запуска 1С добавьте базу как существующую, тип расположения «На сервере 1С:Предприятия», укажите кластер и имя базы.
Имя базы в кластере и имя базы в СУБД должны быть новыми. Если случайно указать существующую рабочую базу, загрузка DT перезапишет её данные.
Загрузка файла .dt в Конфигураторе
- Выделите созданную базу в окне запуска и нажмите
Конфигуратор. - В пустую базу Конфигуратор пустит без пароля.
- Выполните
Администрирование → Загрузить информационную базу.... - Выберите файл
.dtи подтвердите замену данных. - Дождитесь окончания. На базе в 10 ГБ это может занять от 15 минут до часа: всё решает диск и процессор.
- Конфигуратор предложит перезапуск. Согласитесь. После него вход уже под пользователем из исходной базы.
Пакетная загрузка из командной строки
Если копии нужно обновлять регулярно, удобнее скрипт. Ключ /RestoreIB загружает DT в пакетном режиме Конфигуратора:
set V8="C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe"
rem создать пустую файловую базу
%V8% CREATEINFOBASE File="D:\Bases\Dev_BP"
rem загрузить в неё выгрузку
%V8% DESIGNER /F "D:\Bases\Dev_BP" /RestoreIB "D:\dt\prod.dt" /Out "D:\dt\restore.log"
Номер версии в пути замените на свой. Для серверной базы вместо /F "путь" указывают /S "сервер\имя_базы". Результат смотрите в файле, переданном в /Out: в окне ошибок не будет.
Первый запуск копии
Типовые конфигурации на БСП при первом запуске в новом месте замечают, что база переехала, и спрашивают, копия это или перенос. Выбирайте вариант «копия». Тогда программа отключит работу с внешними ресурсами: обмены, отправку почты, синхронизацию с сайтом и облачными сервисами.
Не выбирайте «база перемещена» в копии для разработки. В таком режиме копия может отправить письма клиентам или выгрузить данные в боевой обмен.
Подключение к хранилищу конфигурации
Хранилище хранит эталон конфигурации и историю версий. Ваша база после загрузки DT содержит конфигурацию, но ещё не связана с хранилищем.
Где лежит хранилище
- 📁 Файловое — путь к каталогу, например
\\fileserver\repo\BP. Подходит маленькой команде в одной сети. - 🌐 Через сервер хранилища — адрес вида
tcp://srv-repo/BP. Служба сервера хранилища по умолчанию слушает порт 1542. - 🔒 Через веб-сервер — адрес вида
http://srv-web/repo/repo.1ccr/BP, если хранилище опубликовано.
Как подключиться
- Откройте копию в Конфигураторе под пользователем с полными правами.
- Выполните
Конфигурация → Хранилище конфигурации → Подключиться к хранилищу.... - Укажите адрес хранилища, имя и пароль пользователя хранилища. Это отдельные учётные данные, не пользователь базы.
- Если конфигурация в базе отличается от версии в хранилище, платформа предупредит, что конфигурация базы будет заменена конфигурацией из хранилища. Согласитесь: в копии для разработки эталоном должно быть хранилище.
- После подключения в дереве конфигурации у объектов появятся значки статуса захвата.
Один пользователь хранилища привязан к одной базе на одном компьютере. Если разворачиваете вторую копию для себя, попросите у администратора проекта второго пользователя хранилища, например Иванов_тест. Иначе придётся перепривязывать пользователя, и захваты из первой копии станут недоступны.
Права пользователя хранилища
Права выдаёт администратор хранилища в Конфигурация → Хранилище конфигурации → Администрирование. Для обычного разработчика достаточно права захвата и изменения объектов. Если права только на чтение, подключиться и получать версии вы сможете, а захватить объект — нет.
Что проверить у администратора проекта перед стартом:
- 👤 имя пользователя хранилища и что он не привязан к чужой базе;
- ✏️ право захватывать объекты и изменять версию;
- 🧾 правила комментариев: формат номера задачи, язык, длина.
Подключение скриптом
Для автоматизации подойдут ключи пакетного режима:
%V8% DESIGNER /F "D:\Bases\Dev_BP" /N "Администратор" /P "" ^
/ConfigurationRepositoryF "tcp://srv-repo/BP" ^
/ConfigurationRepositoryN "Иванов" /ConfigurationRepositoryP "пароль" ^
/ConfigurationRepositoryBindCfg -forceBindAlreadyBindedUser -forceReplaceCfg ^
/UpdateDBCfg /Out "D:\dt\bind.log"
Флаг -forceBindAlreadyBindedUser перепривязывает пользователя, уже связанного с другой базой. Применяйте его осознанно: захваты, сделанные из прежней базы, придётся снимать или переносить.
Получение актуальной версии из хранилища
Выгрузка DT почти всегда старше текущего состояния проекта. Пока вы её грузили, коллеги поместили новые изменения.
- Выполните
Конфигурация → Хранилище конфигурации → Обновить конфигурацию из хранилища. - Платформа получит последнюю версию всех объектов.
- Нажмите
F7— «Обновить конфигурацию базы данных». Только после этого изменения попадут в структуру базы. - Если реструктуризация затрагивает большие таблицы, она займёт время. На серверной копии это лучше делать, пока в ней никто не работает .
Чтобы обновить только часть объектов, выделите их в дереве и выберите получение из хранилища в контекстном меню.
Обновление конфигурации базы данных требует монопольного доступа. Если в копии кто-то работает в режиме 1С:Предприятие, его сеанс придётся завершить — предупредите коллег, которые тоже ходят в эту базу.
Ежедневная работа: захват, правки, помещение
Цикл разработки в хранилище простой: захватил → изменил → проверил → поместил.
Захват объектов
- Выделите объект и выберите
Захватить в хранилище. - Отметьте «Получать захваченные объекты», чтобы перед правкой взять свежую версию.
- Захватывайте только то, что правите. Захват корня конфигурации блокирует добавление объектов для всей команды.
Проверка изменений
- 🔍
Сравнить конфигурацию с хранилищемпокажет, что вы поменяли, до помещения. - 🐞 Отладку запускайте в своей копии. Синтаксический контроль модулей включайте перед каждым помещением.
Помещение в хранилище
- Выделите изменённые объекты и выберите
Поместить в хранилище. - Напишите комментарий: номер задачи и что сделано. Через полгода этот комментарий — единственный способ понять, зачем менялся объект.
- Флажок «Оставить объекты захваченными» оставьте, если работа над задачей продолжается.
Откат локальных правок
Если правка не удалась, выберите Отменить захват и согласитесь получить версию из хранилища. Локальные изменения объекта пропадут, а сам объект освободится для других.
Расширения и выгрузка своей версии
Расширения конфигурации
подключают к хранилищу отдельно, у каждого своё хранилище. Если расширение в проекте не хранится в хранилище, выгружайте его в .cfe и передавайте вместе с задачей.
Иногда нужно отдать коллеге или тестировщику вашу текущую копию целиком. Для этого есть Администрирование → Выгрузить информационную базу... — получится новый .dt со всеми вашими правками и данными.