Настройка синхронизации пользователей 1С и 1С-Битрикс
Когда база клиентов ведётся в 1С, а сайт — в Битрикс, рано или поздно встаёт вопрос: как пользователь из 1С получает доступ к личному кабинету на сайте? Ручной перенос нескольких тысяч записей — не ответ. Нужна синхронизация.
Направление синхронизации
Определить до начала работ:
- 1С → сайт: клиентская база ведётся в 1С, сайт получает актуальные данные
- Сайт → 1С: регистрация на сайте создаёт контрагента в 1С
- Двусторонняя: изменения в любой системе синхронизируются
Чаще встречается первый вариант: 1С — мастер-система, сайт — потребитель данных.
Передача пользователей через CommerceML
Стандартный обмен передаёт пользователей как контрагентов в составе заказов. Для выгрузки всей базы клиентов без заказов — нужен отдельный XML-файл или REST API.
Минимальный набор полей для создания пользователя на сайте:
<Контрагент>
<Ид>CLIENT_1C_GUID</Ид>
<Наименование>Иванов Иван Иванович</Наименование>
<Контакты>
<Контакт>
<Тип>Почта</Тип>
<Значение>[email protected]</Значение>
</Контакт>
<Контакт>
<Тип>Телефон</Тип>
<Значение>+79001234567</Значение>
</Контакт>
</Контакты>
</Контрагент>
Импорт пользователей на стороне Битрикс
Создание пользователя через 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 дня.







