• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/numerator/model/numerator.php
  • Класс: BitrixMainNumeratorModelNumeratorTable
  • Вызов: NumeratorTable::loadSettings
static function loadSettings($numeratorId)
{
	$numerator = static::getList([
		'select' => ['*',],
		'filter' => ['=ID' => $numeratorId],
	])->fetch();

	if ($numerator)
	{
		$result = [];
		$result[Numerator::getType()] = [
			'idFromDb' => $numerator['ID'],
			'name'     => $numerator['NAME'],
			'template' => $numerator['TEMPLATE'],
			'type'     => $numerator['TYPE'],
			'code'     => $numerator['CODE'],
		];
		$numeratorGenerators = Json::decode($numerator['SETTINGS']);
		$numberGeneratorFactory = new NumberGeneratorFactory();
		foreach ($numeratorGenerators as $generatorType => $numeratorGenerator)
		{
			$class = $numberGeneratorFactory->getClassByType($generatorType);
			if (in_array(Sequenceable::class, class_implements($class)))
			{
				$numeratorGenerators[$generatorType]['numeratorId'] = $numeratorId;
			}
		}
		return array_merge($result, $numeratorGenerators);
	}

	return $numerator;
}