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

Многие пользователи ошибочно считают, что достаточно просто скопировать справочник через Файл → Сохранить данные. На практике такой подход работает только для минимальных объёмов данных без связей с другими справочниками (например, единицами измерения или группами номенклатуры). Если у вас тысячи позиций с историей движения, потребуется более сложный алгоритм.

В статье вы найдёте:

  • 🔹 Сравнение 5 способов переноса — от простого к сложному
  • 🔹 Пошаговые инструкции с скриншотами (для 1С 8.3 и ERP)
  • 🔹 Таблицу совместимости методов с разными конфигурациями
  • 🔹 Решения для переноса остатков, цен и серийных номеров

1. Ручной экспорт/импорт через XML (для небольших справочников)

Самый простой метод, который подходит для переноса до 500 позиций номенклатуры без сложных иерархий. Используется встроенный функционал 1С:Предприятие 8.3Все функции → Обмен данными → Выгрузка данных.

Алгоритм:

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

Выбраны все нужные группы номенклатуры|

Проверены права доступа (полные права на справочник)|

Сохранена резервная копия целевой базы|

Файл XML не превышает 50 МБ (иначе возможны ошибки)-->

⚠️ Критическая ошибка: При загрузке в другую конфигурацию (например, из 1С:УТ 11 в 1С:ERP 2.5) поля могут не совпасть. Перед массовой загрузкой обязательно протестируйте 2-3 позиции!

Этот способ не подходит, если:

  • 🚫 Нужно перенести остатки по складам или ценовые группы.
  • 🚫 В номенклатуре есть серийные номера или характеристики.
  • 🚫 Требуется сохранить историю изменений (кто и когда внёс правки).

2. Перенос через «Универсальный обмен данными» (для средних объёмов)

Встроенный механизм Универсальный обмен данными (доступен в большинстве конфигураций на базе 1С:Предприятие 8.3) позволяет переносить не только справочники, но и связанные документы. Главное преимущество — сохранение ссылочной целостности.

Инструкция:

  1. В исходной базе: Администрирование → Обмен данными → Универсальный обмен.
  2. Создать новый обмен, указать тип Выгрузка данных.
  3. В настройках выбрать объекты: Справочник.Номенклатура, Справочник.ЕдиницыИзмерения.
  4. Запустить выгрузку в файл .dt или .xml.
  5. В целевой базе: Администрирование → Обмен данными → Загрузка данных.
💡

Если при загрузке появляется ошибка"Объект не найден", проверьте соответствие версий платформы 1С в обеих базах. Для обмена между 8.3.20 и 8.3.22 может потребоваться конвертация файла через Конвертацию данных 2.0 (бесплатный инструмент от 1С).

Особенности метода:

  • ✅ Сохраняет иерархию групп номенклатуры.
  • ✅ Переносит дополнительные реквизиты и сведения.
  • ❌ Не подходит для переноса остатков — только справочная информация.
  • ❌ Требует одинаковую структуру справочников в обеих базах.

До 100 позиций|

100–1000 позиций|

1000–10 000 позиций|

Более 10 000 позиций-->

3. Использование обработки «ВыгрузкаЗагрузкаДанныхXML» (для опытных пользователей)

Стандартная обработка ВыгрузкаЗагрузкаДанныхXML.epf (поставляется с дистрибутивом 1С) позволяет гибко настраивать правила обмена. Её главное преимущество — возможность фильтрации данных по любому полю (например, перенести только активную номенклатуру или позиции определённой группы).

Пошаговая настройка:

  1. Скачать обработку из каталога шаблонов 1С (раздел Обмен данными).
  2. В исходной базе открыть обработку, выбрать Номенклатура в списке объектов.
  3. Настроить фильтр (например, ПометкаУдаления = Ложь).
  4. Указать путь для сохранения файла .xml.
  5. В целевой базе открыть ту же обработку, выбрать Загрузка и указать файл.

Пример кода для фильтрации номенклатуры по группе (вставляется в обработку):

Процедура ПриЗагрузкеДанных(Элемент, Данные)

Если НЕ Данные.Ссылка.ЭтоГруппа Тогда

Если Данные.Ссылка.Родитель.Наименование <>"Товары" Тогда

Возврат Ложь; // Пропустить позиции не из группы"Товары"

КонецЕсли;

КонецЕсли;

КонецПроцедуры

