PHPShop Software
Компания
17,05
рейтинг
22 августа 2012 в 14:36

Разработка → Загрузка прайс-листов поставщиков в интернет-магазин tutorial

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

Импорт прайс-листов поставщиков в 1С, редакция 10.3


Программа разработана для конфигурации «Управление торговлей, редакция 10.3» платформы «1С: Предприятие 8.2».

Основные возможности программы:
  • работа с прайс-листами в формате xls, csv, txt
  • обновление описания и цен номенклатуры в 1С
  • загрузка цен прайс-листов в различных валютах
  • хранение в системе пользовательских настроек для множества видов прайс-листов

Пример использования программы в 3 действия:


  1. Заполняем настройки для загрузки прайс-листа поставщика, сопоставляем значения колонок входного файла с реквизитами справочников 1С

    image

    image

  2. Выбираем внешний файл, выполняем предварительную обработку данных прайс-листа

    image

  3. Проверяем результат предварительной обработки и загружаем отмеченные значения в информационную базу 1С

    После загрузки данных о товарах в 1С они через утилиту синхронизации с интернет-магазином сразу в автоматическом режиме окажутся в интернет-магазине.

    Импорт прайс-листов поставщиков в 1С, редакция 11

    В состав конфигурации «Управление торговлей, редакция 11» разработчики включили инструмент, позволяющий регистрировать цены поставщиков из любых доступных источников – это документ «Регистрация цен поставщиков» из подсистемы «Маркетинг». В документ вводится информация о ценах партнера (поставщика или конкурента), сроках поставки и объемах минимальной партии товаров, которую можно закупить у поставщика (конкурента). В одном документе можно зарегистрировать информацию о ценах поставщика по различным колонкам прайс-листа (различным условиям поставщиков). При регистрации цен поставщиков можно указать соответствие между названием товара (наименованием, артикулом), как он зарегистрирован у партнера и названием товара в нашей информационной базе. Информация о соответствии названий в прайс-листе партнера и в прайс-листе 1С сохраняется в справочнике «Номенклатура партнеров» и может быть использована при регистрации измененных цен партнера. Для регистрации цен можно вызвать встроенного помощника: для этого в подсистеме «Маркетинг» выбираем на панели навигации в секции «Конкурентная разведка» пункт «Цены контрагентов». При создании нового элемента списка достаточно выбрать способ регистрации цен «Скопировать цены из внешнего источника», чтобы получить возможность импорта данных из внешнего файла.

    image

    Загрузка товаров на сайт PHPShop из внешних файлов


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

    Основные возможности программы:
    • импорт товаров (описания и цен) из файлов в формате XLS,CSV и TXT на сайт PHPShop. В результате обработки входных файлов программа формирует sql-файлы для последующей загрузки на сайт (например, посредством PhpMyAdmin или встроенным в панель управления магазина загрузчиком SQL файлов)
    • выполнение предварительного чтения содержимого внешнего файла для последующего выбора данных для загрузки
    • обработка изображений товаров с возможностью автоматического изменения размеров и наложения водяных знаков
    • сохранение всех пользовательских настроек


    Пример использования программы:


    1. Выполнение настроек путей входных и выходных данных, опций преобразования картинок

      image

      image

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

      image


    Обработчик прайс-листов пополнил список бесплатных утилит для 1С в комплекте EasyControl, на сегодняшний момент так же доступны:
    1. Управление сетью интернет-магазинов в 1С
    2. Удаленное управление сайтом через 1С
    3. Пакетный загрузчик изображений в базу 1С
Автор: @Dennion
PHPShop Software
рейтинг 17,05
Компания прекратила активность на сайте

