Quad.Wiki

Экспорт полей/характеристик

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

Обязательно сделайте бекап базы данных сайта или целиком сайта, перед тем как запускать задание с измененными настройками!

Для выгрузки добавьте задание Quad.Magic “Экспорт полей/характеристик”

 

Настройка задания

Настройка 1 - укажите файл, в который будет выгружаться информация. Файл с расширением CSV. Файл желательно выгружать в отдельную папку, например Quad Soultions\files\4_ out\params, чтобы при вызове скрипта отправки на хостинг загружался только 1 этот файл из папки.

Настройка 3 - SQL фильтр товаров, которые будут выгружаться. Остается пустым, если выгружаются все товары.

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

Настройки указываются следующего вида:

g:\PropertyToFTPgg.bat https://site.ru/quad/update_propery123.php P|code|price|2|null|1|15|RUB N|code|f_407kvcl3c|null|null|71|15|null S|code|f_4083ul6fk|null|null|248|15|null Q|code|8|is_exists|null|null|15|null DS|code|minmax|0|45|260|15|null

первая строка - путь к BAT файлу, который отправляет файл выгрузки на FTP (синхронизирует папку с обновлением, например Quad Soultions\files\4_ out\params )

@echo off set LOG_PATH=g:\2\ "C:\Program Files (x86)\WinSCP\WinSCP.com" ^ /log="%LOG_PATH%WinSCP.log" /ini=nul ^ /command ^ "open ftp://user:password@server" ^ "synchronize remote ""g:\Quad Soultions\files\4_ out\params"" ""/www/site.ru/quad/""" ^ "close" ^ "exit" set WINSCP_RESULT=%ERRORLEVEL% if %WINSCP_RESULT% equ 0 ( echo Success ) else ( echo Error ) exit /b %WINSCP_RESULT% 5

BAT-файл должен быть в папке Quad Solutions\files\winscp\

 

вторая строка - ссылка на скрипт, который загружает обновление

третья и остальные строки - выгружаемые поля, которые задаются по следующему шаблону (теги, разделенные вертикальной чертой):

тип|поле сравнения|поле 1|поле 2|поле 3|фикс. 1|фикс. 2|..|фикс. N

тип - тип выгружаемого значения:

P - цена

Q - остаток (выгружается на сайт как количество товара), QS - остаток в виде текстового свойства, QN - остаток в виде числового свойства

N - число

S - строка

M - свойство типа справочник/список

DS - сроки доставки в виде текстового свойства, DN - сроки доставки в виде числового свойства.

при использовании типа Q в это значение должно выгружаться 0, если товара нет в наличии или любое число (остаток), если товар в наличии

 

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

 

поле 1 - 3 - значения, которые будут выгружаться на сайт, может быть от одного до трех значений. Здесь указывается название поля из БД, которое будет выгружаться в эту колонку. Если нужно только 1 или 2 значения, то в оставшихся нужно указать “null”.

Если нужно выгрузить название бренда, то поле нужно указывать manuf

code - код, article - модель, price - основная цена, код пользовательского поля можно посмотреть здесь:

 

В поле 1 можно выгрузить значение характеристики товара, а не просто поле, для этого туда нужно записать код prop123, где 123 - ид характеристики товара, указанное после тега prop.

ИД характеристики товара можно посмотреть здесь:

в колонке piid

 

Если тип поля “Q”, “QS” или “QN”, а в Поле1 указано просто число, то программа считает, что нужно выгрузить текст наличия под соответствующим номером из этой таблицы в конфигурации.

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

 

Если тип поля “P”, то в Поле 2 нужно указать число - количество знаков после запятой в выгружаемой цене. Округляется цена математически.

 

поле 3 обычно не используется, в него можно выгружать поле id - чтобы в файле можно было определить, к какому товару относится значение в строке по QID, т.е. например так:

P|code|price|2|id|1|15|RUB

 

фикс. значение 1 - N - в конце можно указать любое количество фиксированных значений. Фиксированное, это значит, что в файл выгрузится тот текст, который вы здесь напишете. Здесь может быть, например, код свойства товара на сайте, ид поля цены на сайте, валюта, код инфоблока и любые другие значения, которые понадобятся для обновления сайта. Важно! чтобы во всех строках было одинаковое количество фиксированных значений. Если, например, для поля цены вы выгружаете 3 фикс., а для простого свойства 2, то остальные заполняйте словом “null”

 

