1. Добавить задание Sync.X
Задание с типом “Синхронизация Bitrix”
Задание можно назвать, например, “выгрузка цен и остатков в Bitrix”
Тип запуска установите “Вручную” и уберите птичку “Акт.”, сохраните настройки.
Это задание будет обновлять на сайте цены и остатки.
2. Добавить действие в Quad.Magic
Действие должно запускать задание Sync.X, которое добавили в предыдущем пункте. Действие должно срабатывать после всех действий, которые программа выполняет для обновления цен и остатков. Обычно эти действия настроены в группе Quad.Magic полного обновления + дублируются в отдельной группе, которая выполняется для обновления цен (в этом случае в группу обновления цен нужно будет добавить еще вызов действия, созданного в группе полного обновления).
В Настройка 1 указываю задание, добавленной в п.1 данной инструкции.
В Настройка 2 ничего не указывается, чтобы программа не ждала выполнения этого действия.
Можно добавить это действие после экспортов каких-то файлов обновлений для площадок. Можно его добавить и перед экспортами, если экспорты у вас выполняются долго - выгрузка в Bitrix по API не будет блокировать работу других действий, а будет выполняться в фоне.
Дублирование действия в группе обновления цен и остатков:
Обратите внимание, что в дополнительной группе, которая обновляет только цены и остатки, добавляется действие с типом “Действие QM”, которое ссылается на действие, добавленное в группе полного обновления. Так нужно делать, чтобы не дублировать настройки действий в разных группах.
3. Sync.X вкладка “Выгрузка API”
Далее нужно внести настройки выгрузки в действии Sync.X, которое добавили в п.1
Указываете настройки подключения к API, ключ и папки, которые настраивали по этой инструкции.
Указать ИД шаблона экспорта для выгрузки цен и остатков. Этот шаблон может быть вообще без настроек колонок (добавить новый) или же какой-то старый шаблон, через который выгружались цены и остатки.
Указать ИД инфоблока, в котором находятся товары на сайте
Поставить птичку “Обновлять цены и остатки”
Если на сайте несколько инфоблоков с товарами, то для каждого из них нужно будет настроить отдельное действие Sync для обновления, а так же создать для каждого инфоблока свой шаблон экспорта и отбирать в него товары через автозаполнение
4. Sync.X вкладка “Товары”
Здесь нужно заполнить следующие поля:
Внешний код товара - указать поле программы, в котором находится Внешний код.
Символьный код - указать поле программы, в котором находится Символьный код. Если такого поля у вас нет, то добавить пользовательское поле с типом Строка и указать его здесь (заполнять не нужно).
5. Sync.X вкладка “Цены и остатки”
Обновлять цены и остатки по ID Site - установите эту птичку, если обновлять цены и остатки нужно не по Внешнему коду, а по ИД товара на сайте (по умолчанию обновляется по Внешнему коду и желательно так и оставлять).
Поле с ID сайта - код поля, в котором сохранен ИД товара на сайте, заполняется если стоит первая птичка.
Обновлять Код по ID сайт - если стоит птичка, то на сайте у товаров обновляется Внешний код, выгруженный из программы.
ID главной цены - указывается ИД цены на сайте, в которую выгружать основную цену программы. ИД можно посмотреть в админке сайта на странице Типы цен.
Магазин / Настройки / Цены / Типы цен
Поле главной цены - указывается поле программы или SQL-запрос, с помощью которого получается цена программы. По умолчанию поле price - основная цена программы.
Валюта главной цены - код валюты, который выгружается на сайт, должен соответствовать одному из кодов валют, которые есть на сайте.
ID главного склада - указывается ИД склада на сайте, в который будет выгружаться числовой остаток товаров. Если на сайте нет складов, то здесь можно оставить 1.
Пример заполнения:
Поле полного остатка - код поля или SQL-запрос, с помощью которого на сайт передается числовой остаток товара. Пример запроса:
(case p.is_exists when 2 then 0 else 100 end)
Передается 0, если товара нет в наличии или 100, при другом статусе. 100 можно поменять на любое число. Этот остаток записывается сюда:
Применять скидки - птичка устанавливается, если программа должна выгружать на сайт скидки.
Поле цены без скидки - код поля в программе с ценой без скидки.
Фильтр товаров - здесь указывается SQL-фильтр товаров, для которых выгружается обновление цен и остатков. Если фильтр не указан, то выгружаются все товары.
Если нужно выгружать товары, отобранные через Автозаполнение для какого-нибудь шаблона экспорта, то указывается такой фильтр:
p.do_exp_20 = 1
где вместо 20 нужно указать ИД вашего шаблона экспорта, через который отбирается товар.