Quad.Wiki

Пример загрузки каталога товаров из прайса CSV/Excel

 

Для примера будет рассмотрен такой прайс:

 

В нем есть группы, ссылки на фото, характеристики товаров, а так же модификации товаров.

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

1. Создать пользовательские поля

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

В примере нужны будут следующие пользовательские поля:

ID сайт - поле, тип Строка, для загрузки ИД товара с сайта (такое поле обычно уже создано в программе)

ID родителя - поле, тип Строка, для загрузки ИД родительского товара для модификаций.

Фото BIG - поле, тип Текст, для загрузки ссылок на фотографии товаров (такое поле обычно уже создано в программе)

Цвет - поле, тип Строка, для загрузки атрибута модификации. У вас может быть несколько таких характеристик, которые выводятся в качестве модификации в карточке товара (например, Цвет, Размер, Материал).

Характеристики (свои) - поле, тип Текст, для загрузки характеристик товара из файла.

Перед тем как добавлять поле, проверьте, что такого поля еще нет в базе. Не нужно создавать дубли полей.

 

После перезапуска программы (если вы добавляли пользовательские поля) нужно добавить новую настройку прайса, тип прайс указывается Основной (в этом случае товар загрузится во вкладку Продукция)

При добавлении выберите файл вашего прайса.

2. Настройки для загрузки группы

Группы в прайсе указаны в виде полного пути, с разделителем.

Мебель для офиса>Мебель для персонала>Rio project>Столы

Для загрузки нужно будет использовать макрос из этой инструкции, раздел “Группа в одной ячейке в виде полного пути, с разделителем”.

Настройки макроса такие:

CLMS_LIST = Array(4) - группа только в четвертой колонке, складывать из нескольких колонок не нужно

CHR_DELIMITER = ">" - разделитель между группами знак “>”

CLM_GROUP_IDX = 4 - номер колонки, в которой группа

CLM_GROUP_L = "D" - та же колонка, где группа, только буквой

CLM_GROUP_LEVEL = 9 - колонка, в которую макрос запишет уровень группировки. В данном примере используется колонка 9, хоть в ней и есть текст в прайсе, но он мне не нужен, текст очистится и в колонку запишется уровень группы.

 

CLM_PRICE = 8 - колонка, в которой цена товара. По наличию цены программа определяет, где находится в прайсе товар, а где Группа. В строчках с группой не должно быть цены. И так как в прайсе и у некоторых товаров нет цены, то нужно в настройках колонки еще установить значение по умолчанию.

Значение “0|1” означает, что в эту колонку запишется “0” (текст до вертикальной черты) в случае, если в этой колонке пусто и, при этом, есть значение в первой колонке (1 после вертикальной черты).

В настройках загрузки групп “Загружать по наименованию” и птички “Группа в отдельной строке” и “Дерево”.

После того, как отработает макрос, прайс примет следующий вид:

Группы перенесутся в отдельную строку и добавится уровень групп.

В настройках добавляются колонки “Название группы”, “Название вышестоящей группы” и “Код вышестоящей группы” (колонка CLM_GROUP_LEVEL)

 

3. Настройки полей

В поле Код записывается колонка SKU из прайса. В поле код должен быть обязательно какой-то уникальный код или ИД товара, заполненный для всех товаров. По нему будет загрузка товаров в программу. Это же поле выбирается и в “5. Сравнение при загрузке”.

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

В поле Модель записывается “Артикул производителя”

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

Колонки Название товара, ИД товара и ИД родителя.

Колонки Бренд и Гарантия в файле выведены в свойствах - их нужно загружать как стандартные поля, а когда загрузятся свойства, то в них выключить эти свойства.

 

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

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

 

Колонки в которые загружаются атрибуты модификаций.

4. Фото

В прайсе фото указаны в виде неполных путей с разделителем | (вертикальная черта).

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

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

Настройки для моего файла такие:

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

Чтобы фото загружались из основного прайса, нужно во вкладке “Импорт выбранных прайсов” установить приоритет для загрузки фото (колонка Из. пр.)

У любого прайса с типом Основной.

Чем выше приоритет, тем первее загружаются фото из этого прайса. Если фото загрузились из одного прайса, то из других не загружаются, даже если у прайса с высоким приоритетом 1 фото, а в других больше.

5. Характеристики

Характеристики в файле выгружены в отдельных колонках начиная с колонки “N” (номер 14). Характеристику “Товар Бренд” пропускаем, так как она загружена в стандартное поле.

Указываем в настройках, с какой колонки загружать характеристики и в какое поле. Птичка “QN” ставится во всех случаях.

 

В названии всех характеристик присутствует слово “Товар”, которое не нужно. Его убрать можно с помощью макроса.

Rows("1:1").Select Selection.Replace What:="Товар ", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2

Макрос вставляется после предыдущих макросов.

Rows("1:1").Select - выделяем первую строку

What:="Товар " - что заменяем

Replacement:="" - на что заменяем

 

6. Обработка информации

После настройки прайса делаем его импорт. Проверяем во вкладке Продукция, что все загрузилось правильно

Есть бренды, группы, в фото загружены правильные ссылки с разделителем, в характеристиках правильная таблица (можно кликнуть 2 раза на поле, чтобы открылся редактор HTML).

Характеристики загружаются в виде таблицы HTML. Чтобы из них сформировались отдельные характеристики, нужно создать новый набор характеристик.

Настройки набора, например, такие:

 

С такими настройками характеристики сформируются такие, как есть в таблице HTML, без преобразования в Число или Да/Нет, разбивки на несколько характеристик и других изменений.

Чтобы характеристики сформировались, у групп нужно проставить Тип товара и заполнить его.

Можно настоить для всех групп автоматическую установку базового типа “Товары”. Для этого нужно добавить отдельную группу действий Quad.Magic для обработки характеристик.