Перенос данных между разными базами 1С: механизмы, инструменты и порядок работ
Содержание
Конвертация данных
в 1С — это перенос справочников, документов и остатков из одной базы в другую, когда у баз разная структура. Работает она через правила: каждому объекту источника сопоставляется объект приёмника, каждому реквизиту — реквизит, а там, где прямого соответствия нет, срабатывает код-обработчик. Для типовых пар конфигураций правила уже встроены и настраиваются в Администрирование → Синхронизация данных. Для нетиповых их пишут в конфигурации «Конвертация данных» (редакции 2 или 3).
Типичная ситуация: фирма ведёт торговлю в УТ 11, а бухгалтерию в БП 3.0, и бухгалтер вручную перебивает реализации. Или компания переезжает с самописной базы на типовую. В обоих случаях задача одна — научить две разные программы понимать друг друга без ручного ввода.
Что такое конвертация данных в 1С и чем она отличается от обновления
Конвертацию часто путают с двумя соседними операциями. Разница принципиальная.
| Операция | Когда применяется | Что происходит со структурой |
|---|---|---|
| Обновление конфигурации | Новый релиз той же программы | Структура меняется, данные дорабатываются обработчиками обновления |
Выгрузка/загрузка .dt | Копия той же базы на другой сервер | Структура не меняется, база переносится целиком |
| Конвертация данных | Разные конфигурации или разные редакции | Данные перекладываются по правилам соответствия |
Когда без конвертации не обойтись:
- 🔄 регулярный обмен между программами (УТ → БП, БП ↔ ЗУП, Розница → УТ);
- 📦 переход на другую конфигурацию, если обновлением туда не попасть;
- 🏢 консолидация нескольких баз в одну;
- 🌐 приём данных из внешней системы: сайта, склада, банка, CRM;
- 🧹 перенос только части данных, например остатков на дату, а не всей истории.
Результат конвертации — новые или изменённые объекты в базе-приёмнике. Источник при этом не меняется, если правила не требуют обратной отметки.
Виды конвертации данных: типовые обмены и свои правила
Типовые обмены
Фирма 1С поставляет готовые обмены между своими конфигурациями. Правила уже лежат внутри программ, пользователь только включает синхронизацию и выбирает, что передавать. Так работают пары БП 3.0 и ЗУП 3.1, УТ 11 и БП 3.0, Розница и УТ.
Современные типовые обмены идут через универсальный формат EnterpriseData. Это описание данных на языке XML, которое понимают обе стороны. Каждая программа переводит свои объекты в формат и из формата. Поэтому обмен продолжает работать, даже если одна из баз обновилась раньше другой: стороны договариваются о версии формата.
Свои правила обмена
Если конфигурация доработана или одна из баз нетиповая, готовый обмен либо не подходит, либо теряет часть данных. Тогда пишут свои правила:
- 🧩 доработка типовых правил — добавить реквизит , новый вид документа, отбор;
- 🛠 разработка с нуля — для самописных баз и старых конфигураций;
- 🗂 разовый перенос — правила, которые запустят один раз и забудут.
Разовый перенос обычно делают проще и грубее, чем постоянный обмен. Не нужно отслеживать изменения и разруливать встречные правки — достаточно корректно перенести срез на дату.
Инструменты для конвертации данных: сравнение возможностей
| Инструмент | Для чего подходит | Где живут правила | Ограничения |
|---|---|---|---|
| Синхронизация данных (типовая) | Обмен типовых конфигураций | Внутри программ | Доработки конфигурации не учитываются |
| «Конвертация данных», ред. 2 (КД 2) | Любые пары баз 8.x, перенос из 7.7 | Файл правил .xml | Правила нужно перевыгружать после изменения структуры |
| «Конвертация данных», ред. 3 (КД 3) | Обмен через EnterpriseData | Модуль менеджера обмена в конфигурации | Нужна конфигурация на БСП с обменом через формат |
| «Выгрузка и загрузка данных XML» | Перенос между базами одной конфигурации | Правил нет, переносит объекты как есть | Структуры источника и приёмника должны совпадать |
| Загрузка из табличного документа | Справочники, цены, остатки из Excel | Настройки сопоставления колонок | Только плоские данные, без сложных связей |
Как устроена КД 2
В КД 2 загружают структуру метаданных обеих баз. Её выгружают внешней обработкой выгрузки структуры (для 8.3 — MD83Exp.epf). Затем строят правила трёх видов:
- ПВД — правила выгрузки данных: что и с каким отбором выгружать.
- ПКО — правила конвертации объектов: какой объект источника превращается в какой объект приёмника.
- ПКС — правила конвертации свойств: какой реквизит куда переносится.
Готовые правила сохраняют в файл .xml. Применяет их обработка «Универсальный обмен данными в формате XML»: в источнике она выгружает данные по правилам, в приёмнике загружает.
Как устроена КД 3
КД 3 работает только с форматом. Разработчик описывает, как объекты одной конфигурации переводятся в EnterpriseData и обратно. Результат — модуль менеджера обмена, который встраивают в конфигурацию (общим модулем или расширением). Правила обработки данных (ПОД) и правила конвертации объектов (ПКО) живут уже в коде базы, а не во внешнем файле.
Как провести конвертацию данных в 1С: пошагово
Порядок ниже — для разового переноса по своим правилам КД 2. Для типового обмена шаги 3–5 заменяются настройкой в мастере синхронизации.
1. Определите объём и срез
Решите, что переносите: только справочники и остатки на дату или всю историю документов. Остатки на 1-е число месяца переносятся в разы быстрее и дают меньше ошибок, чем три года документов.
2. Подготовьте копии баз
Сделайте выгрузку .dt обеих баз. Первые прогоны загрузки делайте только в копии приёмника, не в рабочей базе. Неудачный прогон оставит сотни дублей, и чистить их придётся вручную.
3. Выгрузите структуру метаданных
Запустите обработку выгрузки структуры в каждой базе и загрузите полученные файлы в КД 2. Если позже кто-то добавит реквизит в конфигурацию, структуру придётся выгрузить заново.
4. Настройте правила
Создайте ПКО для каждого переносимого справочника и документа, затем ПКС. Сразу продумайте поиск: по какому полю приёмник узнаёт, что объект уже есть. Для контрагентов это обычно ИНН и КПП, для номенклатуры — артикул или код, для документов — номер и дата.
5. Выгрузите правила и данные
Сохраните правила в .xml. В базе-источнике откройте обработку «Универсальный обмен данными в формате XML» через Главное меню → Все функции → Обработки. Если пункта «Все функции» нет, включите его: Сервис и настройки → Параметры → Отображать команду «Все функции». На вкладке выгрузки укажите файл правил, период и файл данных.
6. Загрузите данные в приёмник
В приёмнике откройте ту же обработку, вкладку загрузки, укажите файл данных. Объекты записываются в режиме обмена: проверки заполнения и часть обработчиков пропускаются, документы движений не формируют.
7. Перепроведите и сверьте
После загрузки документы перепроводят групповой обработкой (в БП 3.0 — из раздела Операции). Затем сверяют обороты и остатки по ключевым счетам в обеих базах.
Конвертация данных при интеграции 1С с внешними системами
С внешними программами 1С обменивается не правилами КД, а через стандартные интерфейсы. Конвертация при этом всё равно нужна: формат внешней системы надо разложить по справочникам и документам 1С.
| Механизм | Где применяется | Кто делает преобразование |
|---|---|---|
| CommerceML | Обмен с интернет-магазином | Типовой обмен с сайтами в УТ и БП |
| OData (стандартный интерфейс) | Чтение и запись данных внешним сервисом | Внешняя система, 1С отдаёт данные как есть |
| HTTP-сервисы, JSON | Интеграция с CRM, маркетплейсами, складом | Разработчик описывает обработку в конфигурации |
| Файлы Excel, CSV | Прайсы, остатки, справочники от поставщика | Пользователь сопоставляет колонки |
| Банковский формат 1CClientBankExchange | Выписки и платёжки | Типовой обмен с банком |
Главная сложность интеграции — сопоставление. Ставка НДС в системе поставщика может называться «20%», а в 1С это элемент справочника. Единица измерения — «шт» против кода по ОКЕИ. Это расписывают таблицей соответствия до начала разработки.
| Поле во внешней системе | Объект в 1С |
|---|---|
| Артикул поставщика | Номенклатура (поиск по артикулу) |
| Ставка НДС «20%» | Элемент справочника ставок НДС |
| Ед. изм. «шт» | Единица измерения с кодом 796 |
| ИНН покупателя | Контрагент (поиск по ИНН и КПП) |
| Склад «Основной» | Склад из настроек обмена |
Если в таблице соответствия нет правила для пустого значения, программа либо создаст пустой элемент справочника, либо прервёт загрузку. Решите заранее, что делать с незаполненными полями.
Автоматизация конвертации: когда это выгодно
Регулярный обмен включают по расписанию. В типовой синхронизации расписание задаётся в настройке обмена: например, каждые 15 минут или раз в сутки ночью. Выполняет его регламентное задание.
В файловом режиме регламентные задания отрабатывают, только пока база открыта хотя бы у одного пользователя. Для ночного обмена файловую базу лучше перевести на сервер или запускать обмен из клиента по расписанию Windows.
Когда автоматизация окупается:
- ✅ документы переносятся ежедневно и вручную занимают больше часа в день;
- ✅ ошибки ручного ввода уже приводили к расхождениям в отчётности;
- ✅ данные нужны в другой базе быстрее, чем раз в месяц;
- ❌ перенос нужен один раз — проще разовые правила или ручная загрузка;
- ❌ объём — пара десятков документов в месяц.
Ориентиры по стоимости, если работу заказывают у программиста (примерно, ставки сильно различаются по регионам):
| Задача | Трудоёмкость, ориентировочно | Бюджет при ставке 2 500 ₽/ч |
|---|---|---|
| Настройка типового обмена | 2–6 ч | 5 000–15 000 ₽ |
| Доработка типовых правил под 2–3 реквизита | 8–20 ч | 20 000–50 000 ₽ |
| Разовый перенос из нетиповой базы | 30–80 ч | 75 000–200 000 ₽ |
| Интеграция с внешней системой по API | 40–120 ч | 100 000–300 000 ₽ |
При другой ставке бюджет меняется пропорционально: часы × ставка.
Ошибки при конвертации данных и как их избежать
Ещё несколько ошибок, которые всплывают уже после переноса:
- 🔢 Нумерация. Перенесённые документы сохранили номера источника, и новые документы в приёмнике начинают дублировать номера. Решение — перенос с префиксом или сдвиг нумерации.
- 📅 Остатки без даты. Остатки ввели вводом начальных остатков, но не на дату начала учёта, и обороты задвоились.
- 👤 Права пользователя. Загрузку запустили под пользователем без полных прав, и часть объектов молча не записалась. Смотрите протокол обмена: обработка пишет в него каждую ошибку.