1С-Битрикс — интеграция с 1С

1С-Битрикс — это специальная система управления контентом для сайтов и других интернет-ресурсов. Она является безусловным лидером на рынке СНГ и позволяет создавать и поддерживать интернет-магазины, корпоративные проекты, информационные порталы и рекламные одностраничники и лэндинги. Одно из основных преимуществ использования системы 1С Битрикс — синхронизация с 1С и другими продуктами этой фирмы. Чаще всего этот вопрос поднимается при создании любого более или менее крупного интернет-магазина, где интеграция сильно облегчит процесс добавления товаров и прочие моменты. В этом материале будет рассказано: что такое 1С Битрикс, интеграция с 1С этой CMS системы, какие требования 1С и Битрикс выдвигают друг к другу.

Битрикс и интеграция с 1С

Бывает так, что 1С-Битрикс интернет-магазин разработан и самое время заполнить его каталоги демонстрационными товарами или создать реальный каталог из программы 1С. Это довольно длительная работа. Если нет желания делать это вручную, то следует добиться того, чтобы все необходимые данные загружались и выгружались в нужное место самостоятельно. В противном случае придется подгонять магазин под структуру базы данных 1С Бухгалтерия. Возможно это с помощью синхронизации 1С с Битрикс.

1С-Битрикс — интеграция с 1С
Интеграция систем необходима для быстрого и эффективного экспорта данных

Как уже было сказано, вопрос интеграции Bitrix с 1С стоит остро для многих крупных интернет-магазинов. Порой даже профессионалам трудно понять, что из себя представляет обмен данными и интеграция Bitrix с 1С и как все это работает. Чего уж говорить о новичках и начинающих специалистах. Информация по теме часто разбросана по всему интернету. Удобнее, когда она будет в одном месте. Поэтому в этой статье собрана вся необходимая информация.

1С-Битрикс — интеграция с 1С
Чаще всего интеграция происходит для интернет-магазинов

С чего начать интеграцию c 1C

Если создается новый проект или ресурс и есть план по интегрированию с 1С в будущем, то самым первым делом следует установить программу 1С-Битрикс и произвести тестовый обмен информацией. Это даст возможность:

  • Создать тип блока;
  • Создать сам блок;
  • Создать свойства и справочники;
  • Создать разделы каталогов;
  • Создать элементы каталогов;
  • Создать торговые предложения.

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

Важно! Делать тестовую выгрузку при создании сайта очень важно, поскольку это сможет уберечь мастера от многих ошибок, которые бы могли добавить работы в будущем, когда все будет готово. Более того, это даст возможность разобраться с данными и получить некий опыт.

1С-Битрикс — интеграция с 1С
Процесс экспорта прост, но существуют некоторые нюансы

Завершение интеграции

Главная цель всей интеграции — дать пользователю сопоставление структур данных с сайта со структурами данных в приложении 1С. Чтобы это завершилось успешно, при уже существующем и рабочем веб-проекте, нужно, чтобы данные из 1С выгружались:

  • в заданный инфоблок;
  • в заданные свойства;
  • в заданные разделы этого блока;
  • в заданные товары и торговые предложения;
  • в заданные типы ценовых политик.

Все это можно решить путем настройки одинаковых определяющих идентификаторов (XML_ID). Это означает, что все внешние коды с сайта должны в точности совпадать со всеми внешними кодами приложения 1С.

1С-Битрикс — интеграция с 1С
Несовпадение идентификаторов вызовет проблемы экспорта данных

Стандартный обмен между 1С-Битрикс и 1С

CMS 1С Битрикс имеет встроенные алгоритмы интеграции с программными продуктами от 1С, позволяющие обмениваться данными. Это предполагает, что обмен должен выполниться за пару кликов настройки и запуска процесса. Однако работает это так, только на чистой, то есть типовой конфигурации 1С. На практике же, практически каждая конфигурация программного продукта является «не чистой», то есть модифицированной, со своими формами и надстройками.

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

Стандартный функционал обмена позволяет:

  • производить импорт каталогов товаров из среды 1С на веб-сайт;
  • экспортировать каталоги товаров с веб-сайта в среду 1С;
  • экспортировать заказы с сайта в 1С;
  • импортировать заказы обратно на сайт;
  • выгружать справочники и инфоблоки из 1С на веб-сайт.
1С-Битрикс — интеграция с 1С
Модуль обмена для 1С

Обмен на стороне сайта и на стороне 1С

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

