Перенос конфигурации и данных из одной базы 1С в другую

· 9 мин

Содержание

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

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

Какую задачу вы решаете на самом деле

Сначала определитесь, что именно должно переехать. От этого зависит весь путь.

Что нужноЧем делаетсяЧто происходит с данными
Копия конфигурации один в одинФайл .cf: сохранить и загрузитьДанные остаются как были
Перенести только часть доработокСравнение и объединение конфигурацийДанные остаются как были
Перенести всю базу целикомВыгрузка и загрузка .dtДанные заменяются полностью
Перенести часть данных (справочники, документы)Обмен данными или универсальный обмен через XMLДанные добавляются и обновляются

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

Что у вас за случай?

Подготовка: что сделать до любых изменений

Эти шаги занимают полчаса, а экономят день. Делаются в обеих базах, и в источнике тоже: вдруг понадобится вернуться.

  1. Закройте всех пользователей. Убедитесь, что в консоли кластера или в списке активных пользователей никого нет, а регламентные задания не запущены.
  2. Сделайте копию целевой базы. Для файловой — просто скопируйте каталог с 1Cv8.1CD в безопасное место. Для клиент-серверной — выгрузите в .dt или сделайте бэкап средствами СУБД.
  3. Сверьте платформу. В обеих базах версия платформы должна быть не ниже той, что требует загружаемая конфигурация. Номер платформы виден в окне «О программе».
  4. Проверьте версии конфигураций. Откройте «Справка → О программе» и сравните номера релизов. Если в источнике релиз новее, загрузка пройдёт как обновление. Если старее, 1С предупредит о понижении версии.
  5. Убедитесь, что у вас есть права администратора и доступ в Конфигуратор. Без роли «Администратор» вы не сможете открыть конфигурацию.

Копию целевой базы делайте до первого клика, а не «если что-то пойдёт не так». Откат из копии занимает минуты. Восстановление вручную — часы.

Готовность к обновлению
Выполнено: 0 / 5

Выгрузка конфигурации из базы-источника

Это нужно, когда за основу берётся другая база. Работаем в Конфигураторе источника.

Сохранение в файл cf

  1. Запустите 1С в режиме «Конфигуратор» и откройте базу-источник.
  2. Откройте конфигурацию: меню «Конфигурация → Открыть конфигурацию».
  3. Выберите «Конфигурация → Сохранить конфигурацию в файл…».
  4. Укажите имя и папку, например Buh_dorabotka_2.cf, и сохраните.

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

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

Добавляйте в имя файла дату или номер релиза: BP_3.0.150_dorabotki.cf. Через полгода вы не вспомните, что лежит в файле config_new_final2.cf.

Выгрузка данных в dt

Если нужна ещё и информационная база целиком:

  1. В Конфигураторе откройте «Администрирование → Выгрузить информационную базу».
  2. Выберите путь и имя файла .dt.
  3. Дождитесь окончания. На больших базах выгрузка идёт долго, и окно может выглядеть зависшим.

Файл .dt содержит и конфигурацию, и данные. Поэтому для переноса «только программы» он избыточен.

Загрузка и обновление целевой базы

Теперь открываем целевую базу в Конфигураторе. Выберите подходящий путь.

Вариант 1. Загрузить конфигурацию из файла cf

  1. Откройте целевую базу в Конфигураторе.
  2. «Конфигурация → Загрузить конфигурацию из файла …».
  3. Укажите файл .cf. Программа предупредит, что текущая конфигурация будет заменена.
  4. Подтвердите. После загрузки нажмите F7 или «Конфигурация → Обновить конфигурацию базы данных».
  5. Согласитесь на реструктуризацию, если она предложена.

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

Загрузка .cf полностью заменяет конфигурацию целевой базы. Все её собственные доработки пропадут, если их нет в файле.

Вариант 2. Объединить, оставив свои доработки

Если в целевой базе есть свои изменения, которые надо сохранить, используйте сравнение:

  1. «Конфигурация → Сравнить, объединить с конфигурацией из файла…» (или «из базы», в зависимости от версии платформы).
  2. Укажите файл .cf или сам источник.
  3. В открывшемся окне раскройте дерево объектов. Напротив каждого отличия отметьте действие: взять из файла или оставить как есть.
  4. Выполните объединение и обновите конфигурацию базы данных.

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

Вариант 3. Загрузить dt в новую базу

