Как правильно перенести товары с характеристиками из системы «МойСклад» в 1С?

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

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

Анализ структуры и подготовка метаданных

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

  1. Определим виды номенклатуры: Проанализируем, какие группы товаров имеют общие наборы свойств (например, «Одежда» со свойствами «Цвет» и «Размер»).
  2. Настроим дополнительные реквизиты: Чтобы 1С понимала, что конкретное свойство является цветом или размером, необходимо создать соответствующие элементы в плане видов характеристик ДополнительныеРеквизитыИСведения.
  3. Сопоставим идентификаторы: У каждого варианта в МС есть свой уникальный UUID. Его крайне важно сохранить в 1С (например, в дополнительном реквизите характеристики), чтобы избежать дублирования при повторных обменах.

Метод 1: Предварительное проектирование аналитики

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

Если вы используете КонвертацияДанных версии 3.0, мы можем написать алгоритм, который при загрузке XML будет искать существующую характеристику по набору свойств или создавать новую, заполняя таблицу ДополнительныеРеквизиты.

Метод 2: Трансформация данных через XSLT

Для продвинутых разработчиков существует вариант изменения структуры самого XML-файла перед его загрузкой в 1С. Рассмотрим подробнее этот процесс: с помощью XSLT-преобразования можно перехватить данные о вариантах МС и переформировать их в структуру, которую ожидает формат EnterpriseData. Это позволяет «на лету» объединять свойства вариантов в правильные коллекции ЗначенияСвойствОбъектов.

Метод 3: Загрузка через «Промежуточную номенклатуру»

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

  1. Списать остатки с «плоского» списка товаров.
  2. Изменить тип номенклатуры на «С характеристиками» (в УТ 11 это может потребовать временного снятия контроля или использования групповой обработки).
  3. Оприходовать товар заново, но уже с указанием правильных характеристик.

Этот процесс можно автоматизировать через КорректировкаРегистров. Рассмотрим пример логики переброски остатков:


// Пример логики для переноса остатков между типами номенклатуры
Движения.СвободныеОстатки.Записать = Истина;
Для Каждого СтрокаТОВАРА Из ТаблицаПереноса Цикл
    // Списываем товар без характеристики
    Движение = Движения.СвободныеОстатки.ДобавитьРасход();
    Движение.Номенклатура = СтрокаТОВАРА.СтараяНоменклатура;
    Движение.Количество = СтрокаТОВАРА.Количество;
    
    // Приходуем на новую номенклатуру с характеристикой
    Движение = Движения.СвободныеОстатки.ДобавитьПриход();
    Движение.Номенклатура = СтрокаТОВАРА.НоваяНоменклатура;
    Движение.Характеристика = СтрокаТОВАРА.НужнаяХарактеристика;
    Движение.Количество = СтрокаТОВАРА.Количество;
КонецЦикла;

Важные технические нюансы

При переносе данных не забудьте про сопутствующие объекты:

Подводя итог, наиболее надежным способом является использование штатного модуля обмена от «МоегоСклада» или разработка собственных правил в КонвертацияДанных 2.0/3.0, где вы сможете явно прописать логику поиска характеристик по входящим свойствам.

← На главную