Import: Планируемые Улучшения. Макеты, Идеи, Сложности

Могу поделиться нашей статистикой ). Все наши магазины имеют и то и то. Но Владельцы магазином предпочитают делиться YML фидом.
Поля CSV различных CMS не совпадают, более того не совпадает кодировка (есть кто в виновой делает). Но они же выгружают товары в ЯМ (ну или функционал такой есть) и там поля стандартные (хотя ЯМ любит придумывать ерунду).
Статистика интеграций с поставщиками за последние полгода: 16 интеграция в формате yml и 2 в CSV. Лично нам выгодно проводить работы по созданию сложных импортов. Но это тема не про нас -)

А почему у поставщиков есть выгрузка именно YML а не CSV или XLS?

Я, поставщик, в CSV отдаю файлы клиентам кстати. Но так исторически сложилось, особой идеи почему именно он нет.

Будет ли возможность запускать настроенный импорт CSV или XML по Cron?

Будет ли возможность импортировать CSV или XML по ссылке?

Например, для обновления остатков поставщиков.

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

А будет возможность смотреть товары, которые были добавлены и которые были обновлены?

- Возможность импортировать характирестики каждую в отдельной колонке.

Здесь хотелось бы добавить несколько предложений/замечаний.

1. В текущей реализации характеристики импортируются таким образом, что поле из csv с характеристиками перезаписывает все текущие характеристики товара. Это не всегда нужно, в большей степени нам нужно отредактировать несколько характеристик товара и загрузить их обратно. CS-Cart же не дает это сделать, приходится тянуть в поле все характеристики в CSV (создавать многосложные связки) и только затем импортировать, чтобы не удалились другие характеристики товара, которые мы не собирались редактировать. Мы обошли эту проблему и сделали небольшую модификацию, теперь при импорте выбирается галочка - Перезаписать все характеристики товара или добавить характеристики к имеющимся у товара. Но в связи с реализацией нового импорта хотелось бы, чтобы эта функциональность была по умолчанию.

2. При импорте характеристик есть проблема не только сопоставления полей - названий характеристики, но и самих значений характеристик. Например, у поставщика написания значений характеристик отличаются от тех, что у нас в базе и при импорте создаются новые, а по смыслу они одинаковы, но с разным написанием. Было бы удобно, если бы при импорте характеристик можно было все значения характеристик из файла поставщика сопоставить с нашими и затем только импортировать файл, чтобы для товаров подставлялись значения характеристик из нашей базы, а не плодились хаотично значения. Потом при фильтрации товаров получается огромный список у фильтра, что не есть хорошо с разных точек зрения и с точки зрения продаж и с точки зрения SEO.

Здесь хотелось бы добавить несколько предложений/замечаний.

1. В текущей реализации характеристики импортируются таким образом, что поле из csv с характеристиками перезаписывает все текущие характеристики товара. Это не всегда нужно, в большей степени нам нужно отредактировать несколько характеристик товара и загрузить их обратно. CS-Cart же не дает это сделать, приходится тянуть в поле все характеристики в CSV (создавать многосложные связки) и только затем импортировать, чтобы не удалились другие характеристики товара, которые мы не собирались редактировать. Мы обошли эту проблему и сделали небольшую модификацию, теперь при импорте выбирается галочка - Перезаписать все характеристики товара или добавить характеристики к имеющимся у товара. Но в связи с реализацией нового импорта хотелось бы, чтобы эта функциональность была по умолчанию.

2. При импорте характеристик есть проблема не только сопоставления полей - названий характеристики, но и самих значений характеристик. Например, у поставщика написания значений характеристик отличаются от тех, что у нас в базе и при импорте создаются новые, а по смыслу они одинаковы, но с разным написанием. Было бы удобно, если бы при импорте характеристик можно было все значения характеристик из файла поставщика сопоставить с нашими и затем только импортировать файл, чтобы для товаров подставлялись значения характеристик из нашей базы, а не плодились хаотично значения. Потом при фильтрации товаров получается огромный список у фильтра, что не есть хорошо с разных точек зрения и с точки зрения продаж и с точки зрения SEO.

1. Здесь все должно работать нормально, так как какие характеристики вы сопоставите, такие и будут обновлены, добавлены. Если харакетеристики нет, то и изменений с ней быть не должно.

2. Тут сложнее. Оптимально было бы испольлзовать вам то наименование значений характеристик, которое использует поставщик. Планируется поле модификация, теоретически можно будет через него сделать, но это пока вопрос открытый.

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

Про поле "модификация"

Как вариант там может быть такое значение

IF({value}=='зеленый', 'ярко-зеленый', IF({value} == 'сининй', 'ярко-синий', {value}))

