К статье
Практический материал

Справочники и Данные · 12 мин

Как выгрузить номенклатуру из одной базы 1С в другую

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

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

Выбор способа зависит от трёх факторов: одинаковые ли конфигурации в базе-источнике и базе-приёмнике, есть ли доступ к конфигуратору и какой объём данных нужно перенести. Для однотипных баз (например, две «1С:Бухгалтерии 8.3» одного релиза) достаточно типовой обработки выгрузки-загрузки. Для разных конфигураций потребуется «Конвертация данных» или промежуточный файл Excel.

Перед любым переносом сделайте архивную копию базы-приёмника. Ошибка в правилах обмена или неверное сопоставление полей способна создать тысячи дублей, которые потом придётся удалять вручную или специальными обработками. Работу лучше выполнять в монопольном режиме и в нерабочее время, если база большая.

Подготовка: что проверить до выгрузки

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

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

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

Способ 1: типовая выгрузка и загрузка XML для одинаковых конфигураций

Если обе базы работают на одной конфигурации, самый надёжный путь — типовая обработка «Выгрузка и загрузка данных XML». В большинстве конфигураций на управляемых формах её можно запустить через «Файл → Открыть», файл лежит в каталоге поставки конфигурации, либо она встроена в раздел «Администрирование → Сервис». Также обработка доступна на диске ИТС.

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

В базе-приёмнике откройте ту же обработку, перейдите на закладку «Загрузка», выберите файл и выполните загрузку. Поиск объектов выполняется по внутреннему уникальному идентификатору (GUID), поэтому при повторной загрузке того же файла дублей не возникнет — объекты обновятся. Это ключевое преимущество способа.

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

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

Когда конфигурации различаются — например, перенос из «1С:Управление торговлей» в «1С:Бухгалтерию» или из 1С 7.7 в восьмёрку, — прямая XML-выгрузка не подойдёт: структуры справочников несовместимы. Здесь используется обработка «Универсальный обмен данными в формате XML» в паре с правилами конвертации.

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

Для переноса из 1С 7.7 есть отдельный сценарий: в семёрке запускается внешняя обработка выгрузки (например, из комплекта перехода на новую версию), формируется XML-файл, который затем загружается в восьмёрку через «Универсальный обмен данными». Поиск элементов в приёмнике при этом идёт по наименованию или коду, поэтому качество исходных данных критично: два элемента с одинаковым наименованием сольются в один.

Сравнение способов переноса

Типовая XML-выгрузка/загрузка

Одинаковые конфигурации. Переносит объекты с сохранением GUID, без дублей. Не работает между разными конфигурациями.

Универсальный обмен + правила конвертации

Разные конфигурации и переход с 7.7. Требует готовых правил или навыков «Конвертации данных». Поиск по наименованию может создать дубли.

Выгрузка в Excel + загрузка из табличного документа

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

Синхронизация данных (план обмена)

Постоянный двусторонний обмен между базами. Избыточна для разового переноса, требует настройки сопоставления объектов.

Способ 3: выгрузка списка в Excel и загрузка из табличного документа

Самый доступный способ, не требующий ничего, кроме пользовательского режима. В базе-источнике откройте список номенклатуры, настройте нужные колонки через «Ещё → Изменить форму» (или настройку списка), затем выведите список в табличный документ: «Ещё → Вывести список». Сохраните результат как файл Excel или MXL.

В типовых конфигурациях есть обработка «Загрузка данных из табличного документа» (обычно в разделе «Администрирование» или доступна с диска ИТС). В ней указывается файл, выбирается объект загрузки «Справочник. Номенклатура» и настраивается соответствие колонок реквизитам: наименование, артикул, единица измерения, ставка НДС, группа.

У способа есть принципиальное ограничение: он переносит «плоские» данные. Табличные части (например, штрихкоды, дополнительные реквизиты в некоторых конфигурациях), картинки и история изменений через Excel не переносятся или требуют отдельных итераций. Также поиск существующих элементов идёт по наименованию или коду — при совпадениях возможны как дубли, так и ошибочные обновления чужих карточек.

Что переносить вместе с номенклатурой

Карточка номенклатуры редко существует в вакууме. Она ссылается на группы (иерархию справочника), единицы измерения, виды номенклатуры, ставки НДС, страны происхождения, производителей. Если перенести только элементы без этих связанных объектов, в приёмнике появятся карточки с пустыми или «битыми» ссылками.

