Налаштування обміну 1С: Управління виробничим підприємством (УПП) та 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування обміну 1С: Управління виробничим підприємством (УПП) та 1С-Бітрікс
Проста
~1 робочий день
Часті питання

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

Етапи розробки

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

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування обміну 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 і структура каталогу повинні зберегтися при міграції.