HANDBOOK КЛИЕНТА

Интеграция 1С-Битрикс и 1С:УТ, Предприятие для интернет-магазина

Павел
Технический директор
Тема интеграции сайта на Битрикс с 1С непростая и вызывает у владельцев интернет-магазинов и разработчиков много вопросов. Решили расставить все точки над «i» — рассказать, что такое интеграция, какой она бывает, сколько времени занимает и почему не делается по одному клику. Вы узнаете, как построить процесс синхронизации Битрикс с 1С и получить хороший результат.
Содержание

Интеграция Битрикс с 1С: определение

Интеграция — обмен данными между сайтами, программами, приложениями. Синхронизация Битрикс с 1С актуальна, когда в интернет-магазин важно выгрузить базу товаров, цен и остатков из 1С или получать информацию о заказах в 1С.
Интеграция сайта на Bitrix с 1С дает возможность:
  1. выгружать данные о товарных позициях (артикулы, стоимость, наличие) из 1С на сайт — по графику, в real-time режиме или в один клик;
  2. учитывать онлайн-заказы в привычном интерфейсе 1С;
  3. разгрузить персонал, который сможет работать с заказами в едином окне;
  4. отображать в личном кабинете пользователя статусы заказов.
В теории все просто, а на практике при интеграции часто возникают проблемы. Задачи обмена несут в себе множество рисков, поэтому интеграция в хорошем агентстве стоит недешево. Но важно понимать, что плохая реализация синхронизации Битрикс с 1С обойдется дороже — увеличением трудозатрат менеджеров, неактуальными данными, потерей заказов из-за неверной информации о них и недополучением прибыли.

Что требуется для обмена

Фрагмент брифа на интеграцию - KISLOROD
Модули для 1С на сайте 1c.1c-bitrix.ru

Как осуществляется выгрузка

Обмен инициирует 1С — сайт принимает запрос и передает данные. Выполняются планомерные запросы от 1С к скрипту /bitrix/admin/1c_exchange.php, путь к которому задается в настройках 1С.
При импорте позиций сначала производится авторизация 1С в интернет-магазине, в результате которой сайт обозначает ID сессии. Затем производится формирование и отправка файлов. Потом осуществляется распаковка файлов, их разбор и наконец импорт. Продолжительность процесса определяется объемом выгружаемых данных и может занимать несколько часов для каталога на 100 тысяч позиций.
На сайт выгружаются фотографии (в папку import_files) и файлы:
  • import.xml — разделы, позиции, их характеристики и единицы измерения, склады, типы цен;
  • references.xml — справочники;
  • offers.xml — торговые предложения и их характеристики;
  • prices.xml — цены;
  • rests.xml — остатки;
  • documents.xml — заказы;
  • contragents.xml — покупатели.
Обработка файлов выгрузки заканчивается, когда интернет-магазин сообщает «success».
Выгрузка выполняется в папку /upload/1c_catalog/. В ней хранятся документы последнего обмена — предыдущие удаляются перед следующим процессом. Эту функцию можно деактивировать в dbconn.php, объявив константу: define("BX_CATALOG_IMPORT_1C_PRESERVE", true);. Таким образом документы не будут удаляться, папка получит новое название с использованием числа. Папка последней выгрузки не будет содержать чисел в названии.

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

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

Виды интеграции 1С-Bitrix с 1С

1. Штатная

Штатная интеграция — синхронизация с типовой 1С.
При таком обмене возможна передача:
  • каталога товарных позиций из 1С на сайт интернет-магазина;
  • каталога товарных позиций с сайта интернет-магазина в 1С;
  • заказов с сайта интернет-магазина в 1С;
  • заказов из 1С на сайт интернет-магазина;
  • справочников из 1С на сайт интернет-магазина.
Преимущества штатной интеграции:
  • используется легко расширяемый стандарт CommerceML, разработанный для российского рынка;
  • ускоряется скорость процесса;
  • экономится бюджет проекта;
  • базовые настройки может менять администратор;
  • сочетается с «родными» возможностями Битрикс;
  • содержит готовый каталог, смарт-фильтр, заказы, кэширование.
Несколько нюансов:
  1. Как правило, структура каталога в 1С и интернет-магазине не совпадают. Важно разделять продукты по нуждам покупателей. Соотнесение устанавливается в настройках в 1С и на сайте.
  2. На сайт возможно выгружать всю информацию о позиции, кроме серийного учета (вместо него выгружается учет номенклатуры до предложений). Цифровые товары выгружаются некорректно.
  3. Можно настраивать отборы нужных товарных позиций.
  4. Можно выгружать SKU.
  5. Нельзя выгружать множественные характеристики, нужно дорабатывать модуль.
  6. Обмен ценами позиций в разных версиях отличается. В «Малом бизнесе» допустим единственный тип цены и склад. В «Бизнесе» выгружается произвольное число цен и складов.
  7. Обмен контрагентами из коробки выполняется плохо, «допиливать» не рекомендуем. Мы применяем другие способы — выгрузку с помощью справочников, веб-сервисов.
  8. Индивидуальные цены и обмен скидками не производится — оптимально вручную настраивать скидки на сайте.
  9. Обмен заказами выполняется хорошо, но в некоторых случаях нужна доработка.
  10. Обмен справочниками выполняется корректно.
