Налаштування односторонньої вивантаження з 1С у 1С-Бітрікс
Одностороннє вивантаження — сценарій, коли 1С є єдиним джерелом істини для каталогу: ціни, залишки, характеристики товарів управляються тільки в 1С і передаються на сайт. Сайт нічого не відправляє назад у товарну частину. Простота схеми — її головна перевага, і водночас головне джерело проблем при неправильному налаштуванні.
Коли це правильний вибір
Одностороння схема виправдана, коли:
- Контент товарів (описи, фото) ведеться на сайті, а облікові дані (ціни, залишки, артикули) — в 1С
- Немає ризику конфлікту версій — 1С завжди перезаписує дані на сайті
- Простота обслуговування важливіша за гнучкість, а обмін налаштовують один раз надовго
Помилка: використовувати одностороннє вивантаження і при цьому редагувати ціни або залишки на сайті вручну. При наступному обміні всі зміни перезапишуться без попередження. Це головна причина інцидентів у магазинах з новими менеджерами.
Налаштування заборони зворотної передачі
У налаштуваннях модуля обміну на сайті вимкнути обмін замовленнями, якщо він не потрібен:
Налаштування → Налаштування продуктів → Інтернет-магазин → Обмін з 1С → Замовлення:
- Опція «Вивантажувати замовлення в 1С»: вимкнути, якщо замовлення в 1С не потрібні
На стороні 1С у регламентному завданні:
- Увімкнути тільки «Вивантаження товарів та залишків»
- Вимкнути «Завантаження замовлень з сайту»
Захист контенту від перезапису
Ключове завдання при односторонньому вивантаженні — чітко визначити, які поля приходять з 1С, а які управляються на сайті.
Налаштування → Налаштування продуктів → Інтернет-магазин → Поля для оновлення:
Рекомендований список полів для перезапису з 1С:
- Назва (
NAME) — якщо в 1С ведеться нормальна номенклатура - Ціни — завжди з 1С
- Залишки — завжди з 1С
- Артикул (
ARTICLE) — завжди з 1С
Поля, які мають залишитися під управлінням сайту:
-
DETAIL_TEXT— SEO-опис, написаний копірайтером -
PREVIEW_PICTURE,DETAIL_PICTURE— ретушовані фото - Властивості-теги (
SEO_*,META_*) — метадані для пошукових систем
Для точного контролю на рівні коду — обробник OnIBlockElementBeforeUpdate, який перевіряє список захищених полів і видаляє їх з масиву оновлення:
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'iblock',
'OnIBlockElementBeforeUpdate',
function(\Bitrix\Main\Event $event) {
$fields = $event->getParameter('fields');
$protectedFields = ['DETAIL_TEXT', 'PREVIEW_PICTURE'];
foreach ($protectedFields as $field) {
unset($fields[$field]);
}
return new \Bitrix\Main\EventResult(
\Bitrix\Main\EventResult::SUCCESS,
['fields' => $fields]
);
}
);
Деактивація товарів, відсутніх у вивантаженні
Опція «Деактивувати товари, не передані при обміні» — небезпечна, але часто потрібна. Якщо в 1С товар знятий з продажу — він має зникнути з сайту. Вмикати тільки переконавшись, що повне вивантаження дійсно включає весь активний асортимент. Часткові вивантаження (тільки змінені позиції) разом з цією опцією не працюють — деактивують все, чого не було у файлі.
Терміни налаштування
Налаштування односторонньої вивантаження із захистом контентних полів — 4–8 годин. Складніше, якщо потрібно розібратися з історичними даними і привести до єдиного вигляду існуючий каталог, — 1–2 дні.







