Налаштування обміну 1С:Комплексна автоматизація і 1С-Бітрікс
1С:Комплексна автоматизація (КА) — конфігурація, яку часто вибирають компанії, що виросли з УТ, але не готові до складності ERP. З точки зору інтеграції з Бітрікс вона цікавіша за УТ: тут є CRM, виробництво, зарплата — і дані з усіх цих підсистем іноді потрібні на сайті. При цьому механізм вивантаження CommerceML у КА успадкований від УТ і має ті самі обмеження.
Що КА вміє в обміні і де не вистачає
У КА вбудований вузол обміну з сайтом — практично ідентичний вузлу в УТ 11. Вивантажує: номенклатуру з характеристиками, ціни (кілька видів), залишки по складах, замовлення покупців. Не вивантажує «з коробки»: дані CRM (контрагенти, угоди), виробничі замовлення, документи взаєморозрахунків у вигляді, зручному для сайту.
Особливість КА: конфігурація регулярно оновлюється, і оновлення іноді зачіпають модуль обміну. Якщо ви доопрацьовували вивантаження на стороні КА (додавали теги в XML), після оновлення конфігурації доопрацювання можуть злетіти. Фіксуйте зміни в розширенні конфігурації, а не в самій конфігурації.
Налаштування вузла обміну в КА
Шлях: Адміністрування → Обмін даними → Обмін із сайтом на 1С-Бітрікс.
Створюємо новий вузол. Обов'язкові параметри:
-
Адреса сайту —
https://example.com/bitrix/admin/1c_exchange.php - Логін/пароль — користувач Бітрікс із правами на обмін (група «Адміністратори» або кастомна роль)
- Організація — яку організацію вивантажуємо (якщо їх кілька)
- Вид цін — одна або кілька цінових груп
- Склади — вибираємо конкретні склади або «всі»
Тонкість із цінами: у КА можна налаштувати вивантаження кількох видів цін одночасно. На стороні Бітрікс кожен вид ціни — це окремий тип ціни в торговому каталозі. Відповідність налаштовується в Налаштування → Торговий каталог → Типи цін.
Характеристики номенклатури: типова проблема
У КА характеристики номенклатури зберігаються в регістрі відомостей ЗначенняВластивостейОб'єктів. При вивантаженні вони потрапляють у секцію Властивості XML. Бітрікс читає їх і створює властивості інфоблоку.
Проблема виникає, коли характеристика в КА — посилальний тип (наприклад, «Виробник» → довідник Контрагентів). Бітрікс отримує GUID контрагента замість його назви. Потрібен обробник, який при обробці XML підміняє GUID на рядкове значення.
// Обробник події обміну
AddEventHandler('catalog', 'OnIBlockCMLImport2ElementAdd',
'fixReferenceProperties');
function fixReferenceProperties(&$arFields, &$arProps, $arXML) {
// Якщо значення властивості — GUID (формат 8-4-4-4-12)
foreach ($arProps as $propCode => &$propVal) {
if (preg_match(
'/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i',
$propVal
)) {
// Шукаємо значення в таблиці маппінгу
$propVal = getPropertyValueByGuid($propCode, $propVal);
}
}
}
Обмін замовленнями: від Бітрікс до КА
Замовлення з Бітрікс у КА передаються у форматі CommerceML — секція Документи. У КА вони створюються як «Замовлення покупця» у відповідному розділі.
Критичний момент: статуси замовлень. У Бітрікс статус — це код (наприклад, N, P, F). У КА — перелічення (НовеЗамовлення, УРоботі, Виконано). Відповідність потрібно налаштовувати вручну у вузлі обміну з обох сторін. Без цього замовлення створюються в КА без статусу або з невірним.
Додаткові поля замовлення. Якщо на сайті є кастомні поля (наприклад, «Бажана дата доставки», «Коментар до замовлення»), вони передаються через ЗначенняРеквізиту в XML замовлення. На стороні КА потрібно додати відповідні реквізити в об'єкт «Замовлення покупця» та прописати їх у налаштуваннях вузла обміну.
Кейс: КА + мультисклад + кілька сайтів
Дистриб'ютор побутової техніки: КА з 3 складами (Москва, Казань, Краснодар), два сайти на Бітрікс — роздрібний і оптовий (різні ціни, різні залишки).
Рішення: два вузли обміну в КА — по одному на кожен сайт. Кожен вузол налаштований на свій вид цін і свій набір складів. Інкрементальний обмін (тільки зміни) — кожні 20 хвилин. Повний обмін — вночі.
Складність: обидва сайти на одному сервері, PHP-процеси обміну перетиналися за часом і блокували lock-файл Бітрікс. Вирішили додаванням затримки в cron: роздрібний запускається о 00:00, оптовий — о 00:15.
Терміни налаштування
Базове налаштування (номенклатура + ціни + залишки + замовлення) — 2–4 робочих дні. Якщо потрібні нестандартні сутності (характеристики-посилання, мультисклад, кілька сайтів) — 5–10 днів із тестуванням.







