Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Note

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

Если у вас уже была настроена выгрузка в Bitrix старым способом и на сайт выгружались “дублирующиеся” для каждого раздела характеристики, то перед новой выгрузкой нужно с сайта удалить все характеристики, которые добавлены программой. Для этого нужно в админке сайта отсортировать характеристики по Символьному коду и удалить все характеристики, у которых он начинается с PRM_

...

Можно отфильтровать по символьному коду

Ввести фильтр PRM_%

Внизу окна поставить птичку “Для всех” и нажать “Удалить”

Expand
titleкак удалить характеристики?

Вы можете удалить их любым способом, которым умеете.

note

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

Note

Если удаление зависает и характеристики не удаляются, то попробуйте удалять их частями, например по 100 штук или обратитесь в техподдержку Bitrix

...

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

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

1. Добавить задание Sync.X

Что такое Sync.X?

Задание с типом “Синхронизация Bitrix”

...

2. Добавить действие в Quad.Magic

Что такое Quad.Magic?

Действие должно запускать задание Sync.X, которое добавили в предыдущем пункте. Действие должно срабатывать после всех действий, которые программа выполняет для контента. Обычно эти действия настроены в группе Quad.Magic полного обновления, либо есть отдельная группа, по добавлению новых товаров.

...

Указываете настройки подключения к API, ключ и папки, которые настраивали по этой инструкции.

...

Адрес папки API - ссылка на сайт на папку, полная, с адресом сайта

...

ID шаблона экспорта - для отбора товаров, выгружаемых данным действием, используется отбор Автозаполнением для шаблона экспорта. Шаблон можно добавить просто пустой, без колонок, либо использовать существующий шаблон “Bitrix Full”, если у вас такой есть.

В моем примере ID = 17.

...

Можете сразу добавить действия в Автозаполнение, для отбора товара для этого шаблона.

...

И выполните эти действия.

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

...

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

Сайт - указывается код нужного сайта (у вас в админке могут быть несколько).

...

Посмотреть можно здесь:

...

4. Sync.X вкладка “Группы”

Здесь указываются настройки для выгрузки групп (разделов) на сайт.

...

Блок Выгружать - здесь выбирается, какие группы будут выгружены.

Все - выгружаются все группы.

Только выбранных товаров - выгружаются только группы (и их вышестоящие группы) товаров, которые отобраны с помощью Автозаполнения для шаблона экспорта с ИД, указанным во вкладке “Выгрузка API”.

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

Note

При первой выгрузке рекомендуем оставлять “Ничего не делать” и что-то менять в этой настройке только тогда, когда убедились, что выгрузка по API работает без ошибок и сбоев.

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

ИД инфоблока - указывается ИД инфоблока, в который выгружаются группы на сайте. Если у вас 1 инфоблок товаров, то здесь указывается тот же инфоблок, что и во вкладке “Выгрузка API”. Если на сайте для каждой группы свой инфоблок, то их ИД нужно будет указать в карточке каждой группы в поле Метка 5, а эту настройку оставить пустой.

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

5. Sync.X вкладка “Бренды”

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

...

Слева выбирается тип свойства бренда.

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

Зайдите в Свойства инфоблока

...

В настройках таблицы нужно отобразить колонку Внешний код.

...

В настройках программы нужно указать Название свойства бренда, Внешний код свойства и ИД инфоблока, в котором находится бренд.

...

Внешний код, если вы включили колонку, отображается в конце таблицы.

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

...

Кликните на название свойства - откроются его настройки, где можно будет увидеть ИД инфоблока с брендами.

...

Info

После того, как сделали настройки в предыдущих трех вкладках, рекомендуем вам сделать пробную выгрузку и проверить, что на сайт выгрузились разделы и бренды. Если у вас уже были на сайте товары и разделы, посмотреть что они не задублировались. Перед выгрузкой поставьте только 2 птички, Группы и Бренды.

Image Added

Если все ок, то должны получить примерно такой результат:

...

Проверьте на сайте, что есть группы и что они соответствуют программе.

...

А так же бренды, в инфоблоке или в свойстве.

...

6. Sync.X вкладка “Товары”

Здесь указываются настройки выгрузки товаров на сайт.

...

Добавить новые - поставьте птичку, если программа должна добавлять на сайт новые товары

Обновить существующие (контент) - поставьте птичку, если программа должна обновлять фото, описание и характеристики у существующих на сайте товаров.

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

...

Поле с картинками - указывается поле программы, в котором хранятся названия картинок. По умолчанию photo_list. Если понадобится, можно указать другое поле. В этом поле должны быть путь и название файлов картинок, относительно папки quad/api/images на хостинге. Разделитель между картинками | (вертикальная черта). Пример:

Code Block
21\img_rd21089_1.jpg|21\img_rd21089_1.jpg|21\img_rd21089_2.jpg|21\img_rd21089_3.jpg