В Битриксе заложен функционал, благодаря которому штатный обмен должен выполняться очень просто. Но в реальности часто бывает так, что из 1С выгружается на вся необходимая информация или выгружается не в то место. Кроме того, встретить типовую 1С крайне сложно, почти все ERP модифицированы 1С-программистами. В этом случае реализуем нештатную интеграцию.

2. Нештатная

Такая интеграция не бывает простой:
  • каждый проект индивидуален и порой непредсказуем;
  • точно потребуются ручные настройки и программирование;
  • необходимо хорошо разбираться и в Битриксе, и в 1С, уметь работать с огромными массивами данных и просчитывать шаги наперед.
Из этого следует, что нештатная интеграция Битрикс с 1С не бывает быстрой и дешевой — чтобы подружить сайт с 1С потребуется от 20 часов и от ХХ до ХХ тысяч рублей. К сожалению, клиентов это шокирует, ведь на сайте Битрикса им обещают, что будет легко — пара кликов и готово.
Хорошая новость в том, что интеграция Битрикс с 1С с учетом требований бизнеса возможна и выполняется легче, чем с иными ERP, например с SAP.

Как запустить и закончить процесс

Развернув Битрикс на сервере, произведите тестовый обмен. Это позволит реализовать:
  • тип инфоблока;
  • инфоблок;
  • характеристики и справочники;
  • разделы каталога;
  • элементы каталога;
  • торговые предложения.
Так вы узнаете, что выгрузилось корректно, а что нет или не выгрузилось вообще.
Для окончания процесса выгрузка должна выполняться в соответствующие разделы — инфоблоки, свойства и так далее. Настройте одинаковые идентификаторы каталога (XML_ID) в интернет-магазине и 1С. Часто менять айдишники нельзя, поэтому в 1С нужно создать csv-файл с перечнем разделов и кодами, а затем обновить их в интернет-магазине.

Потенциальные проблемы с выгрузкой

Процесс не всегда происходит корректно. Если:
  • не выгружаются изображения — посмотрите, отмечены ли соответствующие галочки в 1С, запустите принудительный обмен, проверьте, отмечено ли «Использовать ZIP», установлен ли соответствующий модуль, не превышает ли размер изображений лимит.
  • не выгружается стоимость позиций — убедитесь, что в 1С допускаются типовые соглашения с контрагентами, есть соглашение, доступное пользователям, с выбранным типом стоимости, в позиции есть стоимость с данным типом.
  • не выгружаются разделы — проверьте, нет ли обязательных полей, которые не выгружаются.
  • дублируются характеристики — копируйте предыдущую характеристику для воспроизведения новой и отмечайте, что ее требуется присоединить к номенклатуре.
  • не создаются символьные коды — проверьте настройку mbstring.
  • появляется ошибка 404 — проверьте, не стоит ли чекер «транслировать символьный код при обновлении раздела».
  • появляется ошибка 502 — выставите время обмена до пяти сек или произведите обмен без изображений.
  • подразделы переходят в корневой каталог — убедитесь, что чекер на пункте «Не импортировать верхний уровень группы товаров, если он единственный» отсутствует.

Как наладить коммуникацию при синхронизации Битрикс с 1С

Кроме технических сложностей, процесс интеграции не прост с точки зрения коммуникаций, ведь большому числу людей нужно договариваться и решать непростые вопросы.
С одной стороны есть заказчик и его команда. С другой — специалист и команда 1С. С третьей — разработчики интернет-магазина. А еще в коммуникациях могут принимать участие специалисты по seo и контенту, маркетологи и другие сотрудники, которым предстоит в будущем работать с интернет-магазином и 1С.
Каждая сторона должна выбрать для коммуникаций одного человека, уполномоченного принимать решения. Например, у нас ответственным выступает менеджер проекта. Со стороны заказчика таким человеком может выступать сам владелец бизнеса или e-com директор, менеджер. В любом случае перед стартом процесса определяется ответственный.

Как строится работа

Интеграция состоит из 4 этапов — подготовки брифа, составления ТЗ, разработки и настройки обмена, введения в эксплуатацию.

1. Подготовка брифа