Типовая XML-выгрузка при включённой опции выгрузки «по ссылкам» подтягивает связанные объекты автоматически. При переносе через Excel связанные справочники придётся загружать отдельными файлами в правильном порядке: сначала группы и единицы измерения, потом саму номенклатуру, затем штрихкоды и цены, если они нужны.

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

Проверка результата и типичные ошибки

После загрузки сравните количество элементов в источнике и приёмнике: откройте список номенклатуры в обеих базах и посмотрите счётчик строк. Расхождение в несколько позиций обычно означает ошибки записи отдельных элементов — например, незаполненные обязательные реквизиты в приёмнике, из-за которых объект не записался.

Проведите выборочный контроль: откройте 5–10 карточек из разных групп и сверьте ключевые реквизиты — единицу измерения, ставку НДС, вид номенклатуры, принадлежность к группе. Затем проверьте поиск дублей: в типовых конфигурациях есть обработка «Поиск и удаление дублей» в разделе «Администрирование → Обслуживание».

Контрольные точки

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

Количество элементов справочника
Норма

Совпадает с источником или отличается на объяснимое число отклонённых записей

Тревожный признак

Существенное расхождение без сообщений об ошибках

Карточки на выборке
Норма

Группа, единица измерения, ставка НДС соответствуют источнику

Тревожный признак

Пустые ссылки, подставлены значения по умолчанию

Дубли
Норма

Поиск дублей по наименованию ничего не находит

Тревожный признак

Десятки пар с одинаковыми наименованиями

Работа документов
Норма

Новая карточка подбирается в документ, проводится без ошибок

Тревожный признак

Документ не проводится из-за незаполненных реквизитов карточки

Типичные ошибки при переносе
01
Загрузка без резервной копии — при ошибке правил приходится восстанавливать базу вручную
02
Перенос номенклатуры без связанных справочников — карточки с битыми ссылками на единицы и виды
03
Поиск по наименованию при наличии одноимённых позиций — слияние разных товаров в одну карточку
04
Повторная загрузка тем же файлом из Excel без изменения настроек поиска — массовые дубли
05
Попытка перенести остатки вместе со справочником — остатки живут в регистрах и требуют ввода начальных остатков

Когда нужен специалист

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

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

Итог

Что важно запомнить

Одинаковые конфигурации — типовая XML-выгрузка с сохранением GUID, разные — конвертация данных или Excel. Всегда делайте копию приёмника, переносите связанные справочники, а остатки вводите отдельно. Результат проверяйте по количеству элементов, контрольной выборке карточек и поиску дублей.

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

Перенесутся ли штрихкоды вместе с номенклатурой?

Штрихкоды хранятся в отдельном регистре сведений, а не в карточке товара. Типовая XML-выгрузка может подтянуть их при соответствующей настройке, а при переносе через Excel штрихкоды загружают отдельным файлом в тот же регистр. Без этого шага сканер в новой базе товары находить не будет.

Можно ли перенести номенклатуру из 1С 7.7 в 8.3?

Да, но не напрямую. Используются обработки выгрузки для 7.7 (часто входят в комплект перехода на новую версию) и загрузка в 8.3 через «Универсальный обмен данными в формате XML». Поиск элементов идёт по наименованию или коду, поэтому исходный справочник стоит предварительно почистить от дублей.

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

Используйте типовую обработку «Поиск и удаление дублей» (раздел «Администрирование → Обслуживание»). Она найдёт пары по наименованию и другим полям и заменит ссылки на дубли ссылками на основной элемент. Перед запуском сделайте копию базы: объединение необратимо.

Переносятся ли картинки и файлы, прикреплённые к товарам?

Зависит от способа. Типовая XML-выгрузка переносит присоединённые файлы, если включить соответствующие объекты. Загрузка из Excel картинки не переносит — их придётся переносить отдельной обработкой или копированием тома хранения файлов.

Нужно ли переносить группы номенклатуры отдельно?

При типовой XML-выгрузке группы переносятся вместе с элементами автоматически, так как это тот же справочник. При загрузке из Excel группы лучше загрузить первым файлом или включить колонку «Родитель» и настроить её обработку — иначе вся номенклатура попадёт в корень справочника.

Можно ли настроить автоматическую синхронизацию номенклатуры между базами?

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