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

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

Интеграция 1С-Битрикс и 1С.png

Вопросы к рассмотрению:

  1. Настройки интеграции на стороне 1С-Битрикс.
  2. Настройки интеграции на стороне 1С: Предприятие.
  3. Возможные варианты синхронизации данных.
  4. Наиболее частые ошибки обмена данными.

Итак, дорогой читатель, если ты здесь, то тебя непременно интересуют вопросы, связанные с темой синхронизации «1С: Предприятие» и интернет-магазина, реализованном на базе «1С-Битрикс».
Разберемся кратко с терминологией, которая то и дело будет встречаться далее по тексту статьи.
Синхронизация – обмен данными закрытого цикла.
Узел обмена – одна из подсистем, участвующих в синхронизации. Так как в нашей программной инфраструктуре два узла обмена (сайт и система учёта), то называться наш процесс будет двусторонний (двунаправленный) обмен данными.
Вот и всё. Терминологии почти не будет.

С какой целью организуют синхронизацию 1С и сайта? Для ускорения процессов, актуализации данных по различным каналам продаж, аналитики работы компании, увеличения конкурентоспособности, улучшения сервиса и качества обслуживания и много чего ещё можно подтянуть к списку преимуществ использования такой возможности. Организация процесса обмена между сайтом и 1С крайне необходима в наше время интеграционных процессов в digital-сфере предоставления товаров и услуг.


Каким образом настроить синхронизацию между 1С и сайтом?


Где находятся Настройки обмена с сайтами в 1С-Битрикс    

Настройки синхронизации данных CMS «1C-Битрикс: Управление сайтом» со сторонними системами учёта следует проводить в административной части сайта. После входа в систему управления по ссылке https://domain.ru/bitrix (пишите ваше доменное имя), необходимо перейти в панель администрирования сайта и перейти по пунктам, указанным на скриншоте слева <-
Откроется первая вкладка «Каталог» раздела настроек интеграции с 1С, в котором будут отображены параметры импорта данных (из 1С в 1С-Битрикс).


Настройка параметров импорта

Процесс импорта данных из товароучётной системы на сайт, вкратце, сводится к такой схеме взаимодействия: 1С отправляет файл с данными на удалённый сервер, где находится сайт. После чего Битрикс выполняет необходимые действия на стороне веб-сайта (читает данные и совершает изменения в своих каталогах) и «отчитывается» перед инициатором обмена (т.е. 1С) о результатах проделанной работы. Обратите внимание, что инициатором обмена всегда выступает 1С - это связано с тем, что если ваш интернет-магазин подвергнется хакерской атаке и будет взломан (а рано или поздно любой более-менее интересный магазин подвергается как минимум попыткам взлома) то атаковать вашу 1С через сайт не получится, просто потому что Битрикс «не умеет» инициировать обмен с 1С и даже не знает про неё.

Чтобы не позволять злоумышленнику запускать соответствующий скрипт сайта на файловом уровне, необходимо создать соответствующую группу пользователей и наделить их необходимыми правами. Для этого администратор web-сайта должен создать отдельную группу пользователей для управления обменом данными и пользователя для системы управления содержимым.

Настройка импорта (на указанной выше вкладке) находится в зоне ответственности web-специалиста, который занимается вашем интернет-ресурсом. Именно он должен принять решение по таким нюансам, как: стоит ли выгружать товары и характеристики товаров в различные информационные блоки или в один, формировать ли ЧПУ URL (человеко-понятные адреса страниц) при загрузке товаров, генерировать ли preview-картинки при добавлении элементов каталога. Именно web-специалист подберёт наиболее удачную конфигурацию настроек обмена данными, исходя из особенностей вашего сайта и аппаратной инфраструктуры ваших информационных систем (хостинга).

После решения этих вопросов вашим web-специалистом, необходимо выполнить аналогичные настройки на стороне платформы «1С: Предприятие».