Это значит что если в прайсе значение пришло "зеленый" оно заменится на "ярко-зеленый" если значение пришло "синий" оно заменится на "ярко-синий", а во всех остальных случаях значение останется тем которое пришло.

Недостаток этого метода в том что при каждом изменение набора значений характеристики эту формулу нужно править.

Ну т.е. получается для того чтобы сохранить файл в формате CSV нам нужно интегрировать логику конвертации из Excel.

Я насколько помню там не все так просто, и проблем это может создать больше чем пользы.

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

В Excel-файлах нет общего случая.

С использованием сопоставления полей большая часть проблемы снимется ( не вся конечно)

И юзеру не докажешь, что это он накосячил. Виноват будет движок, который "обещал" юзеру, что все будет "само"..

Юзеру также сложно понять почему у него нет возможности импорта и Excel когда 90% поставщиков скидывают ему прайс именно в нем.

Потребность - да, возникает такая, но решать ее надо и придется индивидуально.

К сожалению, скорее всего именно так.

Обратите внимание на сопоставление полей. В этой фишки заключается одна из ключевых ценностей нового импорта.

Илья, я точно не уверен ( не знаю логику встроенного импорта), но возможное решение здесь может быть в упрощённой интеграции стороннего модуля. Настройки, сопоставление полей и запись в базу - функционал встроенного импорта, а подготовка данных - задача стороннего модуля. Возможно ли вообще такое? Хуки специальные, например...

1. Здесь все должно работать нормально, так как какие характеристики вы сопоставите, такие и будут обновлены, добавлены. Если харакетеристики нет, то и изменений с ней быть не должно.

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

Бывает так, что нужно у определенных товаров удалить некоторые характеристики, через импорт массово мы это сделать не сможем, только через админку поштучно. В вашей реализации только добавить или обновить. Может все таки добавить опцию Перезаписать/Добавить как это сделано у нас сейчас?

2. Тут сложнее. Оптимально было бы испольлзовать вам то наименование значений характеристик, которое использует поставщик. Планируется поле модификация, теоретически можно будет через него сделать, но это пока вопрос открытый.

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

Про поле "модификация"

Как вариант там может быть такое значение

IF({value}=='зеленый', 'ярко-зеленый', IF({value} == 'сининй', 'ярко-синий', {value}))

Это значит что если в прайсе значение пришло "зеленый" оно заменится на "ярко-зеленый" если значение пришло "синий" оно заменится на "ярко-синий", а во всех остальных случаях значение останется тем которое пришло.

Недостаток этого метода в том что при каждом изменение набора значений характеристики эту формулу нужно править.

Использовать то наименование значений характеристик, которые используют поставщик нецелесобразно, так как у нас десятки поставщиков, у каждого свое наименование бывает для значений одной и тоже характеристики. Чтобы как-то контролировать этот процесс, быть может добавите какой-то обработчик импорта/экспорта для вариантов характеристик, где можно было бы объединять несколько вариантов в один для тех значений, что пришли в базу несанкционированно? Соответственно, после объедения, чтобы у товаров вариант характеристики заменялся на тот, который мы установили. А после импорта товаров нужна статистика, какие новые варианты характеристик были добавлены в базу. Ну примерно так, чтобы держать все под контролем, иначе с характеристиками и их вариантами получается полная чехарда в базе при импорте прайсов поставщиков. Быть может, у вас есть другое лучшее решение?

Будет ли возможность запускать настроенный импорт CSV или XML по Cron?

Будет ли возможность импортировать CSV или XML по ссылке?

Например, для обновления остатков поставщиков.

1. По крону, да будет возможность

2. Про ссылку не обсуждали. Т.е. вопрос в том чтобы руками ничего не делать а раз в сутки подгружать автоматом.

Можно рассмотреть такой вариант. Меня он смущает потому что ошибки сложно отслеживать в таком случае.

Какой формат вас интересует по ссылке, XML или CSV?

1. По крону, да будет возможность

2. Про ссылку не обсуждали. Т.е. вопрос в том чтобы руками ничего не делать а раз в сутки подгружать автоматом.

Можно рассмотреть такой вариант. Меня он смущает потому что ошибки сложно отслеживать в таком случае.

Какой формат вас интересует по ссылке, XML или CSV?

Да, совершенно, верно, чтобы подгружать автоматом. Чтобы отслеживать ошибки, нужен лог того, что было сделано.

В принципе, поставщики предоставляют как и XML, так и CSV. Таких поставщиков, которые предоставляют только XML или только CSV вроде бы нет.

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

