Как перенести данные между конфигурациями 1С 8.3 и не потерять остатки

· 9 мин

Содержание

Конвертация данных в 1С проходит в четыре шага: копия обеих баз → выбор инструмента под пару конфигураций → пробная загрузка в тестовую базу → сверка оборотно-сальдовой ведомости. Если переход типовой (например, ЗУП 2.5 → ЗУП 3.1 или БП 2.0 → БП 3.0), берите встроенный механизм переноса. Если конфигурации доработаны или нетиповые — пишите правила в «1С:Конвертации данных».

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

Что сделать до начала переноса

Подготовка занимает больше времени, чем сама загрузка. Зато она снимает половину сюрпризов.

Привести источник в порядок

  • 🧹 Удалите помеченные на удаление объекты. Иначе они уедут в новую базу вместе с мусором.
  • 🔍 Найдите дубли в справочниках «Контрагенты», «Номенклатура», «Физические лица». Дубль в источнике превратится в два элемента в приёмнике, и остатки разъедутся.
  • 🔗 Проверьте битые ссылки — поля со значением <Объект не найден>. Их выявляет тестирование и исправление базы в Конфигураторе с флажком проверки логической целостности.
  • 📅 Закройте период: проведённые документы, закрытый месяц, сверенные остатки. Переносить «полуоткрытый» месяц — значит потом разбираться, где ошибка: в старой базе или в переносе.

Зафиксировать релизы

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

Решить, что именно переносить

Не всегда нужна вся история. Частый вариант — перенести справочники и начальные остатки на дату перехода, а старую базу оставить в архиве для справок.

Что переносимКогда подходитОбъём работы
Только справочникиНовая база, учёт с чистого листаМинимальный
Справочники + остатки на датуПереход с начала года или кварталаСредний
Полная история документовНужны отчёты за прошлые периоды в новой базеБольшой, долгая сверка

Перед любым переносом сделайте выгрузку обеих баз в .dt (Конфигуратор → Администрирование → Выгрузить информационную базу). Выгрузка .dt требует монопольного доступа — попросите пользователей выйти заранее.

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

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

Какой у вас случай?

Чем отличаются КД 2 и КД 3

ПризнакКД 2КД 3
Где живут правилаВнешний XML-файлМодуль менеджера обмена в конфигурации
Формат обменаВнутренний формат правилEnterpriseData
Нужна ли правка приёмникаНетДа (или расширение)
Типичное применениеРазовые переносы, старые конфигурацииРегулярный обмен на БСП

Для разовой конвертации новичку проще КД 2: результат — один файл правил, а вся работа идёт через внешнюю обработку.

Настройка правил конвертации данных в КД 2

Логика КД 2: вы описываете, какой объект источника превращается в какой объект приёмника и как заполнить каждое поле.

Загрузите структуру метаданных

  1. В источнике откройте обработку выгрузки структуры метаданных (MD83Exp.epf, она идёт в поставке «Конвертации данных») через Файл → Открыть.
  2. Сохраните структуру в XML-файл.
  3. Повторите для приёмника.
  4. В базе «Конвертация данных» создайте конвертацию и укажите эти два файла как конфигурацию-источник и конфигурацию-приёмник.

Виды правил

  • 📦 ПКО — правила конвертации объектов. Сопоставляют типы: справочник «Контрагенты» → справочник «Контрагенты».
  • 🔧 ПКС — правила конвертации свойств. Сопоставляют реквизиты внутри объекта: ИНН → ИНН, «Наименование полное» → «Полное наименование».
  • 📤 ПВД — правила выгрузки данных. Определяют, что выгружать: все документы реализации за период, только непомеченные элементы и т. п.
  • 🗑 ПОД — правила очистки данных. Удаляют объекты в приёмнике перед загрузкой. Пользуйтесь редко и только на тестовой базе.

Кнопка автоматического сопоставления создаёт ПКО и ПКС для объектов и реквизитов с одинаковыми именами. После неё остаются красные строки — несопоставленные поля. Их разбирают вручную.

Поиск объектов в приёмнике

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

Способ поискаКогда использоватьРиск
По внутреннему идентификатору (GUID)Приёмник пустой или заполнен прошлой загрузкой из этого же источникаПри ручном вводе элементов в приёмник — дубли
По ИНН + КППКонтрагенты, если приёмник уже заполненПустой ИНН у физлиц и иностранцев
По коду или артикулуНоменклатура с уникальными артикуламиРазная нумерация в базах
По наименованиюПоследний вариантОпечатки и пробелы создают дубли

💡 Комбинируйте: сначала GUID, затем ИНН, затем наименование. В КД 2 для этого задают несколько полей поиска и обработчик поиска.

Обработчики событий

Где не хватает простого сопоставления, пишут код на встроенном языке: «Перед выгрузкой», «При выгрузке», «После загрузки» и другие. Пример — разделить одно поле адреса источника на составляющие или пересчитать сумму в другую валюту.

// Обработчик ПКС «После выгрузки»: обрезаем пробелы в наименовании
Если ТипЗнч(Значение) = Тип("Строка") Тогда
    Значение = СокрЛП(Значение);
КонецЕсли;

После настройки выгрузите правила в XML-файл: его загружает универсальная обработка.

