• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Badge/Badge.php
  • Класс: Bitrix\Crm\Badge\Badge
  • Вызов: Badge::rebindSource
static function rebindSource(SourceIdentifier $oldSource, SourceIdentifier $newSource): void
{
	$dbResult = BadgeTable::query()
		->where('SOURCE_PROVIDER_ID', $oldSource->getProviderId())
		->where('SOURCE_ENTITY_TYPE_ID', $oldSource->getEntityTypeId())
		->where('SOURCE_ENTITY_ID', $oldSource->getEntityId())
		->exec()
	;

	while ($row = $dbResult->fetchObject())
	{
		$row
			->set('SOURCE_PROVIDER_ID', $newSource->getProviderId())
			->set('SOURCE_ENTITY_TYPE_ID', $newSource->getEntityTypeId())
			->set('SOURCE_ENTITY_ID', $newSource->getEntityId())
		;

		$row->save();
	}
}