Иногда бывает необходимо найти все дубликаты пользователей в 1С-Битрикс "Управление сайтом" и что-то с ними сделать, например объединить. Прежде найдем эти аккаунты. Для этого можно использовать простой код. $query = \Bitrix\Main\UserTable::query();
$query->setSelect(['EMAIL']);
$query->addSelect(new \Bitrix\Main\ORM\Fields\ExpressionField('CNT', 'COUNT(%s)', 'EMAIL'));
$query->setGroup('EMAIl');
$query->having('CNT', '>', 1);
$query->setLimit(10); // для примера возьмем только 10
$dbr = $query->exec();
while( $ar = $dbr->fetch())
{
echo '<pre>';
print_r($ar);
echo '</pre>';
} При этом формируется sql запрос SELECT
`main_user`.`EMAIL` AS `EMAIL`,
COUNT(`main_user`.`EMAIL`) AS `CNT`
FROM `b_user` `main_user`
GROUP BY `main_user`.`EMAIL`
HAVING COUNT(`main_user`.`EMAIL`) > '1'
LIMIT 0, 10 В итоге нам известен список email адресов с дубликатами. Далее проходим по каждому и переносим его заказы, профили покупателя на другой аккаунт. При необходимости можно доб