Услуги по интеграции 1С-Битрикс с 1С

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 30 из 212 услугВсе 1626 услуг
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    745
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

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

CommerceML: почему стандартный обмен — это и спасение, и ловушка

Модуль обмена на базе CommerceML 2.0 — первое, что подключают. И правильно: с типовой Управлением торговлей или Комплексной автоматизацией он заводится за день-два. Товары, цены, остатки, заказы — всё через XML-файлы по расписанию. Для магазина на 3 000 позиций с парой обновлений в сутки этого хватает с запасом.

Проблемы начинаются, когда каталог перерастает 30 000 SKU.

bitrix_1c_exchange.php генерирует XML на стороне Битрикса, 1С его забирает и парсит. На больших каталогах парсер начинает активно писать во временную таблицу b_xml_tree — и вот тут MySQL может встать колом. Мы видели проект, где стандартный обмен 180 000 товаров занимал 6 часов и полностью блокировал сервер: ни админка, ни фронт не открывались.

Решение — инкрементальный обмен. В настройках узла обмена на стороне 1С ставим «Выгружать только изменённые» и разбиваем выгрузку на пакеты по 500-1000 элементов. На стороне Битрикса — кастомный обработчик, который не пересоздаёт b_xml_tree каждый раз, а работает через CIBlockXMLFile::ReadXMLToDatabase() с контролем порций. Каталог в 200 000 SKU начинает обновляться за 8-12 минут.

Ещё один классический подводный камень — EXTERNAL_ID. При повторном импорте товаров Битрикс сопоставляет элементы инфоблоков по внешнему коду. Если в 1С товар был удалён и создан заново с новым GUID, на сайте появляется дубль. Со старыми отзывами на одной карточке и нулевыми — на другой. Лечится жёсткой привязкой по артикулу через кастомный обработчик события OnBeforeIBlockElementAdd.

Когда CommerceML уже не тянет

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

CommerceML работает с фиксированной структурой XML. Если в 1С изменили состав реквизитов номенклатуры или добавили нестандартный документ — обмен молча пропускает эти данные. Или падает с непонятной ошибкой в журнале регистрации 1С, а в Битрикс вообще ничего не пишется.

В таких случаях делаем кастомную выгрузку. На стороне 1С пишем обработку, которая формирует JSON (не XML — парсить быстрее, отлаживать проще) и отправляет через REST API Битрикса. Полный контроль: какие поля берём, как трансформируем, что делаем при конфликте. Для совсем тяжёлых случаев — D7 API с прямой работой через \Bitrix\Catalog\ProductTable и \Bitrix\Sale\Order.

Цены, остатки и мультисклад

Стандартный обмен умеет передавать один тип цены. В реальности их может быть 15: розничная, оптовая, дилерская, акционная, региональная, валютная. Плюс у каждой — своя группа покупателей и приоритет. Маппинг между ценовыми группами 1С и группами пользователей Битрикса — отдельная инженерная задача. Особенно весело, когда скидки пересекаются и нужно определить, какая цена побеждает.

Мультисклад добавляет ещё один слой: товар есть на складе в Москве, нет в Питере, и «под заказ» в Новосибирске. На сайте нужно показать наличие по каждой точке, подключить выбор пункта самовывоза и рассчитать доставку от ближайшего склада, где товар физически есть. Стандартный модуль складского учёта Битрикс (catalog.store) справляется с отображением, но логику «откуда отгружать» пишем отдельно.

Заказы и документооборот

Заказ с сайта улетает в 1С, формируется реализация, товар резервируется. Статусы возвращаются обратно. На бумаге — просто. На практике — нюансы.

Главный: частичная отгрузка. Клиент заказал 5 позиций, 3 есть на складе, 2 придут через неделю. 1С формирует два документа реализации. Битрикс из коробки не умеет разбивать один заказ на несколько отгрузок — дорабатываем обработчик OnSaleOrderSaved, который создаёт дочерние заказы и синхронизирует статусы по каждому.

Документы в личном кабинете — счета, акты, накладные из 1С — отдаём через REST, PDF генерируется на стороне 1С и кэшируется на CDN. Покупатель скачивает не из 1С напрямую (это убило бы сервер), а из кэша.

Мониторинг: не «настроил и забыл»

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

Минимальный набор, который ставим на каждом проекте:

  • Алерт в Telegram, если время обмена выросло в 3+ раза от среднего
  • Проверка расхождения остатков: скрипт сравнивает b_catalog_product.QUANTITY с тем, что отдаёт 1С, и кричит при дельте больше 5%
  • Дашборд: последняя синхронизация, количество обработанных позиций, очередь, ошибки

Для проектов с высокой нагрузкой добавляем асинхронные очереди на Redis или RabbitMQ. Обмен не блокирует веб-сервер, данные не теряются при кратковременном падении 1С.

Связка с Битрикс24

Если кроме сайта есть корпоративный портал на Битрикс24 — связываем и его. Контрагенты из CRM летят в 1С, счета из 1С появляются в карточке сделки. Менеджер видит дебиторку и взаиморасчёты, не переключаясь между окнами. Закрыли сделку — документы сформировались сами.

Оплата поступила в 1С → логист получает задачу на отгрузку в Битрикс24. Товар отгружен → менеджер видит уведомление. Автоматические задачи по событиям из 1С — через вебхуки Битрикс24 REST API.

Стоимость

Типовой обмен каталогом и заказами через CommerceML — от 50 000 ₽, запускается за 1-2 недели. Расширенный обмен с мультискладом, типами цен и контрагентами — от 120 000 ₽. Полная кастомная интеграция 1С + сайт + Битрикс24 — от 250 000 ₽, срок 1-2 месяца. Окупается за 2-6 месяцев: магазин с 5 000 товаров экономит 40-80 часов ручной работы оператора в месяц, а автоматическая синхронизация остатков убирает ситуации «заказал — а товара нет».