Битрикс и интеграция с 1С: инструкция
Интеграция сайта с 1С актуальна для любого современного интернет-магазина даже со средним количеством товара, но не все разработчики, особенно начинающие, понимают принцип работы механизма обмена битрикс с 1С.
Что нам понадобится?
Сайт на битриксе, готовые свойства и каталог, заблаговременно наполненный демо-товарами.
Теперь нужно загрузить действующий каталог из 1С. Самое главное на этом этапе добиться, чтобы:
- Выгружались нужные данные
- Загружались туда, куда нужно.
Если реализовать это не получится, то нам нужно будет адаптировать весь рабочий ресурс под структуру 1С.
Вся инструкция есть в интернете, но она разбросана по разным ресурсам, поэтому мы решили собрать все самое важное в одной статье.
Цель инструкции
- Кратко объяснить принцип работы обмена и его функционал
- Познакомить с полезными источниками и инструментами
- Предоставить ответы на самые популярные вопросы
- Разложить ход действий от начала и до конца.
1С-Битрикс интеграция с 1С
Разработчики Битрикс уже внедрили модуль интеграции с 1С битрикс, он обеспечивает обмен между битрикс и 1С, позволяет настроить его всего за несколько кликов. Но возможно это в том случае, если 1С имеет «чистую» ТОПовую версию. А в реальности каждая 1С уже модифицирована, поэтому относится к «нетиповым».
Настройка обмена не отнимет много времени и сил, синхронизация битрикс с 1С происходит достаточно быстро и легко, но практически никогда не получается с первого раза. Предстоит еще много забот, так как выгрузка на сайт из 1С изначально осуществляется не в полном объеме и не туда.
Что позволяет делать обмен 1С с сайтом
Алгоритм выгрузки из 1С на сайт битрикс
В целях безопасности обмен заказами между платформа битрикс и 1С запрашивает всегда 1С. Даже при взломе сайта повредить 1C будет невозможно, так как именно она обращается к сайту, а не наоборот.
Интеграция bitrix строится на запросах http GET/POST, они поэтапно поступают от 1С к сайту, к скрипту /bitrix/admin/1c_exchange.php.
Порядок интеграции 1С и битрикс:
Все вышеперечисленные этапы происходят не сразу, а постепенно. Продолжительность шага прописывается на стороне сайта в настройках обмена. Ограничение по продолжительности шага должно совпадать и на стороне 1С.
Выгрузка 1С на сайт
Формат данных
Во время импорта товаров 1C отправляет на сайт файлы в формате xml и картинки. Если zip-сжатие активно (активируется в настройках интеграции с 1С битрикс), то 1C загружает всю информацию одним единым архивом. Если сжатие деактивировать, то все файлы будут загружаться раздельно.
Формат xml файлов
Данные в файле представлены согласно стандарту CommerceML2, который регламентирует правила обмена коммерческой информацией.
Выгрузка на сайт битрикс: что и где лежит
Для больших каталогов описания помещают в специальные “заголовочные” файлы. Они полностью идентичны файлам import.xml и offers.xml, но в них находятся исключительно описания. Это делается с целью оптимизации, а непосредственно заголовочные файлы обрабатываются в первую очередь.
Данные о заказах формируются в двух файлах:
- documents.xml – здесь лежат заказы
- contragents.xml – находится информация о пользователях/покупателях.
Куда на сайте загружаются файлы из выгрузки
В папку /upload/1c_catalog/. Каждый новый обмен приводит к ее очищению, поэтому в ней всегда находится самая актуальная информация.
Очень полезная опция "режим отладки” обмена. Она позволяет отключать при необходимости перезапись файлов в папке 1c_catalog, достаточно ее просто активировать. С ее помощью можно избежать удаления файлов по результатам обмена. Для этого следует перейти в файл dbconn.php и объявить константу:
После всего этого вы отключите удаление, папка будет переименовываться каждый раз, а ее название будет отличать цифровой идентификатор. Чем выше цифра в названии, тем актуальней папка – все просто. Но самой новой окажется папка, в названии которой вообще не будет содержаться чисел, она и будет переименовываться в следующий раз.
Обращаем внимание, что активный режим отладки постоянно забирает место в памяти. Вот почему после отладки следует отключить лог и избавиться от всех лишних папок обмена.
Требования к обмену битрикс и 1С
Структура каталога в 1С и на сайте
Как поступать, когда структуры отличаются?
Битрикс интеграция с 1С предприятие позволяет задавать перечень выгружаемых товаров и разделов. Нередко товары в 1С хранятся не в том виде, в котором нужно, чтобы они отображались на сайте. Специально для этого на стороне 1С можно настраивать виртуальный каталог, чтобы структурировать надлежащим образом разделы и разместить товары. Дополнительно можно создать условия и свойства отбора товара.
Выгрузка товаров из битрикс в 1С: виды
Предусмотрено три вида выгрузки:
- Полная битрикс выгрузка заказов в 1С. Осуществляется при первичной выгрузке или активируется вручную. Ключевая особенность - товары выгружаются полностью, а изображения только в новых или измененных предложениях.
- Частичная. Выполняется между полными. В ней содержатся изменения по стоимости товаров и остаткам.
- Принудительная. Идентична полной, но изображения выгружаются все и во всех товарах.
Интеграция сайта с 1С как сделать?
Вы сейчас создаете сайт, а в будущем планируете его интеграцию с 1С, тогда уже сейчас нужно установить 1С интегратор битрикс и выполнить первичный обмен в тестовом режиме. В результате вы получите тип иблока и сам иблок, св-ва и справочники, а также разделы, элементы каталога и торговые предложения.
Все эти пункты наглядно продемонстрируют, какие сведения у вас имеются, где они находятся, что еще нужно. Более того, вы сразу обнаружите то, что выгрузилось некорректно.
Завершение интеграции bitrix 1С
Основная задача интеграции 1С с сайтом – создать одинаковые структуры на стороне сайта и в 1С. Когда все условия соблюдены, то для успешного завершения синхронизации bitrix с 1С остается добиться, чтобы выгрузка из 1С осуществлялась в:
- Соответствующий инфоблок
- Соответствующие св-ва
- Соответствующие разделы
- Соответствующие товары и ТП
- Соответствующие типы цен.
Для этого можно настроить одинаковые идентификаторы (XML_ID). Если коротко, то внешние коды на сайте будут такими же, как и в 1С.
Если сайт уже создан, а в процессе его использования вы поняли, что хотите подключить обмен с 1С, то придется получить все XML_ID из 1С и обновить их на сайте.
Учитывая, что в 1С коды часто не удается поменять, то придется обратиться к толковому специалисту 1С, который разработает csv файл со списком разделов и кодами в 1С, а вам останется только обновить их.
В заключение
Не стоит начинать создание сайта с настройки обмена с 1С битрикс, но если вы сразу знаете, что будете в будущем делать интеграцию битрикс и 1с управление торговлей, то начните изучать файлы выгрузки прямо сейчас. Это позволит вам быстрее выявить пробелы и понять, что следует доработать, чтобы синхронизация 1с и битрикс выполнялась корректно.