Рабочая копия базы из файла .dt: от загрузки до первого коммита в хранилище

· 9 мин

Содержание

Чтобы установить базу 1С из DT на рабочем месте разработчика, создайте пустую информационную базу, откройте её в Конфигураторе и выполните Администрирование → Загрузить информационную базу..., указав файл .dt. Затем подключите базу к хранилищу конфигурации через Конфигурация → Хранилище конфигурации → Подключиться к хранилищу... — и можно захватывать объекты.

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

Что подготовить до загрузки DT

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

  • 📦 Файл выгрузки .dt и его размер. Сжатая выгрузка в 5 ГБ после загрузки легко превращается в 20–30 ГБ базы, плюс место под временные файлы.
  • 🧩 Платформа 1С с номером версии не ниже той, в которой сделана выгрузка. Узнать версию проще всего у того, кто выгружал файл: она видна в окне «О программе» исходной базы.
  • 🔑 Логин и пароль пользователя с полными правами из исходной базы. Список пользователей приезжает вместе с DT, и после загрузки войти можно только под ними.
  • 🗄️ Для серверного варианта — доступ к кластеру 1С и к СУБД (PostgreSQL или MS SQL) с правом создавать базы.
  • 🔗 Адрес хранилища конфигурации, логин и пароль пользователя хранилища, выданные администратором проекта.
  • 💽 Лицензия. Без доступной лицензии платформа не запустит базу. Исключение — учебная версия, но в неё рабочую выгрузку не загрузить.

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

Файловая или серверная база

ВариантКогда подходитОграничения
ФайловаяНебольшая база, разработка в одиночку, быстрые экспериментыМедленнее на больших объёмах, поведение блокировок отличается от боевого сервера
Клиент-сервернаяОтладка запросов, проверка производительности, база больше 10–15 ГБНужны сервер 1С, СУБД и права в кластере

Если в бою база серверная, а ошибка связана с блокировками или скоростью запросов, разворачивайте серверную копию. В файловой базе такую ошибку часто не воспроизвести.

Создание пустой базы и регистрация в списке 1С

Файловый вариант

  1. Запустите 1С и в окне запуска нажмите Добавить....
  2. Выберите «Создание новой информационной базы» и вариант создания базы без конфигурации — он предназначен как раз для загрузки выгруженной ранее базы.
  3. Задайте понятное имя, например ДЕВ_БП_Иванов. Префикс сразу отличит копию от рабочей базы в списке.
  4. Укажите тип расположения «На данном компьютере» и каталог, например D:\Bases\Dev_BP.
  5. Завершите мастер. База появится в списке, внутри пусто.

Серверный вариант

  1. Откройте консоль администрирования серверов 1С и разверните нужный кластер.
  2. В ветке «Информационные базы» создайте новую базу.
  3. Заполните имя базы в кластере, сервер СУБД, тип СУБД, имя базы данных и пользователя СУБД.
  4. Отметьте флажок создания базы данных в случае её отсутствия.
  5. Отметьте «Установить блокировку регламентных заданий». Иначе после загрузки DT копия начнёт выполнять регламентные задания боевой базы: обмены, загрузку курсов, рассылки.
  6. В окне запуска 1С добавьте базу как существующую, тип расположения «На сервере 1С:Предприятия», укажите кластер и имя базы.

Имя базы в кластере и имя базы в СУБД должны быть новыми. Если случайно указать существующую рабочую базу, загрузка DT перезапишет её данные.

Загрузка файла .dt в Конфигураторе

  1. Выделите созданную базу в окне запуска и нажмите Конфигуратор.
  2. В пустую базу Конфигуратор пустит без пароля.
  3. Выполните Администрирование → Загрузить информационную базу....
  4. Выберите файл .dt и подтвердите замену данных.
  5. Дождитесь окончания. На базе в 10 ГБ это может занять от 15 минут до часа: всё решает диск и процессор.
  6. Конфигуратор предложит перезапуск. Согласитесь. После него вход уже под пользователем из исходной базы.

Пакетная загрузка из командной строки

Если копии нужно обновлять регулярно, удобнее скрипт. Ключ /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, если хранилище опубликовано.

