Интеграция сайта с 1С

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.
Разработка и обслуживание любых видов сайтов:
Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 15 из 15 услугВсе 2065 услуг
Сложная
~3-5 рабочих дней
Сложная
от 1 недели до 3 месяцев
Сложная
~3-5 рабочих дней
Средняя
~2-3 рабочих дня
Сложная
от 2 недель до 3 месяцев
Сложная
от 1 недели до 3 месяцев
Сложная
~1-2 недели
Сложная
~2-4 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1212
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    852
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1041
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    822
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    815

Интеграция с 1С:Предприятие: обмен товарами, заказами, остатками

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

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

Протоколы и подходы

CommerceML 2.x — стандартный протокол обмена, который поддерживают 1С:Управление торговлей, 1С:Комплексная автоматизация и ряд других конфигураций. WooCommerce и некоторые другие CMS имеют встроенную поддержку (плагин «1С-Битрикс» для своих продуктов, отдельные плагины для WordPress). Поток: 1С инициирует обмен → отправляет ZIP-архив с XML на endpoint сайта → сайт разбирает, обновляет каталог.

Формат CommerceML — XML со своей схемой: КоммерческаяИнформация, Классификатор, Каталог, ПакетПредложений. Категории, товары, характеристики, изображения, цены, остатки. Главная сложность — иерархия характеристик в 1С и атрибуты товаров на сайте не всегда совпадают один к одному. Нужен маппинг.

REST API напрямую. Для нестандартных конфигураций 1С или когда CommerceML не подходит — пишем HTTP-сервис в 1С (встроенная возможность начиная с версии 8.3) и взаимодействуем через REST JSON. Это даёт полный контроль над структурой данных и частотой синхронизации, но требует разработки со стороны 1С-программиста.

Промежуточная шина. Для enterprise-задач с несколькими учётными системами — Message Broker (RabbitMQ, Apache Kafka) как посредник. 1С публикует события в очередь, сайт подписывается и обрабатывает. Гарантированная доставка, буферизация при недоступности одной из сторон.

Что синхронизируем и как

Каталог (товары, категории, характеристики). Самая объёмная часть. Полная выгрузка при первом запуске, дельта-обновления в дальнейшем. При импорте CommerceML: парсим XML через PHP SimpleXML или XMLReader (для больших файлов — только XMLReader, иначе memory limit). Сопоставляем товары по ИД из 1С, который храним в отдельном поле БД. Если товар удалён в 1С — скрываем на сайте, не удаляем (история заказов может ссылаться).

Остатки и цены. Это отдельный ПакетПредложений в CommerceML, обновляется чаще каталога. Критично делать атомарно: не обновлять остаток по одному, а транзакцией. Иначе в момент обновления пользователь может увидеть неконсистентное состояние. Частота: раз в час для спокойного режима, раз в 5–15 минут для активной торговли.

Заказы. Двусторонний обмен. Сайт → 1С: новый заказ передаётся с номенклатурой, количеством, ценами, контактными данными покупателя. 1С → сайт: статус заказа (оплачен, собран, отгружен, доставлен). Для передачи заказов — либо тот же CommerceML (блок Документы), либо прямой REST-вызов при создании заказа на сайте.

Типичные проблемы, которые решаем

Дублирование товаров. 1С-оператор создал позицию с опечаткой в артикуле, потом исправил. На сайте — два товара. Решение: сопоставление по GUID из 1С (не по артикулу), GUID неизменен.

Кириллица в XML и кодировки. 1С исторически работает с Windows-1251. CommerceML файл может прийти в CP1251, PHP ожидает UTF-8. mb_convert_encoding() или iconv() в первых строках парсера — обязательно.

Таймауты при большой выгрузке. Каталог из 100 000 позиций — это 50–200MB XML. PHP default execution time 30s не хватит. Решение: CLI-команда (Laravel Artisan или Symfony Console), запускаемая через cron, без HTTP timeout. Либо chunked processing через XMLReader с частичными коммитами в БД.

Изображения. 1С может передавать изображения Base64 внутри XML (раздувает файл в 1.3 раза) или ссылками на файлы. Второй вариант предпочтительнее. Скачиваем асинхронно, конвертируем в WebP, кладём в медиабиблиотеку.

Кейс: интернет-магазин запчастей, 85 000 SKU. Синхронизация через CommerceML каждые 30 минут. Проблема: полная выгрузка занимала 18 минут, в итоге новая выгрузка начиналась, пока старая ещё шла. Решение: lock через Redis (SET nx ex), дельта-выгрузка (только изменённые позиции за последние 2 часа через фильтр в 1С), обработка через очередь с 20 параллельными workers. Время синхронизации: 18 минут → 2.5 минуты, конфликтов нет.

Процесс и сроки

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

Участие 1С-программиста со стороны клиента — обязательно или мы привлекаем проверенного специалиста.

Сценарий Срок
CommerceML, каталог + остатки, WooCommerce 2–4 недели
Двусторонний обмен заказами +2–3 недели
Кастомная конфигурация 1С, REST API 4–8 недель
Enterprise: несколько баз 1С, шина данных 2–4 месяца

Стоимость рассчитывается индивидуально.