Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

Warning

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

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

...

Table of Contents

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

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

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

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

...

Code Block
g:\PropertyToFTPgg.bat
https://site.ru/quad/update_propery123.php  
P|code|price|null2|null|1|15|RUB
N|code|f_407kvcl3c|null|null|DELIVERY71|15|null
S|code|f_4083ul6fk|null|null|248|15|null|DELIVERY_DAYS
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 )

Expand
titleПример BAT-файла
Code Block
@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\

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

...

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

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 нужно указать число - количество знаков после запятой в выгружаемой цене. Округляется цена математически.

Note

поле 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|null2|null|1|15|RUB

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

...

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

N|code|f_407kvcl3c|null|null|DELIVERY71|15|null

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

...

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

...

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

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

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

...

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

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

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

Q|code|8|nullis_exists|null|null|15|null

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

...

в примере:

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

...

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

...

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

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

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

Note

Если вы хотите использовать значения наличия не в качестве количества товара, а в качестве значений каких-то свойств, то тип поля нужно указывать 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.

...