Артикул и Импорт XML после внедрения новых вариаций

Полагаю, что не только я один столкнулся с трудностями импорта, как CSV, так и XML файлов в v4.10. Например мной используются в основном XML-файлы по ссылкам партнеров и как правило импортирую их по расписанию CRON. Появление новых вариаций позволило создавать группы (Variation group code) товаров по характеристикам из файла XML - это хорошо, но одновременно с этим внесло массу негатива.

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

Так вот.

Если ты работаешь с поставщиком обуви ООО “Обувь для всей семьи” по определенной группе товаров, например только детская обувь, то он предоставляет файл для первичной загрузки со всеми раскладами по товарам, а в дальнейшем, для актуализации остатков и цен выдает ссылку на файл в котором лишь Артикул, цена и остатки по категории. Как обновлять? Я тоже не знаю.

При любом раскладе, если нет Артикула, который жестко привязан к продукту, нет возможности индефицировать этот самый продукт, как продавцу, так и покупателю. К тому же offer id является переменной, сегодня он у товара один, а завтра другой. Что произойдет через неделю или через месяц в файле на стороне поставщика никому неведомо, даже самому поставщику и это большой риск.

И вообще, offer id нужен лишь только для осуществления технического процесса импорта и больше не для чего. Никакой информационной и смысловой нагрузки он не несет, по этому даже видеть его не к чему, но он как бельмо на глазу, присутствует везде где только можно. Для примера: 10040215996086002674 - это offer id одного из товаров в моем магазине, который теперь является Кодом товара и отображается на карточке товара. Мне тоже смешно.

Разработчики позабыли, что CSV и XML не одно и то же, и что информация в XML файле выжимка только самого необходимого. Итак всего мало в нем, так еще и Артикул стырили. Верните нам старый и добрый Артикул - Product code (Арт.).

Кто ЗА, ставьте лайки.

6 лайков

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

Изучил тему, но пока не смог воспроизвести проблему и не понимаю, что значит “артикул стырили”. На дев-демо (обычная демка должна вести себя так же) экспортировал футболки-вариации (правда, в CSV, т.к. в XML экспорта нет). После этого обновил им цены и количество с помощью вот такого пресета импорта:

Как видите, сопоставил только нужные поля (Product code, Price, Quantity), и они обновились. Группа вариаций при этом теперь не распустилась. С XML-файлом должно работать абсолютно так же (по крайней мере, при импорте XML я мог выбрать Product code).

Вы не вникаете в загогулину. Чтобы импортировать вариации из XML, требуется указать Variation group code (уникальный), а в файле он может быть только offer id - Артикул в вариации не уникален! В дальнейшем (в другом файле), партнер дает ссылку на обновление в которой offer id либо другой, либо его вовсе нет, так как это уже может быть CSV.
Могу вам для примера скинуть два файла - первичный и вторичный, чтобы вы могли собственноручно попробовать и увидеть своими глазами, что это невозможно.

Да, если можно, скиньте мне в личку файлы (или, если поставщик против, то хотя бы пример одного-двух товаров из этих двух файлов).

@alexa, спасибо за файлы. Сегодня смог их посмотреть. Попробую описать проблему как я её понял, чтобы потом было проще ориентироваться в теме. Поправьте пожалуйста, если я где-то неправ.


  1. Как сейчас сделано в CS-Cart: чтобы создать группу вариаций, в импортируемом файле нужен:

    • Артикул (Product code) – уникальный идентификатор каждого отдельного товара или вариации. По нему CS-Cart в будущих файлах обновляет цену и количество, т.е. понимает, что речь об одном и том же товаре.

    • Артикул группы (Variation group code) – идентификатор, общий для всех товаров в группе вариаций. Может не присутствовать в последующих файлах, если нужно обновить количество у уже существующих товаров.

    • Остальные необходимые параметры (например, значения характеристик, если у товаров их ещё нет).

  2. Поставщик даёт вам для импорта XML-файл, но артикул в этом файле общий у всех вариаций. Зато в этом файле есть:

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

    • group_id – хороший аналог Variation group code. Даже если поменяется, то разом у всех вариаций, т.е. группа не распадётся.

Итого: в XML-файле, который вам присылает поставщик, нет какого-то одного параметра, по которому всегда (т.е. при первом и последующем импортах) можно однозначно понять, есть ли уже в магазине этот товар или вариация.


P.S. CSV-файл, который вы прислали я тоже посмотрел, но там одна запись с одним артикулом на всю группу вариаций, и цен/количества там нет. Т.е. для импорта вариаций он не подходит.

Может изменится или, что более вероятнее вовсе отсутствовать в CSV-файле.

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

В остальном все верно.

Суть в том, что у поставщиков Артикул в подавляющем большинстве один и тот же (допустим такой FUTBOLKA234) для всей группы товара, т.е. редко бывает так, чтобы у одного и того же товара, к примеру Футболок разных расцветок был Артикул - FUTBOLKA234RED, FUTBOLKA234BLUE и тд. По этой причине (в нынешней редакции импорта) из файла нельзя взять Артикул в качестве Product code. Это значит Артикул выпал из обоймы и стал характеристикой, например как Бренд, т.е. что он есть в файле, что его нет, никакого значения не имеет. Теперь же, чтобы была возможность собрать группу должен быть уникальный код товара и код указывающий на принадлежность к группе. Для этого можно взять только Артикул (Product code) и Артикул группы (Variation group code), что соответствует offer_id и group_id, если речь идет о XML. Кстати, Артикул невозможно использовать для Variation group code, так как в половине случаев написан кириллицей и имеет различные спецсимволы. Одним словом нюансов много, все описать сложно в рамках короткой переписки.

1 лайк