Запуск конвертации: порядок действий

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

  1. Откройте обработку в источнике. Запустите «Универсальный обмен данными в формате XML» через Файл → Открыть. Режим — выгрузка.
  2. Загрузите правила. Укажите файл правил, сохранённый из КД 2. Обработка покажет список правил выгрузки данных.
  3. Задайте период и отбор. Отметьте нужные правила и укажите период документов. Для первого прогона возьмите один месяц — так быстрее найти ошибки.
  4. Выгрузите данные. Укажите путь к файлу данных и нажмите кнопку выгрузки. Получится XML с данными.
  5. Откройте обработку в приёмнике. Та же обработка, режим — загрузка. Укажите файл данных.
  6. Настройте режим загрузки. Включите загрузку в режиме обмена данными: при записи объектов отключаются проверки заполнения и бизнес-логика модулей. Так загрузка идёт быстрее и не спотыкается о недостающие реквизиты.
  7. Загрузите и прочитайте протокол. Каждая строка с ошибкой — сигнал вернуться к правилам. Повторяйте цикл, пока протокол не станет чистым.

В режиме обмена проверки при проведении не выполняются, поэтому движения документов после загрузки ненадёжны. Перепроведите перенесённые документы групповой обработкой за весь период — и только потом сверяйте отчёты.

Отладка обработчиков

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

Сверка результатов после конвертации

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

  1. Оборотно-сальдовая ведомость. Сформируйте ОСВ на дату переноса в обеих базах. Сальдо по каждому счёту должно совпасть до копейки.
  2. Расшифровка расхождений. Если не совпал счёт 60 или 62, откройте ОСВ по счёту с разворотом по контрагентам. Обычно виноват дубль контрагента или договор, привязанный не к тому элементу.
  3. Количество элементов справочников. Сравните число контрагентов и номенклатуры в обеих базах. Разница больше количества удалённых — ищите задвоение или пропуск.
  4. Дубли. В БСП-конфигурациях есть обработка «Поиск и удаление дублей» в разделе Администрирование → Обслуживание.
  5. Выборочная проверка. Откройте 10–15 случайных документов и сравните реквизиты с источником.

Конвертация больших баз: как ускорить

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

  • ✂️ Делите по периодам. Выгружайте документы помесячно или поквартально. Ошибка в одном файле не заставит перезапускать всё.
  • 📚 Сначала справочники, потом документы. Отдельный прогон справочников даёт стабильную базу, к которой привязываются документы.
  • ⏸ Не проводите при загрузке. Загрузить документы без проведения и потом перепровести их групповой обработкой быстрее, чем проводить каждый документ в момент загрузки.
  • 🧾 Используйте транзакции порциями. В универсальной обработке можно задать загрузку в транзакции с ограничением числа объектов. Порция в несколько сотен объектов — компромисс между скоростью и откатом при сбое.
  • 🖥 Грузите на сервере. В клиент-серверном варианте обработка, запущенная на стороне сервера, не гоняет данные по сети. Отключите лишние подписки и регламентные задания в приёмнике на время загрузки.
  • 🧮 Оставьте историю в архиве. Если старые документы нужны только для справок, переносите остатки, а не обороты за пять лет.

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

Другие способы перенести данные

Не всё стоит гнать через правила.

  • 📄 Ввод начальных остатков. В БП 3.0 есть помощник ввода остатков. Для небольшой организации проще перенести справочники, а остатки ввести вручную по ОСВ.
  • 📊 Загрузка из табличного документа. Номенклатуру, контрагентов и цены можно загрузить из Excel: в списках справочников БП 3.0 и УТ 11 есть команда загрузки из файла. Подходит, когда источник — не 1С.
  • 🔄 Синхронизация данных. Для пар типовых конфигураций (УТ ↔ БП, Розница ↔ УТ) правила уже готовы, нужно только настроить узел обмена.
  • 💾 Выгрузка .dt. Переносит базу целиком, но только в такую же конфигурацию. Это копирование, а не конвертация.
  • 🧑‍💻 Прямые запросы или COM-соединение. Для программиста — разовая обработка, которая читает источник через COM и пишет в приёмник. Гибко, но без протокола и без защиты от дублей, которые даёт КД.

Ошибки при конвертации и как их не допустить

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

Ещё три ошибки, которые не видны в протоколе:

  • ⛔ Пользователи работали в источнике после выгрузки. Новые документы не попадут в приёмник. Перед финальным прогоном закройте источник на запись.
  • ⛔ Не совпала учётная политика. Если в приёмнике другой способ оценки запасов или другой режим НДС, после перепроведения суммы разойдутся. Настройте учётную политику до загрузки документов.
  • ⛔ Перенос в базу, где уже ведётся учёт. Без продуманного поиска объектов новые данные смешаются со старыми. Безопаснее грузить в пустую базу.

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

Можно ли конвертировать данные без программиста?
Да, если переход типовой: встроенные помощники и синхронизация данных не требуют кода. Правила в КД для доработанных конфигураций лучше доверить специалисту.
Где взять «1С:Конвертацию данных»?
Конфигурация распространяется для партнёров и пользователей с действующей подпиской на информационно-технологическое сопровождение. Устанавливается как обычная информационная база.
Нужно ли останавливать работу пользователей на время конвертации?
Для финального прогона — да: источник не должен меняться после выгрузки. Пробные прогоны можно делать на копиях в рабочее время.
Сколько прогонов нужно до финального?
Обычно три-пять: первые выявляют ошибки правил, последние подтверждают совпадение ОСВ. Финальный запускайте только после прогона с чистым протоколом и сошедшимся сальдо.
Что делать со старой базой после переноса?
Оставьте её в режиме только чтения как архив. Она понадобится для проверок и ответов на запросы налоговой по прошлым периодам.