Как подключиться

  1. Откройте копию в Конфигураторе под пользователем с полными правами.
  2. Выполните Конфигурация → Хранилище конфигурации → Подключиться к хранилищу....
  3. Укажите адрес хранилища, имя и пароль пользователя хранилища. Это отдельные учётные данные, не пользователь базы.
  4. Если конфигурация в базе отличается от версии в хранилище, платформа предупредит, что конфигурация базы будет заменена конфигурацией из хранилища. Согласитесь: в копии для разработки эталоном должно быть хранилище.
  5. После подключения в дереве конфигурации у объектов появятся значки статуса захвата.

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

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

Права выдаёт администратор хранилища в Конфигурация → Хранилище конфигурации → Администрирование. Для обычного разработчика достаточно права захвата и изменения объектов. Если права только на чтение, подключиться и получать версии вы сможете, а захватить объект — нет.

Что проверить у администратора проекта перед стартом:

  • 👤 имя пользователя хранилища и что он не привязан к чужой базе;
  • ✏️ право захватывать объекты и изменять версию;
  • 🧾 правила комментариев: формат номера задачи, язык, длина.

Подключение скриптом

Для автоматизации подойдут ключи пакетного режима:

%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 почти всегда старше текущего состояния проекта. Пока вы её грузили, коллеги поместили новые изменения.

  1. Выполните Конфигурация → Хранилище конфигурации → Обновить конфигурацию из хранилища.
  2. Платформа получит последнюю версию всех объектов.
  3. Нажмите F7 — «Обновить конфигурацию базы данных». Только после этого изменения попадут в структуру базы.
  4. Если реструктуризация затрагивает большие таблицы, она займёт время. На серверной копии это лучше делать, пока в ней никто не работает .

Чтобы обновить только часть объектов, выделите их в дереве и выберите получение из хранилища в контекстном меню.

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

Ежедневная работа: захват, правки, помещение

Цикл разработки в хранилище простой: захватил → изменил → проверил → поместил.

Захват объектов

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

Проверка изменений

  • 🔍 Сравнить конфигурацию с хранилищем покажет, что вы поменяли, до помещения.
  • 🐞 Отладку запускайте в своей копии. Синтаксический контроль модулей включайте перед каждым помещением.

Помещение в хранилище

  1. Выделите изменённые объекты и выберите Поместить в хранилище.
  2. Напишите комментарий: номер задачи и что сделано. Через полгода этот комментарий — единственный способ понять, зачем менялся объект.
  3. Флажок «Оставить объекты захваченными» оставьте, если работа над задачей продолжается.

Откат локальных правок

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

Перед помещением в хранилище
Выполнено: 0 / 5

Расширения и выгрузка своей версии

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

Иногда нужно отдать коллеге или тестировщику вашу текущую копию целиком. Для этого есть Администрирование → Выгрузить информационную базу... — получится новый .dt со всеми вашими правками и данными.

Ошибки при установке базы DT и работе с хранилищем

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

Частые вопросы о базе для разработки из DT

Можно ли загрузить DT в базу, которая уже подключена к хранилищу?
Можно, но после загрузки связь с хранилищем пропадёт: конфигурация и настройки базы заменятся содержимым файла. Подключение к хранилищу придётся сделать заново.
Чем DT отличается от CF?
DT содержит конфигурацию и все данные базы, CF — только конфигурацию. Для разработки без реальных данных хватает CF и пустой базы.
Нужно ли обезличивать данные в копии для разработчика?
Если в базе персональные данные сотрудников или клиентов, обезличивание — забота владельца базы до передачи DT. Работа с ними попадает под требования закона о персональных данных.
Сколько копий для разработки можно держать на одном компьютере?
Платформа не ограничивает число баз. Ограничения — место на диске, лицензии и отдельный пользователь хранилища на каждую подключённую копию.
Как быстро обновить старую копию до свежих данных?
Повторно загрузите новый DT, затем снова подключитесь к хранилищу и получите последнюю версию. Перед этим поместите или выгрузите свои незавершённые правки, иначе они пропадут.