Для успешного обмена со стороны сайта требуется:

  • наличие редакции Битрикса «Малый бизнес» или «Бизнес». «Старт» и «Стандарт» не подойдут;
  • правильная настройка параметров обмена информацией;
  • создание пользователей и специальной группы «Обмен с 1С» для процедуры обмена;
  • настройка прав этой группы, которые включают разрешение пользователям группы производить выгрузку товаров и заказов, а также разрешение пользователям группы доступа на чтение каталога /bitrix/admin/.

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

  • скачать и установить специальный программный модуль по обмену, который зависит от версии программы;
  • настройка адреса веб-сайта и пользователей из созданной группы «Обмен с 1С»;
  • настройка процесса выгрузки со стороны 1С, которая зависит от версии «Управления Торговлей».

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

1С-Битрикс — интеграция с 1С
Схема, по которой работает обмен

Виды выгрузок из 1С

Существует несколько видов выгрузок из 1С, которые зависят от ситуаций и требований. Среди них:

  • полная выгрузка — происходит при первой выгрузке на сайт после его создания и тестирования или режиме ручного запуска. В процессе полного экспорта выгружаются абсолютно все товары, а изменения или картинки подключаются только для новых или измененных объектов;
  • краткая или неполная выгрузка — производится намного чаще и включает в себя только измененные данные цен и остатков товаров;
  • полный экспорт, выполняемый принудительно — аналогичен первому пункту, но с учетом того, что происходит обязательная выгрузка картинок всех существующих товаров. Чаще всего используется, когда обмен между программами отлаживается для дальнейшего использования.
1С-Битрикс — интеграция с 1С
Описание интеграции в системе Bitrix

Алгоритм выгрузки данных на сайт

Стоит отметить, что инициатором обмена всегда становится 1С. Сделано это для того, чтобы взломанный или атакованный веб-сайт не смог нарушить целостность системы. Из соображений безопасности интеграция построена таким образом, что сайт вообще ничего «не знает» про 1С и не умеет обращаться к ней.

Сам по себе обмен устроен на последовательных запросах через протокол http с помощью методов GET и POST, исходящих от системы 1С к сайту и скрипту, расположенному по пути /bitrix/admin/1c_exchange.php. Состоит процесс обмена из нескольких этапов:

  1. процесс авторизации 1С на веб-сайте;
  2. выгрузка файлов на веб-сайт;
  3. чтение документов формата xml во временно созданный табличный документ;
  4. обработка этих данных.

Важно! Все эти этапы производятся за еще большее количество шагов, длительность каждого из которых можно задать в параметрах. Главное, чтобы они совпадали с длительностью на стороне программы.

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

1С-Битрикс — интеграция с 1С
Схема процесса экспорта информации из 1С на веб-сайт

Куда на сайт загружаются файлы выгрузки

Файлы с данными экспорта загружаются в каталог /upload/1c_catalog/, который очищается перед каждым новым обменом. Существует возможность войти в режим отладки и отключить перезапись, а значит и удаление файлов экспорта после окончания процесса обмена.

Чтобы это сделать нужно вставить в файл под названием dbconn.php константу. Выглядит это следующим образом: define(“BX_CATALOG_IMPORT_1C_PRESERVE”, true).

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

1С-Битрикс — интеграция с 1С
Каталог папок можно раскрыть и скрыть в нем будут отображаться не удаленные файлы

Важно! Чем больше цифра в названии каталога, тем он новее, но стоит помнить, что самая новая недавно созданная папка не будет содержать в названии никаких чисел и лишь только после следующего экспорта она переименуется и к ее названию в конце добавится единица. Также следует понимать, что в таком режиме место на диске заполнится очень быстро. Особенно, если обмены происходят часто.

Формат данных для обмена с 1С

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

Так как информация об обмене между системами структурирована по стандарту обмена коммерческой информацией CommerceML2, то для этого используется формат XML. Вся необходимая сайту информация передается в следующих файлах:

  • Import.xml — информация о товарах и группах, типах цен, складах и типах товаров;
  • Offers.xml — информация о торговых предложениях;
  • Prices.xml — цены торговых предложений;
  • Rests.xml — остатки торговый предложений;
  • References.xml — информация о справочниках;
  • Documents.xml — документы заказов;
  • Сontragents.xml — информация о контрагентах.

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

Таким образом, стало понятно, как сделать в 1С Битрикс обмен с 1С и совершить синхронизацию. Произвести обмен данными 1С Битрикс с 1С розница, Управление торговлей и другими программами достаточно просто, но только при наличии стандартной типовой конфигурации, которой пользуются нечасто.