Інтеграція 1С:УПП з 1С-Бітрікс: налаштування надійного обміну

Зіткнулися з тим, що при обміні 1С:УПП з сайтом 1С-Бітрікс постійно зростає пам'ять, а характеристики продукції не вивантажуються? Це типова ситуація для підприємств, які експлуатують УПП. Механізм обміну тут успадкований від старих версій платформи: CommerceML 2.05 замість 2.08, застарілий протокол
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Інтеграція 1С:УПП з 1С-Бітрікс: налаштування надійного обміну
Простий
~1 день

Наші компетенції:

Часті запитання

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1460
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019
  • Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    764
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    882
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    809
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1166

Зіткнулися з тим, що при обміні 1С:УПП з сайтом 1С-Бітрікс постійно зростає пам'ять, а характеристики продукції не вивантажуються? Це типова ситуація для підприємств, які експлуатують УПП. Механізм обміну тут успадкований від старих версій платформи: CommerceML 2.05 замість 2.08, застарілий протокол, обмежена підтримка характеристик. «Просто підключити» за стандартом не вийде — потрібні доопрацювання. Ми, як сертифіковані спеціалісти, вирішуємо такі завдання вже понад п'ять років. Наш досвід — понад 50 проєктів з інтеграції 1С з Бітрікс, включаючи виробничі підприємства з каталогами до 100 000 позицій. Налаштуємо інкрементальний обмін, усунемо витоки пам'яті, організуємо двосторонню передачу замовлень.

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

УПП працює на платформі 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 управління пам'яттю краще, проблема менш виражена
  • Фільтрація на рівні запиту: вивантажувати тільки «Для сайту» (ввести реквізит-прапорець у номенклатуру)

Порівняння підходів до обміну

Аспект Повний обмін Інкрементальний обмін
Час виконання до 2 годин 5–15 хвилин
Навантаження на сервер високе низьке
Ризик помилок при збої повтор повного вивантаження повтор тільки змінених

Інкрементальний обмін кращий за повний у 4–8 разів за часом і значно знижує навантаження на сервер. Економія часу та ресурсів очевидна.

Порівняння платформ 1С для обміну

Платформа Управління пам'яттю Підтримка характеристик Продуктивність
1С 8.2 погане обмежена низька
1С 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 (умовно «в наявності для замовлення»).

Що входить у роботу

При налаштуванні обміну УПП ↔ Бітрікс ми надаємо:

  • Аудит поточного обміну та конфігурації 1С
  • Доопрацювання типової обробки вивантаження (інкрементальний режим, пакетне відправлення)
  • Налаштування параметрів сервера (таймаути, пам'ять, cron)
  • Реалізацію фільтрації та вивантаження характеристик
  • Тестування на тестовому контурі
  • Навчання співробітників основам підтримки
  • Документацію з архітектури обміну

Терміни та складність

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

CommerceML — офіційний протокол обміну, який підтримується обома системами.

Зв'яжіться з нами, щоб обговорити ваш проєкт. Гарантуємо стабільну роботу обміну після впровадження. Замовте налаштування вже сьогодні — отримайте консультацію інженера безкоштовно.