А будет возможность смотреть товары, которые были добавлены и которые были обновлены?

Да, будет. https://www.evernote.com/l/AQE61nPX70hDTpvCcLV4EY71-UyoQoriuIc

Посмотреть можно тут dev.demo.cs-cart.ru это войдет в 4.7.1

Использовать то наименование значений характеристик, которые используют поставщик нецелесобразно, так как у нас десятки поставщиков, у каждого свое наименование бывает для значений одной и тоже характеристики. Чтобы как-то контролировать этот процесс, быть может добавите какой-то обработчик импорта/экспорта для вариантов характеристик, где можно было бы объединять несколько вариантов в один для тех значений, что пришли в базу несанкционированно? Соответственно, после объедения, чтобы у товаров вариант характеристики заменялся на тот, который мы установили. А после импорта товаров нужна статистика, какие новые варианты характеристик были добавлены в базу. Ну примерно так, чтобы держать все под контролем, иначе с характеристиками и их вариантами получается полная чехарда в базе при импорте прайсов поставщиков. Быть может, у вас есть другое лучшее решение?

Пока решения нет, только если учесть возможность расширять модифаер конкретного поля модулем. В таком случае вы сможете легко создавать ту логику которая вам нужна.

Пока решения нет, только если учесть возможность расширять модифаер конкретного поля модулем. В таком случае вы сможете легко создавать ту логику которая вам нужна.

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

1. По крону, да будет возможность

2. Про ссылку не обсуждали. Т.е. вопрос в том чтобы руками ничего не делать а раз в сутки подгружать автоматом.

Можно рассмотреть такой вариант. Меня он смущает потому что ошибки сложно отслеживать в таком случае.

Какой формат вас интересует по ссылке, XML или CSV?

Здравствуйте, подскажите, пожалуйста - когда планируется внедрение импорта csv по cron ?

Макеты:

1. Список сохраненных импортов attachicon.gifImportProductsPresets.jpg

2. Сопоставление полей из импортируемого файла со свойствами товара attachicon.gifProductImportFields.jpg

Здесь важно обратить внимание на следующее:

1. Под каждым полем которое выбрали отображается значение первого элемента в имопртируемом файле

2. Есть специальная колонка модификтор, если значение в ней не пустой то перед импортом значение будет прогонять через спецаильную формулу. Как пример добавить наценку на товар, или изменить артикул продукта.

3. Если есть модификатор, то показываются оригинальное значение и обновленное

4. Характеристики каждая в отдельной колонке

В 4.7.1 новый импорт, который представлен на скриншотах, не вошел? Будет в следующих версиях? Когда ожидается релиз?

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

Да, видимо не правильно понял.

Давайте начнем с пояснения проблемы, и потом перейдем к возможным вариантам решения.

Вы пишите что вам при экспорте надо объединить несколько вариантов характеристик в один? Я если честно запутался, точно ли вам это нужно и зачем.


Здравствуйте, подскажите, пожалуйста - когда планируется внедрение импорта csv по cron ?

В 4.7.1 новый импорт, который представлен на скриншотах, не вошел? Будет в следующих версиях? Когда ожидается релиз?

Новый импорт предварительно планируется в 4.8.1. Сроков у 4.8.1 нет, предварительно это весна.

Ещё думаю было бы полезно две настройки.

  1. Перезапись или нет данных в базе. Причем если 0 то у товара характеристика или значение удаляется.
  2. Мне, например, удобно вести базу с историей товаров. Можно добавить поле Update, если Y то товар обновляется, если N то импорт пропускает эту строчку.

Ещё думаю было бы полезно две настройки.
1. Перезапись или нет данных в базе. Причем если 0 то у товара характеристика или значение удаляется.
2. Мне, например, удобно вести базу с историей товаров. Можно добавить поле Update, если Y то товар обновляется, если N то импорт пропускает эту строчку.

Не очень понял про историю товаров. Причем здесь поле, обновлять или нет?

И зачем оно вам нужно? почему какие то товары вы не хотите обновлять?

Не очень понял про историю товаров. Причем здесь поле, обновлять или нет?
И зачем оно вам нужно? почему какие то товары вы не хотите обновлять?

Например, у поставщика одного бренда 1000 SKU, ежегодно обновляется примерно 1/3. Акции могут проходить на 150 SKU одновременно.
Ведётся один файл, где может быть до 1500 SKU. Он подготовлен специально для импорта. Нужно поменять 150 SKU. Если я загружу весь файл, то система будет обновлять все 1500 позиций (даже если нет изменений), а нужно только 150. Время и нагрузка на сервер разная, при обновлении 1500 или 150. А если таких поставщиков 5 или 10?