Комментарии (26)

  • 0
    Хорошая штука с учетом бесплатности. А наличие по прайсу поставщика она никак не учитывает?
    • 0
      Нет, в прайсах поставщиков обычно не указывают склад. Сделаем.
      • 0
        Добавили учет склада.

        image
  • 0
    Вопрос:
    У меня интернет магазин. Продаю скажем телевизоры. Имею около 10 поставщиков. Они каждый день высылают мне прайсы обновлённые. в XML формате. Но все их прайсы разных форматов. Так же как и гдето есть номенклатура, где-то нету. Где-то названия схожи, где-то нет («Телевизор самсунг LH2 чёрный», samsung lh2 black", «samsung black-lh2 », и так далее)
    Как будет у меня на сайте? Будут заведены под каждое название отдельные карточки, даже с учётом того что товар один? Или же всё таки всё приводится к какому-то единому виду и карточка одна?
    • 0
      XML формат не поддерживается, только xls, csv, txt. Но можно из него сделать XLS, пересохранив в Excel. Вы сами выбираете какие поля в этих прайсах за что отвечают. Под каждого поставщика можно сохранить свою конфигурацию (Обработка для 1С). Синхронизация идет по параметру артикула, он у одинаковых товаров по стандарту совпадает. То есть, отвечая на ваш вопрос, можно сказать, что карточка будет одна, правда, я не знаю на каком ПО построен ваш магазин, но если это было бы на нашем ПО, то однозначно, одна карточка. Если будет большая надобность обработки нативного XML у пользователей, то реализуем поддержку и этого формата — мы всегда открыты для диалогов с пользователями и прислушиваемся к их пожеланиям, даже для бесплатных проектов.
      • 0
        А если нету артикула в прайсе поставщика?
        Просто мне лично такое приходилось видеть не раз. Особенно когда начинаешь работать с большим кол-вом поставщиков. И сравнивать уже приходится по названиям товаров. А там бывают и слова паразиты. И просто разные варианты написания, в плоть до названий брендов по русский". :)
        • +1
          Никак тогда, я думаю, это патовая ситуация и нужно искать звонкий бубен к ней :)
          • 0
            У нас сейчас 67 поставщиков(прайсов). Прайсы которых подвязаны к магазину. Очень много пересечений по товарной сетке у разных поставщиков. Автоматом берём товары из тех поставщиков, у кого на момент покупки клиентом, цены дешевле. Артикул есть примерно у 30% прайсов. Остальные шлют группа/название/цена. Пришлось писать обработчик, вешать на крон и делать сравнение названий. А потом оперировать уже тем что проверил и сопоставил робот. :)
            Проблема в том, что как продавцам, нам выгодно иметь много поставщиков, даже на одну группу товаров. И заказывать у тех товар, у кого быстрее и дешевле. А обязать всех поставщиков, которые поставляют свои товары по уже сформированным ими прайсам. Сотням таких магазинов как мы. Проблематично. Радует, что хоть в цифре дают, а не «факсом». =)

            Единственное что делаем. Это перегоняем их сначала в CSV с двумя полями «название», «цена». Потом уже обрабатываем на поиск сравнений названий в прайсе и тому что заведено на сайт.
            • 0
              Помогает Левенштейн :)
              • 0
                Не помогает.
                Например, позиция на сайте называется «Мобильный телефон Galaxy S».
                В прайсе поставщика в наличии этой модели нет (обычно не выгружают те модели, у которых остаток 0, даже если их временно нет на складе), но есть «Galaxy S2». Левинштейн не подскажет, что в прайсе поставщика той модели нет в наличии, и подскажет эту неправильную модель с минимальным расстоянием 1.
                Или на сайте может быть написано «Galaxy S II», в прайсе есть модели «Galaxy S» и «Galaxy S2». Левинштейн выберет неправильный «Galaxy S», а не «Galaxy S2». А ещё у разных поставщиков одна и та же модель может иметь разный артикул и разное название.

                Так что без ручного анализа тут не получится доверять роботу на 100%.
            • 0
              Вы нашли свой бубен, молодцы. Интересно, а чем руководствуются поставщики, убирая артикулы, сами то они как в этой каше разбираются?
              • 0
                Ну тут подход разный. Вы стараетесь делать движок для кучи магазинов. Который максимально универсален был бы. И упускаете такие вещи, которые считаете не существенными для вас. Да и большинство (серая масса) магазинов, ограничивается 1-2 прайсами которые меняют раз в пол года. У нас же под конкретный магазин, большеватенький, приходится писать всё. Под особенности и специфику. И вариант «у поставщика прайс кривой, в топку поставщика» не подходит. =)
        • 0
          У нас есть решение, правда пока мы обкатываем на одной рыночной нише, но с 2013 планируем выходить на все рынки, независимо от направления. У нас свои алгоритмы сравнения наименований, полуавтоматические на данный момент, но их тоже дорабатываем.
          Ну и у нас SaaS, а не десктопный продукт.
  • 0
    А какой изначально формат данных от поставщика таким образом можно перегнать?

    Допустим стандартно это идет в экселе по строкам

    — Название категории
    — артикул| название|цена

    1С сможет переваривать такое и на выходе давать как у вас на скришотах, что ID категории получается в одной строке с товаром?
    • 0
      Формат поддерживается xls, csv, txt. Да, можно указать либо принудительно в какую группу писать или указать колонку, по которой будет поиск родителя по коду.
      • 0
        Я имею ввиду такие прайсы как на аттаче. Просто логику пытаюсь понять и можно ли их будет так импортировать без танцев.

        • 0
          Вот пример прайса. В принципе, все равно какой он, главное чтобы можно было определить поля и столбцы, по которым будет вестись выборка. Там указывается номер листа, начало и конец строк, из которых выцеплять данные (не обрабатывать шапки и реквизиты).
          • 0
            у прайсов могут «плавать» кол-ва товаров. Обычно каждый день обновлять приходится. Кому-то даём доступ к ФТП сервера 1с. Где они складируют в особую папку свои прайсы. Кто-то шлёт по почте отделу закупа, те скидывают прайсы в эту же папку.
            Когда 2-5 прайсов. Ещё можно руками вносить прайсы которые (по одному поставщику) не меняются структурно(навзание полей, кол-во полей, шапка, название файла). Только кол-во товаров. А когда много? Автоматизируется ли процесс? Просто пугает ваше:
            Там указывается номер листа, начало и конец строк, из которых выцеплять данные (не обрабатывать шапки и реквизиты).

            :)
            • 0
              У вас уникальный случай, согласен, что обычные обработчики вам не подходят и писать нужно что-то свое. Мы перед созданием своего обработчика получили много вопросов от своих пользователей как загружать прайсы поставщиков и наполнять магазин товарами на основе готовых прайсов и изображений к нему. Проанализировав рынок подобных программ в диапазоне 150$, мы собрали необходимый функционал в своем обработчике и так же учли вариацию с отсутствием у клиента 1с и создали специально exe обработчик, котором не нужен 1С, но который создает готовые sql файлы для нашего ПО-магазина. Из систем автоматизации есть сохранение параметров под разными именами, я об этом написал ниже в комментарии.
              • 0
                А если под одного поставщика уже настроены условия грабинга/конвертации. Потом можно, чтобы автоматически брались файлы и обрабатывались? Скажем изменяется только цена товаров. Или каждый раз по новой руками вносить/настраивать всё надо?

                Из-за расколбаса с долларом. Порой бывает что обновлять много прайсов приходится в день раза по 2-3. Уже были случаи когда скажем телефон, утром стоит 8 700. А днём уже 9 000. А с небольшой нашей наценкой, мы в итоге уходим в минус, чтобы дать клиенту заказанный им телефон за 8 700 днём, когда сами его купим у поставщика за 9 000 вечером. =)
                • 0
                  Файлы сами не возьмутся, нужно выбрать заранее заполненную конфигурацию, которая в прошлый раз заполнялась и нажать кнопку применить. Если формат прайса меняется, то нужно заново его настроить. если нужна авторизация, то можно прикрутить запуск из консоли, например так priceloader.exe -defconf, где defconf — имя нужной конфигурации и повесить его на cron. Если, конечно, пользователям это будет нужно.
          • 0
            В указанном примере разбитие на категории каким образом просходит? Вот конкретно этот момент пытаюсь выяснить =)
        • 0
          По вашему прайсу по имени категории нельзя будет ее инициализировать. Если вам нужно создать категорию и загрузить в нее товары, то нужно будет создать ее ручками в 1С, в обработчике загрузки файлов указать, что обрабатывать нужно строки с 4 по 15 и выбрать в качестве родителя созданную до этого категорию. Первое поле это артикул, второе имя товара, четвертым будет цена. Если в дальнейшем потребуется обновить цены и склад, то шаг с категорией опускается. Все эти манипуляции можно привязать к базе конфигурации по работе с прайсами и в следующий раз только выбрать ее из списка без ручного указания полей.
  • 0
    Очень интересное и перспективное решение, но возникло сразу несколько практических вопросов:

    1) По скриншотам не понятно как можно работать с многостраничным прайсом. Особенно если разные вкладки используют для разбивки по брендам. Есть возможность обработать целиком подобный прайс?

    2) Можно ли как-то модифицировать импортируемые данные? Допустим сделать пересчет стоимости из одной валюты в другую, округлить, соединить два поля, вырезать только нужную часть текста в поле и т.д.?

    3) можно ли автоматически выбирать из прайса данные, выделяющиеся по оформлению? Например в прайсе можно увидеть:

    Производитель
    — товар 1
    — товар 2
    — товар 3

    И хочется автоматически присваивать производителя.
    • 0
      1. Многостраничные xls-книги придется обрабатывать итерационно, указывая номер листа для импорта
      2. Есть только пересчет в валюты цен 1С
      3. Нет

      Для более сложных обработок лучше использовать специализированные комплексы, вот этот например.
  • 0
    «При регистрации цен поставщиков можно указать соответствие между названием товара (наименованием, артикулом), как он зарегистрирован у партнера и названием товара в нашей информационной базе.»
    Вот это пожайлуста поподробнее со сриншотами.

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

Самое читаемое Разработка