Настройки выгружаемой по товару информации

...

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

Картинка анонса отдельно - если стоит птичка, то первое изображение в списке будет выгружено в картинку анонса, а второе в детальную картинку (в этом случае для каждого товара в программе нужно отдельно заводить картинку анонса). Картинка анонса отображается в разделах и не отображается в карточке товара. Картинка анонса выгружается отдельно так же в случае, когда вы выгружаете фото с onliner.by, первая картинка идет без логотипа.

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

Обновить цену - если не стоит птичка, то при выгрузке товара, который уже есть на сайте, у него не будет обновляться цена.

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

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

Обновить привязку к группе - если не стоит птичка, то при выгрузке товара, который уже есть на сайте, у него не будет обновляться группа (раздел на сайте).

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

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

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

Настройки выгружаемых по товару полей.

...

Название - поле программы, которое выгружается в качестве Названия товара на сайт. По умолчанию title, это стандартное поле названия товара в программе.

...

В случае, когда у вас в программе есть какое-то дополнительное название товара, которое приоритетнее, чем основное название (например, название товара на Онлайнер), то тогда можно ввести такой код для поля Название:

Code Block
(case when ((f_3s5po22gj is null) or (f_3s5po22gj = '')) then title else f_3s5po22gj end)

где f_3s5po22gj - код поля дополнительного названия, заменить нужно в трех местах.

...

Описание - поле программы, которое выгружается в качестве Описания товара на сайт. По умолчанию info, это стандартное поле Полного описания товара в программе.

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

Code Block
breakoutModefull-width
replace(replace(concat(f_3tspt3keb, (case coalesce(info, '') when '' then '' else concat('<br/>', info) end), (case coalesce(f_41g71r8ij, '') when '' then '' else concat('<br/>', f_41g71r8ij) end)), '<div', '<p'), '</div', '</p')

в этом коде нужно заменить код поля Маркетинговое описание и код поля Характеристики (сайт). Такие замены нужно делать во всех примерах для выгрузки описания.

f_3tspt3keb - Маркетинговое описание, заменить в одном месте

