Quad.Wiki

Импорт YML

Загрузка товаров из файла YML

Импорт настраивается через задание Quad.Magic, тип задания в группе Импорт, Импорт YML.


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

Настройка 2 - выбирается настройка прайса, в которую будет загружен файл (ее нужно предварительно добавить во вкладке Прайсы/внизу 3. Настройка прайсов). Если в этой настройке ничего не указано, то файл загружается в Основной прайс (вкладка Продукция).

Настройка 3 - указываются настройки загрузки файла.

Вкладка "Импорт"


Записать ID в поле - указывается поле, в которое будет записано offer id из прайса. Это же поле будет использоваться для определения уникальности товара, т.е. по нему будет загрузка прайса. Если id в прайсе содержит текст, а не число, то и поле нужно выбирать с типом "Строка"

 

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

в примере выше в ид товара запишется 10418_4

 

Ссылка на фото - поле, в которое записываются все ссылки на фото из тегов <picture>, если такие есть в файле YML. Разделитель между ссылками - точка с запятой.



Модель - выбирается какие поля из файла будут записаны в модель товара

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

Префикс в названии - если установлена птичка, то в начало названия товара будет добавляться префикс из тега typePrefix

Загружать производителей - если птичка установлена, то будет загружен бренд из тега vendor

Загружать категории - при установленной птичке из файла YML загружаются группы товаров из тега categories

 

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

 

Загружать характеристики в поле - выбирается поле, в которое, при установленной птичке, будут загружены параметры из файла YML в виде текстовой таблицы. Если установить дополнительно птичку "В виде описания Quad.Net", то характеристики загрузятся в необходимом для программы формате, чтобы она могла при помощи QuadSite сформировать отдельные характеристики для фильтров.

 

Загружать описание в поле - выбирается поле, в которое загружается информация из тега description файла YML, при установленной птичке.

Конвертировать валюту - указываются коды валют, из какой и в какую будут конвертированы цены этого прайса, при этом будет взят соответствующий курс из файла YML из тега currencies. Например, если в файле цены в рублях, а нужно их по курсу прайса конвертировать в доллары, то нужно написать из валюты RUR в валюту USD, если валюты указаны как на скриншете ниже. Цены в рублях будут умножены на 64.5

Иногда нужно наоборот, разделить на указанный в файле курс, в этом случае выбирается "разделить"


Проверить по названию, если не нашло по ID - при установленной птичке при загрузке прайса YML программа сначала ищет нет ли в базе товара по offer id и если нет - проверяет дополнительно по названию товара. Если рядом с птичкой указать код какого-нибудь поля, то дополнительная проверка будет брать название товара из файла и искать соответствие в значении этого поля (это можно использовать когда названия товаров из файла YML вы храните в каком-то другом поле).


Нет в наличии, если available = false - если стоит эта птичка, товары у которых в файле указано в параметре available значение false будут загружаться как Нет в наличии. По умолчанию для формата YML (если не установлена птичка) товары такие будут загружены со статусом "Под заказ". Если тег available=”” , т.е. пусто, то товар будет загружен как Нет в наличии.

Если true , то товар будет В наличии.

 

' вместо " - бывает в файле YML вместо кавычек используют апостроф - в этом случае нужно поставить эту птичку

 

group_id (Deal, Prom) - можно выбрать поле, в которое загрузится параметр group_id из файла YML, с помощью которого связываются модификации товаров. Это поле можно будет использовать для обратной выгрузки в файл.


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

Вкладка Импорт (дополнительно)

 

Тег 1 (одного) параметра - здесь можно указать тег через который в файле добавлены характеристики товара, если он отличается от стандартного для YML тега param.

В примере выше настроен тег начинающийся с большой буквы (в этом случае так же нужно менять эту настройку)

 

Добавить ед. изм. в название характеристики - если птичка установлена, то в название характеристики будет добавлена единица измерения, если она указана в файле и не указана в названии в виде “(ед. изм.)” или “,ед. изм.” - т.е. в скобках или после запятой.

 

Дополнительно импортировать

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

Для загрузки информации из тегов со скриншета выше используется следующее правило:

FLD|barcode|f_3uffduguk

FLD - означает, что загружать нужно тег

barcode - название тега

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

Коды стандартных полей можно посмотреть здесь в п.4: Полезные SQL-запросы

 

Если загружать информацию  из тега нужно в числовое поле, то нужно указать в конце еще дополнительно |1 , т.е. все вместе будет так: FLD|barcode|f_3uffduguk|1

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

 

Чтобы загрузить параметр (начинается с тега param) из файла, нужно указать такое значение, пример PRM|Цвет|F_3S0K6P1GE

 

PRM - означает, что загружать нужно параметр

Цвет - название параметра

F_3S0K6P1GE - поле в программе, в которое загружается информация из параметра


Каждое правило указывается с новой строки.

Пример заполнения вкладки:

Если из прайса нужно загрузить Рекомендованную цену (РРЦ), то настройка будет такой:

FLD|price_rrc|fixed_price|1

где price_rrc - тег в прайсе, в котором находится РРЦ.

Бывает поставщик дополняет формат YML какими-то своими дополнительными полями в каком-то произвольном виде, которые нельзя загрузить ни как тег, ни как параметр - в этом случае можно "вырезать" нужный текст из файла с помощью указания текста, который находится слева и справа от нужного значения. Для этого используется тег ANY. Например, поставщик в файле выводит 2 цены, оптовую и розничную в таком виде:

 

Цену рекомендованную мы можем получить если вырежем текст, который находится между "RRP" currencyId="KZT"> и </price>


Правило можно записать так:

ANY|[QT]RRP[QT] currencyId=[QT]KZT[QT]>|</price>|fixed_price|

кавычки в правилах заменяются на [QT]

fixed_price - код поля Рекомендованная цена (МРЦ)

 

Пример получившихся правил:



Сохранение остатков (количества товара)

Формат YML не предусматривает какого-то стандартного тега, в котором бы передавались реальные остатки товара, но поставщики могут их добавлять в виде произвольного тега или же параметра. В этом случае, остатки загружаются через PRM или FLD.

Если передается текстовый остаток, то загружается он в поле exists_text. Если передается числовой остаток, то загружается в поле stock.

Пример настроек

В файле поставщика это выглядит так:

Т.е. поставщик указывает значение текстовое “>100”

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

 

После настройки импорт товаров из файла осуществляется этим действием Quad.Magic. Во вкладке Загрузка прайсов ничего делать не нужно, там загружаются только прайсы через Excel.

 

Импорт XML

Для импорта файла XML, который не соответствует формату YML, вам нужно при его получении сохранять с расширением XLS и пробовать открыть в Excel. В большинстве случаев прайс открывается корректно и его можно загрузить как обычный Excel. Если файл открывается "криво" или не открывается в экселе, то можно попробовать сделать Импорт XML в новых версиях Excel (2016 с последними обновлениями или 2019) и записать во время импорта макрос. Если открыть в экселе не получается и с помощью макроса, нужно разрабатывать специальный скрипт, который преобразует ваш файл XML в табличный вид. Скрипт разрабатывается за дополнительную оплату, либо можете сделать его сами, инструкция:

Импорт XML через Excel