• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/location/normalizer/helper.php
  • Класс: BitrixSaleLocationNormalizerHelper
  • Вызов: Helper::fillNormNameColumn
static function fillNormNameColumn($startId = 0, $timeout = 0, $limit = 100)
{
	/** @var INormalizer[] $normalizers */
	$startTime = microtime(false);
	$normalizers = [];
	$glParams = [
		'filter' => [
			'>=ID' => $startId,
			'=NAME_NORM' => false
		]
	];

	if($limit > 0)
	{
		$glParams['limit'] = $limit;
	}

	$res = NameLocationTable::getList($glParams);
	$lastId = $startId;

	while($row = $res->fetch())
	{
		if(!isset($normalizers[$row['LANGUAGE_ID']]))
		{
			$normalizers[$row['LANGUAGE_ID']] = BitrixSaleLocationNormalizerBuilder::build($row['LANGUAGE_ID']);
		}

		NameLocationTable::update(
			$row['ID'],
			[
				'NAME_NORM' => $normalizers[$row['LANGUAGE_ID']]->normalize($row['NAME'])
			]
		);

		$lastId = $row['ID'];

		if($timeout && $startTime + $timeout >= microtime(false))
		{
			break;
		}
	}

	return $lastId;
}