Помимо Excel, МойСклад умеет принимать товары из 1С по формату CommerceML и из YML — прайсового формата Яндекса, который стал стандартом де-факто для товарных фидов. Оба варианта закрывают перенос каталога и регулярную синхронизацию, но работают по-разному.
Чем отличаются импорт из 1С и из YML
Сначала важно понять природу форматов — тогда выбор способа очевиден.
| Формат | Откуда | Что несёт |
|---|---|---|
CommerceML (XML) | 1С:Предприятие | Номенклатура, группы, характеристики, цены, остатки |
YML (XML) | Фиды, сайты, агрегаторы | Товарные предложения: цена, наличие, категории, картинки |
CommerceML — это язык обмена 1С, богатый учётными данными. YML (Yandex Market Language) заточен под витрину и прайс: он описывает предложения к продаже, а не полноценный учёт. Соответственно, из 1С тянут «учётную правду», а из YML — быстрый каталог для наполнения.
Импорт из 1С через CommerceML
Классический сценарий переезда — выгрузить из 1С файл import.xml (и сопутствующий offers.xml с ценами и остатками) в формате CommerceML и загрузить его в МойСклад.
- В 1С сформируйте выгрузку каталога в CommerceML (стандартный механизм обмена с сайтом).
- В МойСклад запустите импорт и укажите загруженные XML-файлы.
- Сопоставьте данные: номенклатура, группы, характеристики подтягиваются из структуры файла.
- Проверьте отчёт: созданные и обновлённые позиции, ошибки сопоставления.
Плюс CommerceML в том, что он переносит иерархию групп и характеристики, а не только плоский список. Это удобнее Excel, когда структура каталога в 1С уже выстроена.
Загрузка каталога из YML
YML удобен, когда каталог уже есть в виде фида: у поставщика, на действующем сайте или в системе, которая умеет отдавать .yml. Файл представляет собой XML со списком предложений <offer> внутри дерева категорий <categories>.
Что обычно переносится из YML:
- наименование, цена и валюта предложения;
- наличие и категория товара;
- ссылки на изображения
<picture>; - параметры
<param>— как атрибуты/характеристики.
Сопоставление и ключи совпадений
Как и при импорте из Excel, судьба каждой строки решается ключом совпадения. Правильно выбранный идентификатор — залог того, что данные обновятся, а не задвоятся.
- Для CommerceML ключом обычно служит внутренний идентификатор 1С, который стабилен между выгрузками.
- Для YML сопоставление идёт по
idпредложения, коду или артикулу.
Разовый перенос или постоянная синхронизация
Важно различать две задачи. Перенос — залить каталог один раз при старте. Синхронизация — держать данные согласованными постоянно.
- Разовый импорт файлом подходит для миграции с 1С или первичного наполнения из YML.
- Регулярный обмен с 1С настраивается как интеграция: реализации и оплаты уходят в бухгалтерию, номенклатура и контрагенты синхронны, двойного ввода нет.
- Регулярное чтение YML по ссылке удобно для обновления прайса поставщика по расписанию.
Для постоянной работы ручная загрузка файлов — тупик: рано или поздно кто-то забудет обновить выгрузку. Тогда подключают полноценную интеграцию.
Типичные проблемы обмена
Что чаще всего ломается при импорте из 1С и YML:
- Дубли номенклатуры — сменился источник выгрузки или ключ идентификации между загрузками.
- Не подтянулись остатки — из YML их и не ждите; из 1С проверьте, что выгружен
offers.xml. - Кривые характеристики — параметры YML легли не в те поля; нужно настроить сопоставление
<param>. - Расхождение цен — не тот тип цен сопоставлен или разные валюты в фиде.
- Битый XML — файл выгружен с ошибками; проверьте кодировку и целостность.
Итог
Из 1С товары переносят через CommerceML — он тянет иерархию, характеристики, цены и остатки, поэтому подходит для полноценной миграции и обмена с бухгалтерией. YML удобен для быстрого наполнения каталога из прайса или фида, но не заменяет складской учёт. В обоих случаях всё держится на стабильном ключе сопоставления и понимании, какая система — источник истины.
Мы настраиваем и разовый перенос из 1С, и постоянную двустороннюю синхронизацию, и регулярное чтение YML-прайсов поставщиков. Поможем спроектировать обмен так, чтобы оперативный учёт жил в МойСклад, бухгалтерия — в 1С, а данные оставались едиными без ручного переноса.
Частые вопросы
В каком формате переносить товары из 1С?
Через CommerceML — стандартный XML-обмен 1С. Он переносит номенклатуру, группы, характеристики, а также цены и остатки из файла offers.xml.
Чем YML отличается от CommerceML?
CommerceML — язык учётного обмена 1С с богатыми данными. YML — прайсовый формат для витрин и агрегаторов, он описывает предложения к продаже, а не полноценный складской учёт.
Можно ли вести остатки на основе YML?
Нет. В YML нет полноценных остатков по складам, партий и себестоимости. Его используют для наполнения каталога, а учёт остатков ведут отдельно.
Как избежать дублей при повторной загрузке из 1С?
Не меняйте источник выгрузки и ключ идентификации. Идентификаторы CommerceML стабильны, поэтому повторный импорт обновляет существующие товары, а не создаёт новые.
По какому полю сопоставляются товары из YML?
Обычно по id предложения, коду или артикулу. Важно заранее определить главную систему, чтобы артикулы формировались в одном источнике.
Импорт из 1С — это разовый перенос или постоянный обмен?
Возможно и то, и другое. Разовую миграцию делают загрузкой файла, а постоянную согласованность данных настраивают как интеграцию МойСклад с 1С.
Почему не подтянулись характеристики из YML?
Параметры param легли не в те поля из-за отсутствующего сопоставления. Нужно настроить соответствие параметров фида атрибутам или характеристикам МойСклад.
Поможем с настройкой и поддержкой МойСклад
Поможем с настройкой, доработкой и поддержкой МойСклад.