Рассмотрим пример настроек обмена данными со стороны платформы 1С, используя конфигурацию «1С: Управление торговлей (УТ)». Предварительно установите модуль интеграции с 1С-Битрикс, версии которого расположены на этой странице: https://1c.1c-bitrix.ru/ecommerce/download.php:

Модуль обмена с Битрикс скачать


Предположим, что в нашей конфигурации уже имеется необходимая для выгрузки на сайт номенклатура, имеется информация по заказам и сделкам. Основным инструментом настройки будет внутренний инструмент синхронизации, куда можно попасть из рабочего стола 1С. Нас интересуют настройки по следующему пути: Администрирование -> Синхронизация данных -> Узлы обмена с сайтами.

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

Настраиваем Узлы обмена с сайтами


Данные будем выгружать на сайт по следующему пути: https:[ваш домен]/bitrix/1c/1c_exchange.php. Введите данные пользователя, созданного на предыдущем шаге специально для осуществления обмена. Проверьте соединение с сайтом с помощью специальной кнопки в этом окне:

Настраиваем Путь для выгрузки товаров на сайт


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

Как настроить выгрузка информации о номенклатуре

Расписание обмена с сайтом настройки

Теперь перейдём со вкладки основных настроек узла обмена данными с сайтом на вкладку «Выгрузка товаров». Отметьте соответствующие опции, необходимо ли вам выгружать изображения товаров, прочие файлы, информацию по товарным остаткам. Например, в некоторых случаях удобно хранить изображения и описания в 1С и выгружать их на сайт (если у вас свой небольшой бизнес и вы сами управляете и сайтом и 1С), во многих других случаях, когда сайтом управляет внештатный контент-менеджер или сторонняя организация-подрядчик, изображения и описания хранятся и редактируются ими на сайте, а в «1С: Управление торговлей»  доступ ему не предоставляется из соображений безопасности.

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

выгрузка информации о номенклатуре

Таким образом, можно формировать уникальную структуру товарных позиций для сайта, коренным образом отличающуюся от исходной в системе учёта «1С: Предприятие». Используйте для этого инструмент «Настройка дерева групп»:

Настроить пользовательские группы товаров

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

Форма настройки отбора номенклатуры

Теперь можно попробовать выполнить выгрузку данных, нажав соответствующую кнопку «Выполнить обмен данными» из блока «Синхронизация данных». И если всё настроено правильно, вы увидите на сайте необходимую вам структуру товарных позиций. 


А как же заказы?

Теперь разберёмся с не менее важной составляющей интеграции данных – это обмен заказами товаров между сайтом и «1С: Предприятие».

Эти настройки будем выполнять на стороне сайта в его панели администрирования в том же блоке настроек «Интеграция с 1С», но во вкладке «Заказы»:

Настройка параметров обмена заказами с 1С

Предварительно, рассмотрим возможные сценарии интеграции данных по заказам:
А. Первый и наиболее очевидный вариант –все заказы отправляются в «1С: Предприятие» для последующей их обработки менеджером по продажам из конфигурации 1С. Вариант чаще всего используется в небольших интернет-магазинах.
Б. Вторым, менее очевидным, но достаточно полезным является вариант выгрузки заказов по определенным статусам состояния заказа. Этот вариант может быть использован, если, например, на сайте имеется возможность оплаты заказа и нам необходимо запустить немедленный процесс передачи заказа менеджеру, только если он оплачен, т.е. имеет соответствующий статус «оплачено».
В. Очередной вариант – это создание собственного статуса заказа. Такая возможность имеется на стороне CMS Bitrix, и, например, предварительно создав статус «Утверждён», можно начать оформления только тех заказов, которые лично (например, по телефону) подтвердились заказчиком. Соответственно, только такого типа заказы попадут в систему учёта «1С: Предприятие» (до недавнего времени такую схему использовал, например, Ситилинк).
После того, как платформа 1С «дала ответ» системе управления сайтом, что заказ загружен, можно переводить его в конечный статус (например, из имеющихся – это «Выполнен»).