⚠️ Внимание: При загрузке в базу с другой конфигурацией могут возникнуть конфликты идентификаторов объектов. Например, если в обеих базах уже есть номенклатура с одинаковым UID, данные не обновится, а создастся дубль. Решение — предварительная очистка целевого справочника или использование режима обновления в обработке.

4. Перенос с остатками и ценами через «Конвертацию данных 2.0»

Если нужно перенести не только справочник, но и остатки по складам, цены номенклатуры или серийные номера, потребуется инструмент Конвертация данных 2.0 (КД 2.0). Это бесплатное решение от 1С, которое поддерживает большинство типовых конфигураций.

Алгоритм работы:

  1. Скачать КД 2.0 с сайта users.v8.1c.ru (раздел Инструменты).
  2. В исходной базе создать Правила конвертации для объектов:
    • Справочник.Номенклатура
    • Документ.УстановкаЦенНоменклатуры
    • РегистрНакопления.ОстаткиТоваров
  • Выполнить выгрузку в файл .cd.
  • В целевой базе загрузить файл, указав дату начальных остатков.
  • Пример правила для переноса цен (фрагмент):

    Источник = Документ.УстановкаЦенНоменклатуры;
    

    Приемник = Документ.УстановкаЦенНоменклатуры;

    СвязьПоРеквизиту("Организация","Организация");

    СвязьПоРеквизиту("Номенклатура","Номенклатура");

    СвязьПоРеквизиту("ТипЦен","ТипЦен");

    ЗаполнитьЗначенияСвойств(

    Новый Структура("Дата, Организация, Номенклатура, ТипЦен, Цена"),

    Новый Структура("Дата, Организация, Номенклатура, ТипЦен, Цена")

    );

    ⚠️ Критический нюанс: При переносе остатков дату начальных остатков в целевой базе указывать РАНЬШЕ даты первого документа, иначе возникнет расхождение по оборотным регистрам. Например, если первый документ в новой базе от 10.01.2026, остатки загружайте на 09.01.2026.

    Что будет если неправильно указать дату остатков?

    Если загрузить остатки на дату ПОЗЖЕ первого документа в базе, система"подумает", что товар появился уже после продажи. Это приведёт к отрицательным остаткам и ошибкам при проведении документов. Исправить это можно только полной перезагрузкой данных или ручной корректировкой регистров.

    5. Автоматизированный перенос через ETL-инструменты (для крупных проектов)

    Для миграции больших объёмов данных (десятки тысяч позиций) или регулярного обмена между базами используют специализированные ETL-решения:

    • 🔧 1С:Интеграция — официальный продукт для синхронизации с внешними системами.
    • 🔧 Klever Integration — гибкий инструмент с визуальным конструктором правил.
    • 🔧 SQL-скрипты — для прямых запросов к базе (требует знания T-SQL).
    • 🔧 REST API — если целевая система поддерживает веб-сервисы (например, 1С:ERP или 1С:УНФ).

    Пример SQL-запроса для выгрузки номенклатуры с остатками (упрощённо):

    SELECT
    

    T1._IDRRef AS Номенклатура_UID,

    T1._Description AS Наименование,

    T2._Quantity AS Остаток,

    T3._Price AS Цена

    FROM

    _Reference16 AS T1 -- Справочник.Номенклатура

    LEFT JOIN

    _AccumRgT17 AS T2 ON T1._IDRRef = T2._Fld19RRef -- Регистр.ОстаткиТоваров

    LEFT JOIN

    _Document24 AS T3 ON T1._IDRRef = T3._Fld25RRef -- Документ.УстановкаЦен

    WHERE

    T1._Marked = 0 -- Только неудалённые позиции

    Преимущества ETL-подхода:

    • ✅ Обработка миллионов записей без зависаний.
    • ✅ Возможность трансформации данных (например, объединение групп).
    • ✅ Автоматическое логирование ошибок.

    ⚠️ Внимание: При использовании прямых SQL-запросов к базе 1С обязательно блокируйте таблицы на время выгрузки, иначе возможны ошибки чтения из-за транзакций других пользователей. Команда для блокировки:

    BEGIN TRANSACTION;
    

    -- Ваш запрос

    COMMIT TRANSACTION;

    Сравнение способов переноса номенклатуры

    Способ Объём данных Сохранение связей Перенос остатков Сложность Подходит для конфигураций
    Ручной XML До 500 позиций ❌ Нет ❌ Нет Любые (УТ, ERP, БП, Розница)
    Универсальный обмен До 5 000 позиций ✅ Да ❌ Нет ⭐⭐ Типовые 1С 8.3
    Обработка XML До 10 000 позиций ✅ Да ❌ Нет ⭐⭐⭐ Любые (требует доработки)
    Конвертация данных 2.0 Неограничено ✅ Да ✅ Да ⭐⭐⭐⭐ Типовые конфигурации
    ETL-инструменты Неограничено ✅ Да ✅ Да ⭐⭐⭐⭐⭐ Любые (включая нетиповые)

    💡

    Для переноса номенклатуры с историей движения (продажи, закупки) обязательно используйте Конвертацию данных 2.0 или ETL. Ручные методы не сохраняют связи с документами, что приведёт к"обрыву" аналитики.

    Типичные ошибки и как их избежать

    Даже опытные пользователи 1С сталкиваются с проблемами при переносе номенклатуры. Вот самые распространённые:

    1. Дублирование позиций:

      Причина: В целевой базе уже есть номенклатура с такими же наименованиями, но другими UID.

      Решение: Перед загрузкой выполните очистку справочника или используйте режим Обновление существующих в обработке.

    2. Потеря связей с документами:

      Причина: Перенесены только справочники, без регистров накопления.

      Решение: Используйте Конвертацию данных 2.0 с настройкой правил для регистров.

    3. Ошибки при загрузке характеристик:

      Причина: В целевой базе нет справочника ХарактеристикиНоменклатуры.

      Решение: Сначала перенесите справочник характеристик, затем номенклатуру.

    4. Разрыв иерархии групп:

      Причина: Группы номенклатуры загружены после позиций.

      Решение: Настройте порядок обмена: сначала группы, потом элементы.

    ⚠️ Внимание: Если вы переносите номенклатуру между разными редакциями конфигураций (например, из 1С:УТ 10.3 в 1С:ERP 2.5), обязательно проверьте соответствие реквизитов. Например, в ERP появились новые поля ВидНоменклатуры и ТипНоменклатуры, которых нет в УТ 10.3. Без корректного маппинга данные загрузятся с ошибками.

    FAQ: Ответы на частые вопросы

    Можно ли перенести номенклатуру между разными версиями платформы (например, 8.2 и 8.3)?

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

    Как перенести номенклатуру вместе с картинками?

    Картинки хранятся в отдельной таблице базы данных. Для их переноса:

    1. Выгрузите справочник номенклатуры через Конвертацию данных 2.0 с галочкой Включить двоичные данные.
    2. Или используйте обработку ВыгрузкаЗагрузкаДанныхXML с настройкой экспорта вложенных файлов.

    В ручном режиме картинки не переносятся!

    Что делать, если после переноса не отображаются цены?

    Причины могут быть следующими:

    • Не перенесены документы Установка цен номенклатуры.
    • В целевой базе не настроены типы цен.
    • Ошибка связывания справочника Номенклатура с регистром ЦеныНоменклатуры.

    Решение: Загрузите цены отдельно через Конвертацию данных 2.0 или проверьте настройки Типы цен в целевой базе.

    Как перенести номенклатуру с серийными номерами?

    Серийные номера хранятся в регистре сведений СерийныеНомераТоваров. Для их переноса:

    1. В Конвертации данных 2.0 добавьте правило для этого регистра.
    2. Укажите связь с документами поступления/реализации.
    3. При загрузке выберите режим Создание и обновление.

    ⚠️ Без переноса регистра серийные номера будут потеряны, даже если номенклатура загрузится корректно.

    Можно ли отменить перенос, если что-то пошло не так?

    Да, но способ зависит от метода загрузки:

    • Для ручного XML: Удалите загруженные позиции вручную или откатите базу из резервной копии.
    • Для Конвертации данных 2.0: Используйте Откат загрузки в журнале обменов.
    • Для SQL-запросов: Восстановите базу из бэкапа или выполните ROLLBACK (если транзакция не зафиксирована).

    Если ваш вопрос не освещён в FAQ, уточните детали в технической поддержке 1С или на форуме infostart.ru — там есть готовые обработки для нестандартных случаев (например, перенос номенклатуры с дополнительными реквизитами или штрихкодами).