Создайте новую пустую базу и загрузите в неё .dt: «Администрирование → Загрузить информационную базу». Рабочую базу под загрузку не используйте.

Пошаговый помощник
Подготовка
Копия целевой базы, пользователи вышли, платформа проверена.

Типовые и нетиповые конфигурации: в чём разница

С типовой конфигурацией без доработок всё просто: любой релиз можно поставить через стандартное обновление, и переносить из другой базы ничего не нужно. Файл .cf из чужой базы нужен, только когда там есть то, чего нет в официальном релизе.

С доработанной ситуация иная. Здесь работает правило: не перезаписывайте вслепую.

  • 📌 Если конфигурация на поддержке, при объединении 1С покажет, какие объекты изменены относительно поставщика, а какие — вами.
  • 📌 Если поддержка снята, любое объединение превращается в ручной разбор отличий.
  • 📌 Если в источнике более новый релиз, а в целевой есть доработки, сначала обновите целевую до этого релиза обычным путём, и только потом переносите свои правки.

Совет: храните доработки в расширениях. Расширение переносится отдельным файлом .cfe и не мешает обновлять основную конфигурацию. Загрузка и выгрузка расширений делаются в Конфигураторе в соответствующем разделе меню.

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

Обновление данных: когда нужен перенос, а не конфигурация

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

Полная замена данных

Загрузка .dt в целевую базу заменяет всё: справочники, документы, регистры, пользователей. Подходит, когда целевая база — тестовая копия. Для рабочей используйте только осознанно и после копии.

Выборочный перенос

Когда базы живут отдельно, но часть данных нужно перенести:

  • Для баз одной конфигурации используйте стандартный обмен данными: он сам сопоставит объекты по уникальным идентификаторам.
  • Для разных конфигураций (например, из старой редакции в новую) потребуется конвертация. Правила обмена пишет специалист или берётся типовой набор правил.
  • Для разовой выгрузки справочников подойдёт обработка выгрузки и загрузки в XML.

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

Сопоставление полей
Номенклатура источника→Номенклатура приёмника
Контрагенты→Контрагенты
Договоры→Договоры контрагентов
Склады→Склады

Проверка результата после обновления

Запуск без ошибок ещё не значит, что всё в порядке. Сделайте короткую проверку:

  1. Зайдите в 1С:Предприятие пользователем с полными правами. Если появляется окно с предложением обновить информационную базу, дайте программе закончить.
  2. Откройте «Справка → О программе» и проверьте номер релиза.
  3. Откройте несколько документов разных видов, проведите один тестовый и отмените проведение.
  4. Сформируйте оборотно-сальдовую ведомость за период и сравните итоги с копией базы.
  5. Проверьте печатные формы и пару внешних отчётов, если они были.
  6. Проверьте регламентные задания и обмены: они иногда отключаются после смены конфигурации.

В Конфигураторе запустите «Конфигурация → Проверка конфигурации». Он покажет синтаксические ошибки в модулях и битые ссылки на объекты. Для переноса из чужой базы эта проверка особенно полезна.

Если после загрузки возникли ошибки

Ниже самые частые ситуации и что с ними делать.

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

Если ничего не помогает, не пытайтесь «доделать» руками. Откатитесь на копию целевой базы, которую вы сделали в самом начале, и повторите процедуру с исправленными условиями.

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

Частые вопросы

Можно ли загрузить конфигурацию из другой базы без потери данных?
Да. Файл .cf содержит только конфигурацию, данные остаются нетронутыми. Данные теряются при загрузке файла .dt.
Чем отличается файл cf от файла dt?
Файл .cf хранит конфигурацию без данных. Файл .dt содержит информационную базу целиком: конфигурацию и все данные.
Можно ли перенести только свои доработки, а не всю конфигурацию?
Можно. Используйте сравнение и объединение конфигураций, либо вынесите доработки в расширение и переносите файл .cfe.
Нужно ли после загрузки конфигурации ещё что-то нажимать?
Да, обновите конфигурацию базы данных (клавиша F7). Без этого новая структура не применится к самой базе.
Подойдёт ли конфигурация из базы с другим релизом?
Да, но понижение релиза программа не одобряет без предупреждения. Лучше сначала привести обе базы к одному релизу и только потом переносить доработки.
Что делать, если база большая и выгрузка идёт часами?
Запускайте её в нерабочее время на сервере, а не по сети. Выгрузка dt на самой машине с базой заметно быстрее.