Попробуйте Улучшенный Импорт Товаров

Добрый день.
@ikoshkin, пожалуйста, помогите разобраться с 1 вопросом в улучшенном импорте. Текущая ситуация: есть поставщик у которого в YML/XML файле есть только товары в наличии. Когда у него удаляется из ассортимента товар он пропадает и из YML/XML файла.
В улучшенном импорте есть опция: “Уменьшить количество товаров до нуля”.

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

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

Подскажите, как можно синхронизировать остатки с таким поставщиком?

Заранее спасибо.

Такие вещи удобно проверять на https://demo.cs-cart.com или http://dev.demo.cs-cart.ru. Я проверил, импортировав только один товар через пресет с этой настройкой. Уменьшилось до нуля количество у всех остальных товаров.

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

Т.к. я не знаю всех деталей (т.е. сколько у вас таких поставщиков, какие у них файлы и т.п.), то не факт, что все мои предложения вам подойдут. Пока мысли такие:

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

  2. Если первый вариант не подходит, то лучше всего обратиться к сторонним разработчикам за индивидуальной доработкой модуля. Сам я не программист, но приходит в голову такой вариант доработки:

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

Добрый день.
Для такого случая единственное решение это сначала обнулить текущие остатки по этому поставщику, а затем залить новые из актуального файла от поставщика. Опция “Уменьшить количество товаров до нуля” бесполезна.

Добрый день.
Подскажите можно ли в модификаторе поля Category задать одновременно несколько замен, чтобы менять названия не одной категории, а нескольких?

Добрый день.
@imac, @ikoshkin есть ли в планах улучшенный экспорт? Мне необходимо выгрузить в каждый отдельный столбик варианты характеристик для каждого товара. (Модуль от Ecomlabs не предлагать)
Сейчас импорт такой сделать можно, а экспорт нет.

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

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

Очень жду вашей помощи!

1 лайк

Пока мы не видели много запросов на эту тему, поэтому в планах на ближайшее будущее нет. Сейчас в приоритете вариации, чекаут, многоскладовость (по ним запросов было намного больше). О планах можно узнавать из вот таких тем: Видеоотчёт от разработчиков CS-Cart (декабрь 2018). Там Илья Макаров рассказывает, что мы делаем, и почему именно это.

А почему не предлагать модуль от Ecom Labs? Вы его уже попробовали и он чем-то не подошёл?

В общем спустя много кофе :coffee: и пары нервных срывов :exploding_head: пришли к некому варианту как допилить модуль импорта для удобной работы

Плюшки после прочтения

C самыми активными помощниками по окончанию разработки поделюсь готовым результатом

------------------Описание проблемы------------------


(!)все данные условные и могут быть увеличены в разы, вариант “делать руками исключен”


Поставщик отдает прайс в формате xml.

  • Прайс содержит 5000 позиций.
  • 5000 позиций расположены в 400 категориях.
  • В 5000 позиций есть 600 характеристик(у одной позиции может быть 1 характеристика, у другой 12).

Товар до этого никогда не бывал в магазине, характеристики часть есть, части нету.
Задача:

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

------------------Вариант решения------------------

  1. Добавить поле для указания места хранения категорий в прайсе

  2. Добавить вкладку для маппинга категорий

    Механика работы: установка должна быть с отношением многие к одному, т.е. несколько категорий с одного прайса должны ссылатся на одну категорию в cs-cart

  3. Добавить спец. поле в таблицу соответствий полей, которое будет указывать на признак категории в товаре(пример Advanced Import: Images (Изображения товара))

  4. добавить отметку “Попытатся установить характеристику”(дропдаун с выбором типа характеристики)

    Механика работы: если для категории, к которой принадлежит товар, есть характеристика с таким же именем и допустимым типом - установить ее значение. Если же характеристики нету или по типу данных не подходит - создать характеристику с типом установленным в прессете, ограничить характеристику только этой категорией, установить значение характеристики, дописать в маппинг пресета.

  5. Создавать товары согласно собранных данных

Возможные ошибки и их обработка

  • Не установлено соответствие категорий, отсутствует значение товара “Категория” — Создавать товар в категории Products, характеристики привязывать к Products

…будет дополнено со временем

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

  • Функционал нужен, делай,помогу советом если смогу
  • Бесполезная трата времени, иди лесом
  • 50/50, дополню комментом

0 голосов

От всех, кому не безразлично, принимаю дотации в виде печенек :cookie: или лайков :heart: под сообщением

3 лайка

Плюсую к запросу, это как минимум логично с учетом нового импорта.

А то как то наполовину сделали и бросили…

2 лайка

Тоже плюсану, нужно.

1 лайк

всю фантазию истратил и не могу расшифровать - что такое "замаплянные " ?

значит характеристики, которым установили соответствие на вкладке “Таблица соответствия полей”
Например так

никогда б не догадался!
а по поводу реализации у вас вроде все очень правильно описано.
Про характеристики имхо можно прям сюда вставить
создать характеристиику типа А
создать характеристиику типа В
создать характеристиику типа С

т.е. еще на этапе сопоставления полей

Я знаю слово замапленный, по типу обезпрайсленного (вне списка) товара, куда его замапить.

1 лайк

У меня подобное рабочее решение. Я замапил все категории по айдишнику и у меня в прайсе одни числа вместо категорий. При импорте происходит обратное превращение айдишников в словокатегории. Таким образом продавцу не надо голову морочить как ввести 4 дополнительных категории одну за другой, причем со всеми парентами и тройными слэшами.

Забыл упомянуть, что сделал категориальное дерево с плюсиками и минусами для сворачивания уровня, чтобы легче можно было находить соответствующие айдишники. Правда в Excel-е оно выглядит страшненько. Покупать Tree List не особая охота

В целом можно и в екселе это всё сделать, но проблема в том, что это должно всё обрабатываться с одного места.
Кроме того такой прайс требует ручной работы, а если поставщиков 50, 100, 1000…тогда возникают проблемы.
Тем более есть штатный механизм, который работает почти так, как того бы хотелось, почему бы его не использовать

Тоже интересный вариант, возможно так и сделаю, дабы не перегружать интерфейс


Изначально была идея добавить выпадающий список справа от существующего.
В общем буду тестить что получится легче для страницы.
У меня на реальном примере в прайсе ~600 характеристик, страница и так долго грузится.
Это при учете того, что разработчиками заложено ограничение в 150 характеристик магазина в списке сопоставления(а их сейчас, на секундочку, 1700)

у вас Мультивендор? что вы такое грузите?

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

Сейчас это исправили или так и есть? Я просто “плюнул” ждать починки и просто купил модуль от экомлабс.

Нет, не мультивендор, просто решили “немного” расширить ассортимент.
Касательно перезаписи не тестировал, но как по мне то такого быть не должно.
Хотя если сначала импортировать файл с 10 характеристиками, а потом только с 1 то вполне логично что те, которые не установлены затрутся.

Абсолютно верно. Иначе не оберешься проблем и постфиксов. Я было позволил вендорам импортировать свои товары, но пока система не автоматизируется, лучше делать это централизованно.

Кто-нибудь исследовал возможности суперимпортного модуля simteckdev?

Совсем нелогично.
Например вы решили добавить характеристику Гарантия, ну вот забыли сразу…
И вам придется делать экспорт тех что есть в неудобный файл, где все характеристики слиты, добавлять в него как то, и импортировать.