Следующая вкладка «Профили обмена» используется из-за особенностей регистрации контрагентов различных типов на стороне «1С: Предприятие». Это связано с тем, что для создания различного типа пользователей нашего сайта (физических и юридических лиц) используется различный набор полей для их регистрации в системе «1С: Управление торговлей»:

Настройка полей экспорта на сайт


На этой вкладке производится настройка соответствия заполнения полей в 1С с полями, показанными покупателю на сайте во время оформления и заполнения им контактной информации.
Конечно же, не забываем, что после того, как мы всё настроили для обмена заказами со стороны системы управления «1С-Битрикс», нам необходимо выполнить аналогичные настройки на стороне платформы 1С.
Также переходим к узлам настройки обмена и выбираем заготовленный шаблон синхронизации по заказам «Обмен заказами»:

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


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

Настройка соответствий загружаемых документов между сайтом и 1С


Также пробуйте выполнить обмен заказами из 1С по аналогии с синхронизацией товаров. И если всё настроено правильно, вы увидите заказы с сайта в системе «1С: Управление торговлей»:

Заказ на сайте:

Просмотр заказа на сайте


А вот этот заказ в 1С:

Просмотр заказа клиента в 1С

Просмотр заказа клиента в 1С


Соответствие созданных документов на сайте и загруженных в 1С:

Просмотр соответствия созданных документов на сайте и загруженных в 1С

Просмотр связанных документов


Работайте в 1С со статусами заказов, проводками, отгрузками и другой информацией, все изменения будут доступны на сайте после обмена данными.

Дополнительные возможности по обмену 1С с сайтом на Битрикс

Проблемы настройки обмена с 1С-Битрикс и решения 1С. (картинка https://vk.com/asinastraАвтор картинки: https://vk.com/asinastra

Рассмотрим наиболее часто встречающиеся проблемы интеграции продуктов 1С с системой управления 1С-Битрикс.


Проблема: обмен не выполнен. Ответ сервера: Ошибка импорта метаданных. 

Решение: наименования свойств начинаются с числового значения. Первый знак – символ. Переименуйте их.


Проблема: импорт данных из 1С происходит ну очень медленно.

Решение: выключите на сайте в настройках инфоблока индексацию элементов и разделов, а также их свойств. Также попробуйте отключить хранение сессий в базе MySQL системы управления и смену идентификаторов сессий.


Проблема: при обмене данными с 1С не работает авторизация.

Решение: часто проблема возникает в результате работы PHP в режиме CGI. Передача данных авторизации HTTP в PHP в этом режиме не гарантируется. Обратитесь к вашему системному администратору для включения на сервере обработки .htaccess и поддержки mod_rewrite.


Проблема: произошла ошибка на стороне сервера. Файл не отправлен.

Решение: проверьте настройки файрволла или антивируса, они могут препятствовать корректной передаче файла или блокировать отправку файла на сервер. Может помочь отключение ZIP-сжатия в настройках интеграции с 1С, если настройка firewall или антивируса не помогло.


Проблема: произошла ошибка на стороне сервера. Получен неизвестный статус импорта.

Решение: ошибка может быть связана с нехваткой ресурсов на масштабирование передаваемых на сервер изображений. Выходом из данной ситуации может служить отключение опции «Выгружать картинки» (вкладка «Выгрузка товаров» в настройке обмена в 1С). Также можно увеличить размер выделяемой памяти в настройках PHP (рекомендуемый параметр memory_limit для php указан на вкладке «Диагностика» CMS Битрикс. 


Проблема: поле объекта не обнаружено.

Решение: проверьте настройки интеграции с платформой 1С, установлены ли соответствия для полей заказа на вкладке «Профили обмена». Запомните, что поля Полное Наименование и Наименование обязательны для заполнения и это критично для 1С.


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



Остались вопросы?