f_41g71r8ij - Характеристики (сайт) - заменить в двух местах (в этом поле хранятся характеристики в виде таблицы HTML.

В итоге описание формируется как сумма полей Маркетинговое описание + Полное описание + Характеристики (сайт).

Пример 2 Если не хотите добавлять в описание html-таблицу характеристик, то такой код:

Code Block
breakoutModefull-width
replace(replace(concat(f_3tspt3keb, (case coalesce(info, '') when '' then '' else concat('<br/>', info) end)), '<div', '<p'), '</div', '</p')

Пример 3 Если нужно выгружать Описание, если оно заполнено, а если не заполнено, то Маркетинговое описание, а если нет Маркетингового, то Краткое описание.

Code Block
breakoutModefull-width
replace(replace(case when coalesce(info, '') <> '' then info else case when coalesce(f_3tspt3keb, '') <> '' then f_3tspt3keb else shortinfo end end, '<div', '<p'), '</div', '</p')

Краткое описание - код поля для выгрузки краткого описания. По умолчанию shortinfo (краткое описание из программы).

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

Note

Если вы уже выгружали на сайт товары старым модулем, то здесь должен выгружаться такой же код, как и раньше. Посмотреть, что выгружалось, можно в настройках шаблона экспорта Bitrix Full.

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

Результат:

...

7. Sync.X вкладка “Поля”

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

Пример:

...

Каждая строка это отдельное свойство или поле.

Строка состоит из нескольких тегов с разделителем | (вертикальная черта).

Первый тег - определяет, какая информация находится в этой строке, варианты:

PRM - означает, что это выгрузка свойства при добавлении или обновлении товара

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

Второй тег - символьный код свойства на сайте (свойство уже должно быть создано на сайте).

Третий тег - поле базы данных программы, либо SQL-запрос, выбирающий какую-то информацию для свойства.

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

Примеры

Code Block
PRM|IN_STOCK|(case p.is_exists when 2 then 0 else 157 end)
PRM|CML2_ARTICLE|p.article
PRM|GARANTIYA|p.garanty 
PRM|STRANA2|(select coalesce(p2.f_3q3s7dq8i, m2.country) from product p2 left outer join c_manufacture m2 on (m2.code = p2.manuf_code) where p2.id = p.id)
PRM|IMPORTER2|(select coalesce(p2.f_3qcgq3oq5, m2.brand_importer, p2.f_3roao2888) from product p2 left outer join c_manufacture m2 on (m2.code = p2.manuf_code) where p2.id = p.id)
PRM|SERVISNYY_TSENTR|(select coalesce(p2.f_3qcgq41su, m2.service_centr, p2.f_3roao3avh) from product p2 left outer join c_manufacture m2 on (m2.code = p2.manuf_code) where p2.id = p.id)
PRM|SROK_SLUZHBY_MES|p.f_3qcgq3ff8  
PRM|brend|(select m2.title from c_manufacture m2 where m2.code = p.manuf_code)

8. Sync.X вкладка “Свойства”

Настройка выгрузки свойств товаров из Наборов характеристик программы.

...

Image Added

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

По названию характеристики - проверяется только название, все характеристики программы с одинаковым названием выгружаются в 1 характеристику на сайте. Такой способ можно использовать только если у вас и в программе только по одной характеристики с одинаковым названием. Иначе нужно следить, чтобы у всех характеристик с одинаковым названием был одинаковый Тип характеристики.

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

По названию + тип характеристики - рекомендуемая настройка, если выгрузка характеристик будет “с нуля”. На сайте будут дублироваться характеристики только в случае, если они в программе имеют разный Тип. Т.е. например Число и Список с выбором нескольких значений. Характеристика будет дублироваться так же в случае, когда есть 2 характеристики с одинаковым названием, на разным признаком “Множественная”.

ID параметров - ид набора характеристик.

...

Только основные - если установлена птичка, то выгружаются только основные характеристики.

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

...

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

...

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

Обновлять тип свойства - если не установлена птичка, то при выгрузке свойств на сайт не изменяется их тип (число, строка, список). Иначе тип свойства на сайте изменяется на такой тип, как в программе.

Не создавать новые свойства - если птичка установлена, то у товаров заполняются только существующие на сайте свойства, новые не создаются.

Название в любом регистре - если не установлена птичка, то при выгрузке свойств на сайт будут дублироваться свойства, которые написаны разными буквами (строчными и прописными). Например свойства “Тип” и “тип” - это будут разные свойства. Устанавливайте эту птичку, если не нужно учитывать регистр букв.

Не выгружать “списки” с больше 200 значений - если установлена эта птичка, то на сайт не будут выгружаться характеристики, у которых в программе тип “Список с выбором нескольких значений” или “Список с выбором одного значения”, если у них больше 200 значений. В большинстве случаев, если у характеристики больше 200 значений, то значит тип у нее установлен не правильно. Нет смысла в списках, в которых пользователю нужно что-то выбирать из такого большого количества значений. Скорее всего тип у характеристики должен быть “Число” или просто “Текст/Строка”. Поменяйте тип в программе и после этого характеристика выгрузится.

Note

Данная настройка сделана по той причине, что ваш сайт на Bitrix будет работать медленно и обновляться медленно, если у вас будут свойства с типом “Список”, содержащие большое количество значений.

Все свойства выгружать списками - если установлена эта птичка, то все характеристики программы на сайте будут создаваться с типом “Список”, даже если в программе этот тип “Строка” или “Число”.

Выгружать свойства с больше 200 значениями как тип Строка - если установлена птичка, то программа сама будет изменять тип свойства, если у него больше чем 200 значений. (см. описание Не выгружать “списки” с больше 200 значений).

Множественные характеристики - указывается способ установки у свойства на сайте признака “Множественное”.

...

Варианты:

Все списки множественные - если установлен такой тип, то свойства с типом “Список с выбором…” на сайт будут выгружены с признаком Множественное (а так же свойства, у которых явно установлен такой признак в настройке характеристики в программе).

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

...

Только "Список с выбором нескольких значений" - только такой тип будет выгружен как “Множественное” + с явно установленным признаком. Характеристики с типом “Список с выбором одного значения” в этом случае будет выгружен как НЕ множественный.

9. Sync.X вкладка “Цены и остатки”

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

...

Как их заполнять можно посмотреть в инструкции по обновлению цен.

В “Поле полного остатка” можно написать 0, это значит что новые товары будут создаваться как Нет в наличии. Наличие им проставится в дальнейшем отдельной выгрузкой для обновления цен и наличия.

При этом нужно убрать птичку во вкладке Товары, по обновлению остатков.

...

Если птичку оставить, то в “Поле полного остатка” нужно указывать правильный код, чтобы правильно обновлялись остатки.

Обновление цен и остатков выполнится после выгрузки товаров.

Тестирование выгрузки

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

Добавьте 2 действия Автозаполнения для отбора товара в выгрузку контента.

...

В первом действии отключаются для выгрузки все товары (присваивается 0), действие без условий.

Во втором действии отбираются товары, в нем в колонке IDs укажите ID товары, на котором будете тестировать. Можно указать несколько ИД через запятую.

...

Выполните по порядку оба правила.

Так же вы можете ограничить и выгружаемые группы. Для этого в настройках задания Sync установите так:

...

При такой настройке будет выгружена как группа товара, так и все ее вышестоящие группы.

Сохраните задание и запустите его выполнение.

...

Результаты можно посмотреть во вкладке Статус - там не должно быть ошибок.

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

...

Проверьте, что в инфоблок добавлен Бренд, если он отдельным инфоблоком, что Бренд заполнен в карточке товара.

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