Содержание
Основные возможности интеграции сайта и 1С
Главная цель интеграции CMS 1С-Битрикс и программ на базе 1С:Предприятие — двусторонняя передача данных между интернет-магазином или корпоративным порталом и учетным приложением, которое использует компания. Вся IT-инфраструктура будет работать с общей информацией.
Это открывает такие возможности для бизнеса:
- Обмен каталогом. Администраторы могут загружать списки товаров из 1С прямо в каталог интернет-магазина. Автоматически подгружается вся номенклатура с характеристиками, включая фотографии и цены. Учет можно вести сразу по нескольким складам, отображая актуальные остатки. Плюс в том, что вся структура каталога из номенклатуры 1С может сохраняться и при экспорте на сайт.
- Синхронизация остатков. За счет обмена данными операторы всегда будут иметь актуальную информацию о наличии товаров. Если какую-то позицию распродали, она автоматически пропадет с сайта. Также можно загружать несколько видов цен и управлять ими с учетом скидок или наценок, прописанных в 1С.
- Обработка заказов с сайта. Если в интернет-магазине пользователь оформил покупку, данные об этом автоматически передаются в 1С и обрабатываются дальше. Приложение создает нужные документы и передает информацию для отгрузки, контроля оплаты и т.п. Можно привязывать покупки к контрагентам, учитывать разные виды оплаты в зависимости от того, какие поля в 1С будут заполняться данными с сайта.
- Синхронизация клиентской базы. Если на сайте регистрируется новый пользователь, данные о нем передаются в 1С, после чего программа создает новую карточку клиента. Возможен обратный обмен, когда на основе информации из 1С отображается история заказов, статус, скидка.
- Интеграция со службами доставки. Благодаря выгрузке данных в 1С можно автоматизировать процессы отправки, так как интернет-магазин обычно интегрирован с плагинами курьерских служб. Можно, наоборот, загружать на сайт справочники с информацией о сроках и стоимости транспортных услуг.
- Обновление статусов заказов. По мере обработки заказа в 1С на сайте в личном кабинете пользователя будут отображаться соответствующие данные, например: «Ожидание оплаты», «Передано в доставку», «Ожидает в пункте выдачи» и т.п.
Преимущество интеграции 1С-Битрикс и 1С в том, что обмен данными можно организовать с помощью типовых инструментов, а также адаптировать этот процесс под нужды пользователя. Например, передавать уникальные поля товара или реализовать кастомную логику.
Разработчики гарантируют полную безопасность передачи данных благодаря HTTPS и стандарту CommerceML. CMS и программы на платформе 1С:Предприятие сохраняют лог всех операций. По нему можно отследить все произошедшие события и выявить возможные проблемы.
Основные сценарии обмена данными
С точки зрения бизнеса актуальными являются такие сценарии обмена информацией между системой управления сайтом и учетными программами, которые использует компания:
- Синхронизация каталогов. Данные экспортируются из 1С в 1С-Битрикс с автоматическим обновлением всех полей и обратно в формате CommerceML. Можно настраивать полную или частичную выгрузку, а также обмен на уровне модификаций товаров (разный размер, цвет и пр. — идентификация по SKU).
Например: компания получила новую партию товара и внесла данные в 1С на основе электронных документов. Эта информация автоматически загрузится на сайт, где обновится каталог. - Обработка заказа. После оформления заказа на сайте данные отправляют в 1С для дальнейшей обработки. Приложение автоматически создает первичные документы и выполняет другие действия по заданному алгоритму. Статусы можно обновлять и на сайте, и в 1С, подключается уведомление по почте или SMS, автоматизируется работа с клиентом.
Например: клиент оформил заказ, система сформировала документы, отправила данные в курьерскую компанию. После передачи товара клиент получил уведомление, что его покупка отправлена. - Управление остатками. 1С и сайт на 1С-Битрикс обмениваются информацией о количестве товаров на складе (или складах). После оформления покупки данные автоматически обновляются. Если товара больше нет, он снимается с продажи на сайте.
Например: клиент купил последний товар, 1С оформила отгрузку, на сайте появилась надпись «Нет на складе». Если клиент вернул покупку, ее снова примут на склад, и она появится в каталоге. - Передача данных о клиентах. При регистрации покупки данные о клиенте автоматически передаются в 1С, которая оформляет нужные документы. Идентификация может происходить по ИНН, номеру телефона, электронной почте. Если пользователя нет, на него заводится новая карточка.
Например: клиент положил товар в корзину, а по информации из 1С у него есть скидка. Сайт автоматически изменит цену, учитывая размер скидки.
Описанные сценарии — лишь типовой пример. При необходимости можно запрограммировать очень сложную логику обмена данными. Это позволяет максимально разгрузить менеджеров и избавить их от рутинного ввода информации.
Подготовительный этап
Проверка требований к сайту на CMS 1С-Битрикс и программе 1С
Настроить интеграцию можно между системой 1С-Битрикс: Управление сайтом и программами, которые работают на платформе 1С:Предприятие 8 последних модификаций.
В CMS должен быть установлен модуль Интернет-Магазин, а также Интеграция с 1С. Для обеспечения безопасного обмена сайту нужен сертификат SSL и доступ к FTP для управления файлами.
Интегрировать сайт можно с программами 1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:Розница или ERP-решениями с использованием обработчика обмена.
Проверка лицензий и модулей
До начала настройки важно убедиться, что у всех сервисов есть действующие лицензии и работающие модули. На стороне 1С должен быть доступ к конфигуратору, а также к конфигурации обработчиков обмена:
- Обмен с сайтом;
- Выгрузка товаров;
- Обработка заказов.
Если конфигурация доработана, придется модифицировать и типовые решения для передачи информации. Эту задачу могут выполнить профессиональные интеграторы 1С.
Резервное копирование и тестовая среда
Во избежание утери данных перед настройкой интеграции необходимо сделать полную резервную копию сайта и привязанной к нему БД, а также информации из 1С.
Чтобы сохранить работоспособность интернет-магазина, лучше настраивать интеграцию на тестовой копии сайта и учетной программы. Например, можно создать отдельный каталог или поддомен, развернуть новый облачный сервер. Лучше тестировать выгрузки на небольшом количестве позиций и только после этого запускать все в рабочем режиме.
Настройка обмена на стороне 1С-Битрикс
Процесс настройки можно начинать с CMS. Для этого у пользователя должны быть административные права, позволяющие ему вносить изменения в конфигурационные файлы.
Включение и настройка модуля обмена с 1С
Нужно открыть административную панель сайта, которая находится по адресу https://ваш_сайт/bitrix/admin/ и проверить, чтобы в разделе Интеграция с 1С в меню Настройка был отмечен пункт «Разрешить интеграцию». Также для обмена данными нужны активные модули:
- Торговый каталог;
- Интернет-магазин;
- Инфоблоки;
- Интеграция с 1С.
Необходимо прописать адрес точки входа для обмена. Например, https://ваш_сайт/bitrix/admin/1c_exchange.php и проверить включение нужных опций, в том числе:
- автоматическое создание инфоблоков;
- автоматическая загрузка приложений;
- выгрузка заказов по статусу;
- zip-сжатие и др.
Права доступа и безопасность
Во избежание несанкционированного доступа к данным для обмена лучше создать специального пользователя и предоставить ему необходимый минимум прав. В них входит:
- доступ к точке обмена;
- доступ к инфоблокам для загрузки каталога;
- доступ к заказам для их обработки.
Также целесообразно ограничить доступ к ресурсу по IP-адресу. Его можно прописать в .htaccess.
Настройки каталога и разделов для обмена
Пользователь должен создать или выбрать инфоблок, куда будут загружаться товары из приложений 1С. Для этого на сайте должен быть установлен соответствующий тип. После этого можно настраивать привязку полей из базы данных 1С к полям инфоблока.
Важно проверить, чтобы структура каталога корректно отображалась на сайте, а при необходимости — активировать автоматическую синхронизацию.
Настройка обмена на стороне 1С
Установка расширений/обработок для обмена
В большинстве приложений, в том числе 1С:Управление торговлей или 1С:Розница, уже предусмотрена обработка обмена с Битрикс, она называется «Обмен с сайтом». Находится в меню «Администрирование», раздел «Интеграция с сайтом».
Если формат CommerceML не поддерживается, нужно вручную дорабатывать конфигурацию или использовать обработку, которую предоставляет CMS Битрикс — ВыгрузкаКаталога.CML.
Что нужно настроить на стороне 1С:
- адрес точки входа;
- данные для авторизации — логин и пароль пользователя на сайте;
- тип информации, которую нужно выгружать;
- формат данных — используется CommerceML;
- фильтры, если передавать нужно не все группы товаров.
Настройка регламентных заданий
Для автоматизации обмена в 1С нужно настроить расписание этих операций. Сделать это можно в разделе Регламентные и фоновые задания, который находится в разделе Администрирование.
Нужно создать или найти задание Обмен с сайтом и указать периодичность и пользователя. После этого проверить, чтобы статус задачи был активным.
Выбор способа подключения: COM, HTTP, файлы
Подключаться к серверу нужно по http-соединению. Это наиболее удобный и безопасный вариант, который поддерживается типовыми конфигурациями. Для этого нужно, чтобы учетное приложение имело доступ в интернет.
Файловый обмен можно использовать, если cms и 1С находятся в одной сети и для них можно сделать общую папку. COM-соединение — это устаревший и нестабильный вариант, при выборе которого возникают сложности во время обмена большим объемом информации. Он сейчас практически не используется.
Параметры и особенности обмена
После подготовки системы управления сайтом и программы для учета необходимо настроить параметры обмена, чтобы сделать интеграцию гибкой и обеспечить точное сопоставление полей из базы данных и каталога.
Расписание обмена
Администратор системы может вручную запускать синхронизацию. Однако так поступать лучше только в процессе отладки. Во время коммерческой эксплуатации необходимо автоматизировать процесс с помощью расписаний.
Настроить автоматический запуск можно несколькими способами:
- через инструмент Регламентные задачи в программах 1С:Предприятие;
- через cron-задачу на сайте с CMS Битрикс;
- с помощью агентов Битрикс.
Частота обмена зависит от особенностей бизнес-процессов в компании:
- если продажи в интернет-магазине происходят постоянно и много — синхронизация раз в 10 мин;
- если продажи небольшие, нагрузка на сайт невысокая — раз в 60 минут;
- если сайт не используется для онлайн-продаж, а каталог изменяется крайне редко — раз в 24 часа.
Для уменьшения объема передаваемой информации можно настроить два отдельных обмена — каталога и остатков. Первый можно синхронизировать реже, например, раз в 24 часа, второй — часто, например, раз в 10 минут.
Отслеживать возможные ошибки помогает лог-файл, также можно включить уведомление о возможных сбоях, которое приходит на почту администратору системы.
Правила сопоставления полей
Для корректного отображения номенклатуры товаров в каталоге интернет-магазина интегратор должен правильно настроить сопоставление полей из баз данных.
Например:
| Объект | В приложении 1С | В CMS 1C-Битрикс |
|---|---|---|
| Артикул товара | Код или Артикул | CML2_ARTICLE |
| SKU товара | Номенклатура | catalog_product |
| Остаток на складе | Количество из приложения | CATALOG_QUANTITY |
| Цена | Вид цены в приложении | Цена в настройках карточки |
1С может передавать разные цены на сайт в зависимости от действующих маркетинговых предложений. Также остатки можно загружать с конкретного склада или по всем. При настройке интеграции важно убедиться, что идентифицирующие поля товара (артикул) не повторяются.
Работа с изображениями и свойствами товаров
Из 1С в каталог можно загружать фотографии товара с помощью XML-ссылки. На сайте картинка автоматически прикрепится к полю DETAIL_PICTURE, а также MORE_PHOTO, если есть дополнительные фото. Можно настраивать автоматическое добавление водяных знаков.
Для корректного обмена нужно проверить, что в 1С картинки добавлены в виде файла, а названия не содержат кириллических букв, пробелов или специальных символов.
Уникальные характеристики товаров в каталоге на сайте загружаются как свойство инфоблока, а в 1С они должны быть в Справочнике характеристик. В Битрикс при первой синхронизации нужные свойства создаются автоматически. Пользователь может менять их тип. По этой причине после загрузки нужно проверить, чтобы структура инфоблока была корректной. Для упрощения дальнейшей работы поля можно переименовать по своему усмотрению.
Если при обмене используются SKU, то свойства будут передаваться отдельно от основной информации про товар.
Проверка и отладка интеграции
После настройки интеграции сайта с учетными программами нужно проверить корректность обмена данными. Рассмотрим, какие проблемы могут возникнуть и как их можно устранить.
Типичные ошибки и пути их решения
Чаще всего интеграторы сталкиваются с такими ошибками:
- Ошибка 401/403 при попытке подключения 1С к сайту. Это происходит из-за отказа в доступе при вводе неверного логина или пароля, а также ограничения по IP-адресу. Нужно прописать корректные данные пользователя, проверить права доступа к файлу 1c_exchange.php и настроить IP в файле .htaccess.
- Ошибка 500. Внутренняя ошибка скрипта на PHP, обусловленная недостатком памяти или неправильной работой модуля. Нужно изучить лог PHP и выявить проблему, проверить ограничения памяти или обновить используемые модули.
- Появление дублей. При настройке неправильно сопоставлены идентификаторы товаров. Нужно проверить интеграцию и отключить пересоздание объектов.
- Отсутствие картинок. В 1С нет файла с изображением или в его названии используются спецсимволы. Нужно устранить обнаруженные проблемы.
- Неправильные надписи. Вместо букв на сайте появляются непонятные символы. В этом случае нужно выбрать одинаковую кодировку для Битрикс и 1С. При обмене используется UTF–8.
- Не загружаются заказы. Они могут не соответствовать установленным в настройках фильтрам. Нужно проверить выбранные опции в модуле обмена и указать те заказы, которые администратор собирается загружать.
Логирование процессов обмена
Активировать создание log-файла в CMS 1C-Битрикс нужно в панели администратора в разделе настроек интеграции с 1С. Там есть пункт меню Включить логирование, рядом с которым необходимо поставить галочку. Сам файл находится в каталоге /upload/ на сервере.
Помимо этого, доступен лог PHP-скриптов, а также агентов и cron-задач в Битриксе.
Приложения для 1С выводит логи процесса обмена в окне обработки при запуске в ручном режиме или сохраняет их в текстовый файл. Но для этого нужно предусмотреть эту возможность в коде или в настройках расширения.
Проверка корректности данных
После завершения тестового обмена необходимо удостовериться в том, что данные корректно передаются в обе стороны и отображаются в программах.
Что нужно проконтролировать:
- Товар — должны правильно отображаться названия позиций, стоимость, остаток на складе, картинка, артикул и уникальные свойства. Можно зайти в Каталог товаров в административной панели сайта и сравнить с номенклатурой в 1С.
- Разделы — при передаче должна сохраняться иерархия товаров, прописанная пользователем.
- Заказы — во время обмена передаются статусы, название товара, суммы, способы оплаты и доставки. Эти данные нужно сравнить в интерфейсе интернет-магазина и в учетной программе. В Битриксе эта информация сосредоточена в разделе Заказы, а в 1С — документы.
- Клиенты — сайт передает информацию про электронную почту, телефон, адрес доставки. Они будут отображаться в справочнике клиентов в 1С.
- Картинки — проверить, соответствуют ли фотографии товаров друг другу в обоих программах.
Автоматизировать этот процесс можно с помощью Excel. Например, экспортировать оба каталога в электронные таблицы и сопоставить их друг с другом. Если нужно сверять много позиций, можно написать скрипт с использованием API или SQL-запросов для извлечения данных.
Чтобы избежать проблем, можно сначала запустить небольшой обмен, например, синхронизировать 10 позиций товара и передать 2–3 заказа либо разделить сверку на несколько этапов.
Советы по оптимизации и безопасности
Процесс обмена может занимать много времени при передаче больших объемов информации. Кроме того, такая передача данных создает уязвимость и может использоваться злоумышленниками. В этом разделе дадим несколько советов, как избежать проблем.
Как ускорить обмен и избежать дублей
Для сокращения времени на синхронизацию данных необходимо фильтровать выгружаемую информацию, исключать архивные и неактуальные товары, а также не передавать ненужные характеристики. Можно обмениваться только измененными данными, для чего используется режим «изменения с последней выгрузки». При включении zip-сжатия скорость обмена увеличивается за счет уменьшения объема данных.
Предотвратить создание дублей можно несколькими способами:
- Использовать GUID для идентификации товара;
- Выключить автоматическое добавление товаров в каталоге Битрикс, в этом случае будут обновляться существующие;
- Выключить создание новых разделов, если структура каталога должна оставаться неизменной.
Ограничение доступа и защита данных
Во избежание несанкционированного и ошибочного изменения информации при обмене необходимо максимально ограничить права пользователя, от имени которого будет происходить обмен данными.
Как это сделать:
- Создать отдельного нового пользователя с минимальными правами и авторизоваться для обмена под его логином и паролем;
- Выключить режим отладки на сервере после завершения настроек и проверок;
- Переместить логи в закрытую папку сервера и не хранить ее в каталоге с публичным доступом;
- Использовать https-протокол на сайте и авторизоваться с помощью логина и пароля;
- Ограничить доступ к файлу с данными обмена по IP-адресу в файле .htaccess или настройках сервера с 1С-Битрикс.
Если пользоваться для настройки обмена услугами опытных интеграторов, они самостоятельно побеспокоятся о том, чтобы этот процесс был безопасным.
Рекомендации по обновлению модулей
Еще один важный фактор — поддержание в актуальном состоянии всех используемых модулей CMS. Если в них будут обнаружены уязвимости, разработчики обычно устраняют их в патчах и рассылают всем пользователям.
Кроме того, важно постоянно контролировать совместимость версий CMS и 1С, особенно если разработчики выпускают крупные обновления. Причем нужно обновлять не только сами системы, но и все задействованные модули.
Помощь в интеграции сайта с 1С специалистами компании Первый Бит
Приведенная выше инструкция лишь схематично описывает процесс интеграции системы управления сайтом с 1С:Управление торговлей, 1С:Розница и другими программами. В действительности во время настройки могут всплывать дополнительные проблемы, которые нужно устранять с использованием специальных знаний и навыков.
Компания «Первый Бит» специализируется на интеграции информационных решений и оказывает помощь в интеграции сайтов с 1С. Особенно важна помощь специалистов при настройке сложных нетиповых конфигураций, где необходима ручная настройка и написание скриптов.
Заключение
Даже если объем продаж в интернет-магазине небольшой, интеграция CMS 1C-Битрикс с 1С упростит передачу информации и защитит от ошибок, связанных с повторным вводом данных. Кроме того, синхронизация создаст потенциал для дальнейшего масштабирования работы и сократит нагрузку на менеджеров.
Специалисты «Первый Бит» оказывают услуги по настройке обмена данными между 1С-Битрикс и учетными приложениями на 1С:Предприятие, а также с другими элементами IT-инфраструктуры. Обратившись к нам, вы получите единое информационное поле, упростите и удешевите бизнес-процессы вашей компании.