Комментарии 26
Хорошая штука с учетом бесплатности. А наличие по прайсу поставщика она никак не учитывает?
Вопрос:
У меня интернет магазин. Продаю скажем телевизоры. Имею около 10 поставщиков. Они каждый день высылают мне прайсы обновлённые. в XML формате. Но все их прайсы разных форматов. Так же как и гдето есть номенклатура, где-то нету. Где-то названия схожи, где-то нет («Телевизор самсунг LH2 чёрный», samsung lh2 black", «samsung black-lh2 », и так далее)
Как будет у меня на сайте? Будут заведены под каждое название отдельные карточки, даже с учётом того что товар один? Или же всё таки всё приводится к какому-то единому виду и карточка одна?
У меня интернет магазин. Продаю скажем телевизоры. Имею около 10 поставщиков. Они каждый день высылают мне прайсы обновлённые. в XML формате. Но все их прайсы разных форматов. Так же как и гдето есть номенклатура, где-то нету. Где-то названия схожи, где-то нет («Телевизор самсунг LH2 чёрный», samsung lh2 black", «samsung black-lh2 », и так далее)
Как будет у меня на сайте? Будут заведены под каждое название отдельные карточки, даже с учётом того что товар один? Или же всё таки всё приводится к какому-то единому виду и карточка одна?
XML формат не поддерживается, только xls, csv, txt. Но можно из него сделать XLS, пересохранив в Excel. Вы сами выбираете какие поля в этих прайсах за что отвечают. Под каждого поставщика можно сохранить свою конфигурацию (Обработка для 1С). Синхронизация идет по параметру артикула, он у одинаковых товаров по стандарту совпадает. То есть, отвечая на ваш вопрос, можно сказать, что карточка будет одна, правда, я не знаю на каком ПО построен ваш магазин, но если это было бы на нашем ПО, то однозначно, одна карточка. Если будет большая надобность обработки нативного XML у пользователей, то реализуем поддержку и этого формата — мы всегда открыты для диалогов с пользователями и прислушиваемся к их пожеланиям, даже для бесплатных проектов.
А если нету артикула в прайсе поставщика?
Просто мне лично такое приходилось видеть не раз. Особенно когда начинаешь работать с большим кол-вом поставщиков. И сравнивать уже приходится по названиям товаров. А там бывают и слова паразиты. И просто разные варианты написания, в плоть до названий брендов по русский". :)
Просто мне лично такое приходилось видеть не раз. Особенно когда начинаешь работать с большим кол-вом поставщиков. И сравнивать уже приходится по названиям товаров. А там бывают и слова паразиты. И просто разные варианты написания, в плоть до названий брендов по русский". :)
Никак тогда, я думаю, это патовая ситуация и нужно искать звонкий бубен к ней :)
У нас сейчас 67 поставщиков(прайсов). Прайсы которых подвязаны к магазину. Очень много пересечений по товарной сетке у разных поставщиков. Автоматом берём товары из тех поставщиков, у кого на момент покупки клиентом, цены дешевле. Артикул есть примерно у 30% прайсов. Остальные шлют группа/название/цена. Пришлось писать обработчик, вешать на крон и делать сравнение названий. А потом оперировать уже тем что проверил и сопоставил робот. :)
Проблема в том, что как продавцам, нам выгодно иметь много поставщиков, даже на одну группу товаров. И заказывать у тех товар, у кого быстрее и дешевле. А обязать всех поставщиков, которые поставляют свои товары по уже сформированным ими прайсам. Сотням таких магазинов как мы. Проблематично. Радует, что хоть в цифре дают, а не «факсом». =)
Единственное что делаем. Это перегоняем их сначала в CSV с двумя полями «название», «цена». Потом уже обрабатываем на поиск сравнений названий в прайсе и тому что заведено на сайт.
Проблема в том, что как продавцам, нам выгодно иметь много поставщиков, даже на одну группу товаров. И заказывать у тех товар, у кого быстрее и дешевле. А обязать всех поставщиков, которые поставляют свои товары по уже сформированным ими прайсам. Сотням таких магазинов как мы. Проблематично. Радует, что хоть в цифре дают, а не «факсом». =)
Единственное что делаем. Это перегоняем их сначала в CSV с двумя полями «название», «цена». Потом уже обрабатываем на поиск сравнений названий в прайсе и тому что заведено на сайт.
Помогает Левенштейн :)
Не помогает.
Например, позиция на сайте называется «Мобильный телефон Galaxy S».
В прайсе поставщика в наличии этой модели нет (обычно не выгружают те модели, у которых остаток 0, даже если их временно нет на складе), но есть «Galaxy S2». Левинштейн не подскажет, что в прайсе поставщика той модели нет в наличии, и подскажет эту неправильную модель с минимальным расстоянием 1.
Или на сайте может быть написано «Galaxy S II», в прайсе есть модели «Galaxy S» и «Galaxy S2». Левинштейн выберет неправильный «Galaxy S», а не «Galaxy S2». А ещё у разных поставщиков одна и та же модель может иметь разный артикул и разное название.
Так что без ручного анализа тут не получится доверять роботу на 100%.
Например, позиция на сайте называется «Мобильный телефон Galaxy S».
В прайсе поставщика в наличии этой модели нет (обычно не выгружают те модели, у которых остаток 0, даже если их временно нет на складе), но есть «Galaxy S2». Левинштейн не подскажет, что в прайсе поставщика той модели нет в наличии, и подскажет эту неправильную модель с минимальным расстоянием 1.
Или на сайте может быть написано «Galaxy S II», в прайсе есть модели «Galaxy S» и «Galaxy S2». Левинштейн выберет неправильный «Galaxy S», а не «Galaxy S2». А ещё у разных поставщиков одна и та же модель может иметь разный артикул и разное название.
Так что без ручного анализа тут не получится доверять роботу на 100%.
Вы нашли свой бубен, молодцы. Интересно, а чем руководствуются поставщики, убирая артикулы, сами то они как в этой каше разбираются?
Ну тут подход разный. Вы стараетесь делать движок для кучи магазинов. Который максимально универсален был бы. И упускаете такие вещи, которые считаете не существенными для вас. Да и большинство (серая масса) магазинов, ограничивается 1-2 прайсами которые меняют раз в пол года. У нас же под конкретный магазин, большеватенький, приходится писать всё. Под особенности и специфику. И вариант «у поставщика прайс кривой, в топку поставщика» не подходит. =)
У нас есть решение, правда пока мы обкатываем на одной рыночной нише, но с 2013 планируем выходить на все рынки, независимо от направления. У нас свои алгоритмы сравнения наименований, полуавтоматические на данный момент, но их тоже дорабатываем.
Ну и у нас SaaS, а не десктопный продукт.
Ну и у нас SaaS, а не десктопный продукт.
А какой изначально формат данных от поставщика таким образом можно перегнать?
Допустим стандартно это идет в экселе по строкам
— Название категории
— артикул| название|цена
1С сможет переваривать такое и на выходе давать как у вас на скришотах, что ID категории получается в одной строке с товаром?
Допустим стандартно это идет в экселе по строкам
— Название категории
— артикул| название|цена
1С сможет переваривать такое и на выходе давать как у вас на скришотах, что ID категории получается в одной строке с товаром?
Формат поддерживается xls, csv, txt. Да, можно указать либо принудительно в какую группу писать или указать колонку, по которой будет поиск родителя по коду.
Я имею ввиду такие прайсы как на аттаче. Просто логику пытаюсь понять и можно ли их будет так импортировать без танцев.
Вот пример прайса. В принципе, все равно какой он, главное чтобы можно было определить поля и столбцы, по которым будет вестись выборка. Там указывается номер листа, начало и конец строк, из которых выцеплять данные (не обрабатывать шапки и реквизиты).
у прайсов могут «плавать» кол-ва товаров. Обычно каждый день обновлять приходится. Кому-то даём доступ к ФТП сервера 1с. Где они складируют в особую папку свои прайсы. Кто-то шлёт по почте отделу закупа, те скидывают прайсы в эту же папку.
Когда 2-5 прайсов. Ещё можно руками вносить прайсы которые (по одному поставщику) не меняются структурно(навзание полей, кол-во полей, шапка, название файла). Только кол-во товаров. А когда много? Автоматизируется ли процесс? Просто пугает ваше:
:)
Когда 2-5 прайсов. Ещё можно руками вносить прайсы которые (по одному поставщику) не меняются структурно(навзание полей, кол-во полей, шапка, название файла). Только кол-во товаров. А когда много? Автоматизируется ли процесс? Просто пугает ваше:
Там указывается номер листа, начало и конец строк, из которых выцеплять данные (не обрабатывать шапки и реквизиты).
:)
У вас уникальный случай, согласен, что обычные обработчики вам не подходят и писать нужно что-то свое. Мы перед созданием своего обработчика получили много вопросов от своих пользователей как загружать прайсы поставщиков и наполнять магазин товарами на основе готовых прайсов и изображений к нему. Проанализировав рынок подобных программ в диапазоне 150$, мы собрали необходимый функционал в своем обработчике и так же учли вариацию с отсутствием у клиента 1с и создали специально exe обработчик, котором не нужен 1С, но который создает готовые sql файлы для нашего ПО-магазина. Из систем автоматизации есть сохранение параметров под разными именами, я об этом написал ниже в комментарии.
А если под одного поставщика уже настроены условия грабинга/конвертации. Потом можно, чтобы автоматически брались файлы и обрабатывались? Скажем изменяется только цена товаров. Или каждый раз по новой руками вносить/настраивать всё надо?
Из-за расколбаса с долларом. Порой бывает что обновлять много прайсов приходится в день раза по 2-3. Уже были случаи когда скажем телефон, утром стоит 8 700. А днём уже 9 000. А с небольшой нашей наценкой, мы в итоге уходим в минус, чтобы дать клиенту заказанный им телефон за 8 700 днём, когда сами его купим у поставщика за 9 000 вечером. =)
Из-за расколбаса с долларом. Порой бывает что обновлять много прайсов приходится в день раза по 2-3. Уже были случаи когда скажем телефон, утром стоит 8 700. А днём уже 9 000. А с небольшой нашей наценкой, мы в итоге уходим в минус, чтобы дать клиенту заказанный им телефон за 8 700 днём, когда сами его купим у поставщика за 9 000 вечером. =)
Файлы сами не возьмутся, нужно выбрать заранее заполненную конфигурацию, которая в прошлый раз заполнялась и нажать кнопку применить. Если формат прайса меняется, то нужно заново его настроить. если нужна авторизация, то можно прикрутить запуск из консоли, например так priceloader.exe -defconf, где defconf — имя нужной конфигурации и повесить его на cron. Если, конечно, пользователям это будет нужно.
В указанном примере разбитие на категории каким образом просходит? Вот конкретно этот момент пытаюсь выяснить =)
По вашему прайсу по имени категории нельзя будет ее инициализировать. Если вам нужно создать категорию и загрузить в нее товары, то нужно будет создать ее ручками в 1С, в обработчике загрузки файлов указать, что обрабатывать нужно строки с 4 по 15 и выбрать в качестве родителя созданную до этого категорию. Первое поле это артикул, второе имя товара, четвертым будет цена. Если в дальнейшем потребуется обновить цены и склад, то шаг с категорией опускается. Все эти манипуляции можно привязать к базе конфигурации по работе с прайсами и в следующий раз только выбрать ее из списка без ручного указания полей.
Очень интересное и перспективное решение, но возникло сразу несколько практических вопросов:
1) По скриншотам не понятно как можно работать с многостраничным прайсом. Особенно если разные вкладки используют для разбивки по брендам. Есть возможность обработать целиком подобный прайс?
2) Можно ли как-то модифицировать импортируемые данные? Допустим сделать пересчет стоимости из одной валюты в другую, округлить, соединить два поля, вырезать только нужную часть текста в поле и т.д.?
3) можно ли автоматически выбирать из прайса данные, выделяющиеся по оформлению? Например в прайсе можно увидеть:
Производитель
— товар 1
— товар 2
— товар 3
И хочется автоматически присваивать производителя.
1) По скриншотам не понятно как можно работать с многостраничным прайсом. Особенно если разные вкладки используют для разбивки по брендам. Есть возможность обработать целиком подобный прайс?
2) Можно ли как-то модифицировать импортируемые данные? Допустим сделать пересчет стоимости из одной валюты в другую, округлить, соединить два поля, вырезать только нужную часть текста в поле и т.д.?
3) можно ли автоматически выбирать из прайса данные, выделяющиеся по оформлению? Например в прайсе можно увидеть:
Производитель
— товар 1
— товар 2
— товар 3
И хочется автоматически присваивать производителя.
«При регистрации цен поставщиков можно указать соответствие между названием товара (наименованием, артикулом), как он зарегистрирован у партнера и названием товара в нашей информационной базе.»
Вот это пожайлуста поподробнее со сриншотами.
Вот это пожайлуста поподробнее со сриншотами.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Загрузка прайс-листов поставщиков в интернет-магазин