⚠️ Внимание: Перед началом любых манипуляций с данными обязательно создайте резервную копию обеих баз (источника и приемника). Ошибки в настройках правил конвертации могут привести к дублированию записей или потере связей между документами.

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

Основная сложность заключается не в самом факте выгрузки, а в корректном сопоставлении уникальных идентификаторов (GUID). Если программа 1С увидит в принимающей базе товар с тем же названием, но другим внутренним кодом, она может создать дубль, что разрушит аналитику продаж и складского учета. Поэтому важно выбрать правильный метод: стандартный обмен через файл, использование внешней обработки или специализированные инструменты типа 1С:Конвертация данных.

В рамках этой статьи мы подробно разберем алгоритм действий для типовых конфигураций, таких как «Управление торговлей» или «Бухгалтерия предприятия». Мы рассмотрим как стандартные возможности платформы, так и более гибкие методы для сложных случаев. Целостность данных должна стать вашим главным приоритетом на каждом этапе процесса.

Подготовка баз данных к процедуре обмена

Прежде чем приступать к технической части, необходимо провести аудит справочников в обеих базах. Убедитесь, что в базе-источнике номенклатура заполнена корректно: у товаров проставлены единицы измерения, указаны основные свойства и артикулы. Хаос в исходных данных неизбежно приведет к хаосу в целевой системе.

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

☑️ Подготовка к переносу

Выполнено: 0 / 5

Также стоит обратить внимание на структуру папок (групп) в справочнике. Если в базе-источнике используется глубокая вложенность групп, а в приемнике структура плоская, могут возникнуть сложности с привязкой товаров к правильным разделам. Рекомендуется привести структуру групп к единому знаменателю до начала выгрузки.

Отдельного внимания заслуживают дополнительные реквизиты. Если в одной базе для товаров заведены специфические поля (например, «Цвет» или «Размер»), а в другой их нет, эти данные будут потеряны при стандартном обмене. Заранее определите, какие атрибуты являются критически важными для вашего бизнеса.

Использование стандартной обработки выгрузки и загрузки

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

Для начала работы в базе-источнике необходимо найти обработку выгрузки. Обычно она располагается в разделе «Администрирование» или «НСИ и администрирование». Выберите пункт Выгрузка данных в файл. В открывшемся окне мастер предложит выбрать объекты для выгрузки.

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

Нюансы формата XML

Файл выгрузки представляет собой текстовый документ в формате XML, который содержит не только названия товаров, но и их уникальные GUID, ссылки на родительские группы и значения всех реквизитов. Редактировать этот файл вручную в текстовом редакторе крайне не рекомендуется без глубоких знаний структуры 1С, так как нарушение синтаксиса сделает файл нечитаемым для системы.

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

Если в принимающей базе уже есть товары с такими же названиями, но разными GUID, система может предложить создать новые элементы. Это приведет к дублированию. Правильным решением в таком случае является предварительная очистка базы-приемника или использование более sophisticated инструментов для сопоставления.

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

Для сложных сценариев миграции, особенно между разными конфигурациями (например, из «УТ 10» в «УТ 11»), стандартной выгрузки недостаточно. Здесь на помощь приходит технология Конвертация данных. Она позволяет гибко настраивать правила преобразования информации.

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

Параметр настройки Описание влияния на перенос Рекомендуемое значение
Режим поиска объектов Определяет, как система ищет существующие товары По уникальному идентификатору (GUID)
Обработка дублей Действие при нахождении совпадения по имени Обновлять существующий объект
Перенос иерархии Сохранение структуры папок справочника Включено (с созданием отсутствующих групп)
Флаги изменений Отметка о том, что объект был изменен в ходе конвертации Устанавливать автоматически

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

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

💡

При настройке правил конвертации всегда тестируйте процесс на копии базы с небольшим объемом данных (10-20 товаров). Это позволит выявить ошибки в логике сопоставления до того, как вы запустите перенос тысяч позиций.

Алгоритм переноса через универсальный обмен данными

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

Для настройки УОД необходимо создать план обмена в обеих базах. В свойствах плана обмена указывается тип узла (например, «Файл» или «COM-соединение») и регистрируемые объекты. В нашем случае регистрируем справочник Номенклатура.

После создания плана обмена в базе-источнике выполняется регистрация изменений. Это действие помечает все элементы номенклатуры как готовые к отправке. Затем формируется файл сообщения обмена, который передается в принимающую базу.

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

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

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

Решение проблем с дубликатами и ссылочной целостностью

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

Для решения этой проблемы существует несколько подходов. Первый — предварительная очистка целевой базы от справочника номенклатуры (если это допустимо по бизнес-процессам). Второй — использование специальной обработки «Поиск и удаление дублей» после загрузки данных.

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

  • 🔍 Проверьте настройки поиска объектов в правилах конвертации: часто по умолчанию стоит поиск только по GUID.
  • 🧹 Используйте обработку «Групповое изменение реквизитов» для приведения артикулов к единому формату перед выгрузкой.
  • 🔗 Убедитесь, что связанные объекты (единицы измерения, наборы свойств) также присутствуют в целевой базе до начала загрузки номенклатуры.
📊 Какой метод переноса вы используете чаще всего?
Стандартная выгрузка в XML
Конвертация данных 2.0/3.0
Универсальный обмен (УОД)
Ручной ввод через копирование

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

Автоматизация процесса и работа с большими объемами

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

Автоматизация позволяет разбить процесс на этапы: выгрузка группами по 1000 элементов, промежуточная валидация, загрузка. Это снижает нагрузку на сервер и минимизирует риск зависания базы во время длительной транзакции.

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

⚠️ Внимание: Выгрузка в формате DT возможна только между базами на одном типе СУБД (например, MSSQL в MSSQL) и с идентичной структурой метаданных. Попытка загрузить DT-файл в базу с отличающейся конфигурацией приведет к фатальной ошибке.

Также стоит рассмотреть возможность использования обработки «Сравнение и объединение конфигураций», если речь идет о переносе не только данных, но и доработок форм и отчетов, связанных с номенклатурой. Однако для чистого переноса данных этот метод избыточен.

💡

Золотое правило миграции: сначала переносятся классификаторы и справочники-основания (Валюты, Контрагенты, Единицы измерения), и только в самом конце — документы и регистры, зависящие от них.

Часто задаваемые вопросы (FAQ)

Можно ли перенести номенклатуру вместе с остатками на складах?

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

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

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

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

Стандартная выгрузка в XML часто не захватывает вложенные файлы (картинки), так как они хранятся в отдельных таблицах системы. Для переноса изображений необходимо использовать конвертацию данных 2.0/3.0 с включенной опцией выгрузки вложенных файлов или специальные обработки для миграции медиа-контента.

Потеряются ли история изменений и дата создания товара при переносе?

При стандартной выгрузке/загрузке через объекты данные записываются как новые, поэтому дата создания изменится на текущую. История изменений (журнал регистрации) не переносится. Для сохранения исторических дат требуется использование глубокой конвертации или выгрузки на уровне таблиц БД, что является сложной технической задачей.

Можно ли объединить две базы с одинаковой номенклатурой без дублей?

Простое объединение невозможно без предварительной подготовки. Необходимо провести процедуру «Сопоставление объектов», где вручную или автоматически (по артикулу) связать элементы из первой и второй базы. Только после установления соответствия можно проводить обмен, чтобы система понимала, что «Товар А» из базы 1 и «Товар А» из базы 2 — это один и тот же объект.