Фиксированные значения можно передавать и в качестве параметра ссылки, для этого перед значением нужно добавить слово URL (большими буквами), например

N|code|f_407kvcl3c|null|null|URL 71|URL 15|URL new

в этом случае скрипт обновления будет вызван в виде:

https://site.ru/quad/update_propery.php?field4=71&field5=15&field6=new

т.е. будут добавлены параметры начиная с field4

 

В конце каждой строки можно добавлять комментарий, для этого добавьте 2 косые черты “//” и после них в строке можно написать любой текст (обычно указывают информацию о свойстве, которое заполняется в этой строке)

 

Сроки доставки

Если тип поля “DN” или “DS”, то строка настроек заполняется следующим образом:

В Поле1 указывается одно из следующих значений:

min - выгружается минимальный срок доставки (Срок ОТ)

max - выгружается максимальный срок доставки (Срок ДО)

minmax - выгружается значение вида “min-max”, т.е. минимальный и максимальный срок через тире или только минимальный срок, если максимальный не задан (например 3-5).

date - выгружается дата минимального срока доставки

В Поле2 указывается ИД поля цены (0 для основной цены или же ИД дополнительного поля цены)

 

В Поле3 указывается ИД региона (посмотреть можно в списке Регионов)

 

Пример строки:

DS|code|minmax|0|45|248|15|null

так выгрузится в виде текстового свойства минимальный и максимальный срок доставки для основной цены и региона с ид = 45

Вариант заполнения фиксированных значений для Bitrix

поле сравнения - должно выгружаться поле, в котором храниться XML_ID (Внешний код) товара.

Поле цены

P|code|price|2|null|1|15|RUB

первое значение - ИД поля цены с сайта (в примере оно равно 1), посмотреть его можно на сайте в разделе Магазин/Настройки/Цены/Типы цен

второе значение - ИД инфоблока товаров (в примере 15), посмотреть можно в админке в разделе Контент/Инфоблоки/Типы инфоблоков, если нужно для всех инфоблоков, то 0

третье значение - код валюты, в моем примере это RUB, посмотреть можно здесь: Настройки/Валюты/Список валют

 

Поле свойства с типом Число или Строка

N|code|f_407kvcl3c|null|null|71|15|null

Первое значение - ИД свойства на сайте (в примере 71)

ИД так же можно посмотреть в админке в карточке товара, кликнув на названии свойства правой кнопкой мыши и в меню выбрав “Просмотреть код”

 

Второе значение - ИД инфоблока для которого будет заполняться свойство, если нужно для всех инфоблоков, то 0

Третье значение - null, чтобы количество значений совпадало с полем цены

Внимание! Если у вас свойства хранятся в отдельной таблице для каждого инфоблока

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

N|code|f_407kvcl3c|null|null|URL 71|URL 15|null

 

Поле количества

Q|code|8|is_exists|null|null|15|null

Это количество, которое выгружается в торговый каталог в поле “Доступное количество”

 

в примере:

8 - код площадки

is_exists - название поля наличия товара, это может быть is_exists (основное наличие) или же код поля наличия дополнительной цены, например exf_3v2vh5rth

Если наличие нужно выгружать из какого-то поля, а не фиксированные значения, в этом случае вместо кода площадки (8) нужно указать код поля, например:

Q|code|stock|null|null|null|15|null

15 - ид инфоблока, если нужно для всех инфоблоков, то 0

Если вы хотите использовать значения наличия не в качестве количества товара, а в качестве значений каких-то свойств, то тип поля нужно указывать QS или QN, вместо Q

Поле типа Список

M|code|f_asd123d|null|null|94|15|null

в примере:

f_asd123d - поле, которое заполнено числовыми айдишниками значений из списка

94 - ИД свойства

 

Внимание! Если у вас свойства хранятся в отдельной таблице для каждого инфоблока

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

M|code|f_asd123d|null|null|URL 94|URL 15|null

 

Пример заполненной информации:

Для свойств с типом “Простой чекбокс (число)” выгружается числовая характеристика (N) со значениями 0 или 1.