Чтобы вникнуть в проект и оценить трудозатраты команды, а значит и стоимость работ, мы предлагаем заполнить бриф на интеграцию. В нем указывается информация, касающаяся:
  • версии 1С — название и номер релиза конфигурации, типовая или измененная;
  • данных, хранящихся в 1С — число позиций номенклатуры, будет ли каталог отличаться в интернет-магазине, заполнены ли описания товара, как сохраняются изображения, характеристики позиций и так далее;
  • особенностей учета позиций — как происходит обновление остатков, сколько складов и городов, применяются ли разные типы стоимости и так далее;
  • обмена заказами — планируется ли передача заказов с сайта в 1С, из каких составляющих складывается цепочка заказа, планируется ли синхронизация статусов и так далее;
  • другие вопросы — как часто будет обновляться каталог магазина, какие акции и скидки планируются, необходима ли выгрузка справочников и так далее.
Также мы просим предоставить пример выгрузки на сайт и в файл. Иногда на этом этапе бывают проблемы. Если клиент не знает, как сделать выгрузку самостоятельно, связываемся c 1С-программистом напрямую. В крайнем случае, запрашиваем доступы и получаем выгрузку сами.
Без таких сведений трудно точно определить сроки интеграции. Можем сказать только, что на написание ТЗ потребуется от 10 часов, а на штатную интеграцию — не менее 8 часов.

2. Составление ТЗ

После погружения в проект составляем ТЗ. В нем мы описываем типы данных, что, в каком объеме и куда передается (с сайта в 1С или наоборот), по каким событиям. Решаем, какой способ интеграции использовать, исходя из задач клиента, реализуемой системы и ее ограничений.
На основе брифа составляем перечень функциональных элементов, которые будут использоваться на сайте. К элементам добавляем текст, описывающий их происхождение, и примеры с данными. Эту работу нужно делать очень внимательно — одна пропущенная ссылка может сильно повлиять на этап разработки.
Подготовка ТЗ на интеграцию Битрикс с 1С дает возможность:
  • получить четкую и понятную задачу для программиста;
  • составить точную смету;
  • проще выявлять и устранять проблемы на этапе ввода в эксплуатацию;
  • гарантировать клиенту, что интеграция будет корректно работать.

3. Разработка и настройка обмена

Работа происходит параллельно — мы отвечаем за обмен на стороне интернет-магазина, а заказчик на стороне 1С.
Важно заставить систему работать в соответствии с задуманным. При штатной интеграции производится только настройка плана обмена. При нештатной применяем выбранный на этапе составления ТЗ способ.
В некоторых проектах выполняем экспорт/импорт из Excel, при этом используем готовый модуль от Esol.
Если структура данных сложная, используем сценарий обмена XML/JSON. Преимущество — импорт в режиме реального времени и собственная структура данных, в которой нет ничего лишнего.
Иногда мы используем SOAP — веб-сервис для обмена данными в формате xml через сетевое подключение. В веб-сервисах стандартизированы способы передачи данных, можно сразу заняться их структурой и доступными функциями.

4. Ввод в эксплуатацию

Мы производим деплоймент — развертывание программного обеспечения. То есть выполняем действия, которые подготавливают систему к использованию: производим определенное количество обменов, прогоняем типовые ситуации, тестируем один функциональный элемент за другим.
При выявлении проблемы отмечаем, на чьей она стороне и ставим задачу на ее решение. После устранения проблемы проверяем все сначала. Когда все задачи решены, проект готов к работе. Если на предыдущих этапах все проработано правильно, будет минимальное количество ошибок, и процесс займет от нескольких часов до нескольких дней.

Вывод

Интеграция сайта на Битрикс с 1С — не так проста, как кажется на первый взгляд. Попытки исправить обмен без наличия достаточной компетенции могут привести к тому, что ситуация усугубится и понадобится или переписывать код модуля, или снова ставить модуль обмена. Но выбрав KISLOROD, можно быть уверенным, что обмен будет работать. Также к нам можно обратиться и за техподдержкой сайта на 1С-Битрикс.
Получайте полезный контент от KISLOROD в любой из мессенджеров
При переходе в одну из указанных социальных сетей, вы автоматически соглашаетесь с политикой конфиденциальности
Спасибо, что дочитали до конца.
Если информация была полезна, поделитесь статьёй. Вам не сложно, нам приятно ;)

Рекомендованные статьи

Скачайте 17 точек роста и 100 + чекеров для роста конверсии и прибыли интернет-магазина
При переходе в одну из указанных социальных сетей, вы автоматически соглашаетесь с политикой конфиденциальности
Мы проанализировали ведущие интернет-магазины, результаты исследований, свой опыт и собрали важные моменты в одно руководство. Делаем e-commerce лучше, поэтому не только пользуемся сами, но и делимся с вами.
Выберите удобный мессенджер и получите чек-лист прямо сейчас: