Как правильно перенести номенклатуру со штрихкодами и единицами измерения из одной базы УТ 10.3 в другую?

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

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

Понимание структуры данных в УТ 10.3

Прежде чем приступать к выгрузке, проанализируем, как информация о товаре хранится в системе. В отличие от простых справочников, Номенклатура в УТ 10.3 — это сложный объект со множеством связей:

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

Именно из-за этой трехуровневой структуры (Товар -> Единица -> Штрихкод) при обычном копировании данных связи часто разрываются. Разберем основные способы решения этой задачи.

Способ 1: Использование обработки «Выгрузка и загрузка данных XML»

Рассмотрим наиболее эффективный метод для идентичных баз. Эта обработка входит в состав инструментов разработчика и обычно поставляется вместе с конфигурацией «Конвертация данных». Ее главное преимущество — перенос объектов «как есть» вместе с их внутренними идентификаторами (GUID). Это гарантирует, что связи между товаром, его единицами и штрихкодами не изменятся.

Разберем по шагам процесс работы с этой обработкой:

  1. Откроем обработку в исходной базе через меню Файл — Открыть.
  2. В списке объектов для выгрузки найдем СправочникСсылка.Номенклатура.
  3. Важный момент: Необходимо также отметить РегистрСведенийМенеджерЗаписи.Штрихкоды. Если вы перенесете только номенклатуру, штрихкоды останутся в старой базе.
  4. Проанализируем настройки выгрузки. Обязательно должна быть включена опция «Выгружать с объектами по ссылкам». Это позволит системе автоматически «подтянуть» подчиненный справочник ЕдиницыИзмерения, даже если вы не выбрали его вручную.
  5. Нажмем кнопку выгрузки и сохраним файл XML.

В базе-приемнике откроем ту же обработку на вкладке «Загрузка», выберем файл и нажмем «Загрузить». Поскольку конфигурации идентичны, 1С просто создаст точные копии записей с теми же ссылками.

Проблема «Единицы хранения остатков» и способы ее решения

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

Для исправления ситуации проверим следующее:

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

Способ 2: Универсальный обмен данными в формате XML (через правила)

Если базы имеют небольшие различия в релизах, или если первый способ не помог, воспользуемся конфигурацией «Конвертация данных 2.1». Мы можем быстро создать правила обмена.

Рассмотрим алгоритм действий в «Конвертации данных»:

  1. Загрузим структуры метаданных обеих баз.
  2. Создадим новое ПВД (Правило выгрузки данных) для объекта Номенклатура.
  3. Создадим ПКО (Правило конвертации объекта) для справочника Номенклатура.
  4. Создадим ПКО для ЕдиницыИзмерения. В настройках ПКО укажем поиск по полям «Владелец» и «Наименование» (или «Единица по классификатору»).
  5. Создадим ПРС (Правило конвертации регистра) для Штрихкоды. Здесь критически важно настроить поиск так, чтобы запись регистра искала свою номенклатуру и свою единицу измерения по ключевым полям.

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

Особенности переноса алкогольной продукции

Поскольку в вопросе упоминается алкоголь, проанализируем специфические требования к таким данным. Для корректной работы с ЕГАИС и другими системами учета алкоголя, помимо штрихкодов (EAN-13), могут потребоваться:

При использовании метода с XML-выгрузкой убедимся, что мы отметили все регистры, названия которых начинаются со слова «Алкоголь» или «ЕГАИС», если такие доработки присутствуют в вашей базе.

Технические советы по проверке данных

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

  1. Откроем карточку любого перенесенного товара и перейдем на вкладку «Единицы измерения». Проверим, заполнена ли базовая единица и единица хранения.
  2. Перейдем к списку штрихкодов (через меню «Перейти» в карточке номенклатуры). Если список пуст, значит, регистр Штрихкоды не был включен в выгрузку.
  3. Если штрихкоды есть в регистре, но не отображаются в форме списка номенклатуры, выполним «Тестирование и исправление» информационной базы с включенной опцией «Проверка логической целостности». Это поможет восстановить индексные связи объектов.

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

← На главную