Налаштування синхронізації користувачів 1С і 1С-Бітрікс
Коли база клієнтів ведеться в 1С, а сайт — у Бітрікс, рано чи пізно постає питання: як користувач із 1С отримує доступ до особистого кабінету на сайті? Ручне перенесення кількох тисяч записів — не відповідь. Потрібна синхронізація.
Напрямок синхронізації
Визначити до початку робіт:
- 1С → сайт: клієнтська база ведеться в 1С, сайт отримує актуальні дані
- Сайт → 1С: реєстрація на сайті створює контрагента в 1С
- Двостороння: зміни в будь-якій системі синхронізуються
Найчастіше зустрічається перший варіант: 1С — майстер-система, сайт — споживач даних.
Передача користувачів через CommerceML
Стандартний обмін передає користувачів як контрагентів у складі замовлень. Для вивантаження всієї бази клієнтів без замовлень — потрібен окремий XML-файл або REST API.
Мінімальний набір полів для створення користувача на сайті:
<Контрагент>
<Ід>CLIENT_1C_GUID</Ід>
<Найменування>Іванов Іван Іванович</Найменування>
<Контакти>
<Контакт>
<Тип>Пошта</Тип>
<Значення>[email protected]</Значення>
</Контакт>
<Контакт>
<Тип>Телефон</Тип>
<Значення>+380501234567</Значення>
</Контакт>
</Контакти>
</Контрагент>
Імпорт користувачів на стороні Бітрікс
Створення користувача через API:
$user = new CUser;
$arFields = [
'EMAIL' => $email,
'NAME' => $firstName,
'LAST_NAME' => $lastName,
'LOGIN' => $email,
'PASSWORD' => \Bitrix\Main\Security\Random::getString(12),
'ACTIVE' => 'Y',
'UF_1C_ID' => $oneCGuid,
];
$userId = $user->Add($arFields);
Після створення — надсилання листа з посиланням для встановлення пароля (CONFIRM_CODE через CUser::SendUserInfo).
Уникнення дублів
Перед створенням користувача — перевірка за email і за UF_1C_ID:
$existing = \Bitrix\Main\UserTable::getList([
'filter' => ['=UF_1C_ID' => $oneCGuid],
'select' => ['ID'],
])->fetch();
if ($existing) {
// оновити дані, не створювати
}
Групи доступу
Користувачі з 1С, як правило, поділяються на групи: роздрібні покупці, оптові клієнти, партнери. Група передається через поле «Вид контрагента» в XML і маппується на групи користувачів Бітрікс із відповідними типами цін.
Терміни налаштування
Налаштування односторонньої синхронізації користувачів 1С → Бітрікс — 1–2 дні.







