Настройка обмена 1С:Управление производственным предприятием (УПП) и 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка обмена 1С:Управление производственным предприятием (УПП) и 1С-Битрикс
Простая
~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 2.05 вместо 2.08, устаревший протокол, ограниченная поддержка характеристик. Это означает, что «просто подключить» по стандарту не получится — нужны доработки.

Технический контекст УПП

УПП работает на платформе 1С 8.2/8.3, конфигурация поддерживается в режиме «совместимость». Встроенный механизм обмена с сайтом (раздел Управление торговлей → Обмен с сайтом) реализует базовый CommerceML: выгрузка номенклатуры, цен, остатков; приём заказов.

Что работает плохо:

  • Характеристики номенклатуры выгружаются нестабильно на крупных каталогах (утечка памяти в 8.2)
  • Нет поддержки zip-архивирования при выгрузке (большие XML)
  • Нет инкрементального обмена «из коробки» — только полный
  • Устаревший формат дат и кодировок в некоторых сборках

Доработка инкрементального обмена

Самая частая задача при интеграции УПП с Битрикс — сделать частичный обмен (только изменённые записи), чтобы не гонять полный каталог каждые 30 минут.

В УПП это решается через внешнюю обработку. Создаём обработку «ВыгрузкаИзменённойНоменклатуры», которая:

  1. Читает дату последнего успешного обмена из регистра сведений
  2. Выбирает номенклатуру, изменённую после этой даты
  3. Формирует XML только для изменённых позиций
  4. Вызывает стандартный механизм отправки через HTTP

Дата последнего обмена сохраняется в регистре после успешного ответа сервера. При ошибке — не обновляется, следующий запуск повторяет передачу изменений.

Проблема с памятью при полном обмене

УПП на платформе 8.2 имеет известную проблему: при формировании большого XML (от 50 тыс. позиций) процесс 1С растёт по памяти до нескольких гигабайт и может упасть.

Решения:

  • Пакетная выгрузка: разбить полный каталог на пакеты по 5000 позиций, отправлять последовательно. На стороне Битрикс включить режим «сессионной» загрузки (флаг mode=file в протоколе обмена)
  • Переход на платформу 8.3: в 8.3 управление памятью лучше, проблема менее выражена
  • Фильтрация на уровне запроса: выгружать только «Для сайта» (ввести реквизит-флаг в номенклатуру)

Настройка на стороне Битрикс для УПП

При работе с УПП важно настроить таймаут в Битрикс:

В /bitrix/php_interface/dbconn.php или через .htaccess:

php_value max_execution_time 600
php_value memory_limit 1024M

Для cron-обработки обмена (если используется pull-режим):

# /etc/cron.d/bitrix-1c-exchange
*/30 * * * * www-data php -c /etc/php/cli-1c.ini /var/www/bitrix/import.php

Отдельный php.ini для cron (cli-1c.ini) с увеличенными лимитами — правильная практика, не затрагивающая веб-сервер.

Двусторонний обмен: заказы из Битрикс в УПП

Заказы попадают в УПП как «Заказ покупателя». Частая проблема: в УПП заказ покупателя требует обязательного указания договора (контракта) с контрагентом. При создании нового контрагента (нового покупателя с сайта) договора нет — и заказ создаётся с ошибкой или не проводится.

Решение: в обработке импорта заказов в УПП добавляем автоматическое создание договора по умолчанию для новых контрагентов. Шаблон договора (вид, валюта, организация) — фиксированный для всех заказов с сайта.

Кейс: производственное предприятие, смешанный каталог

Производитель металлоконструкций: каталог из 8000 изделий, у каждого — технические характеристики (ГОСТ, марка стали, габариты). Часть продукции — под заказ (изготавливается), часть — со склада.

Задача на сайте: показывать признак «под заказ / в наличии» с актуальными остатками для складской продукции.

Реализация: в номенклатуре УПП добавлен реквизит «Тип продажи» (Справочник). При выгрузке он передаётся в ДополнительныеРеквизиты. На стороне Битрикс — свойство «Тип продажи» управляет отображением кнопки «В корзину» / «Запросить стоимость».

Остатки выгружаются только для складской продукции (фильтр по «Типу продажи»). Для «под заказ» остаток всегда = 999 (условно «в наличии для заказа»).

Сроки и сложность

Настройка обмена УПП ↔ Битрикс: 4–10 рабочих дней. Сложнее, чем с УТ/КА из-за устаревшего протокола. Если УПП планируется к замене на ERP — рекомендую вести интеграцию так, чтобы на стороне Битрикс логика не привязывалась к специфике УПП: XML_ID и структура каталога должны сохраниться при миграции.