• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/businessvalue.php
  • Класс: BitrixSaleBusinessValue
  • Вызов: BusinessValue::getConsumers
static function getConsumers()
{
	if (! self::$consumers)
	{
		self::$commonConsumer = array(
			'NAME'  => Loc::getMessage('BIZVAL_CONSUMER_COMMON'),
			'SORT'  => 0,
			'CODES' => array(),
		);

		self::$consumers[''] =& self::$commonConsumer;

		foreach (EventManager::getInstance()->findEventHandlers('sale', 'OnGetBusinessValueConsumers') as $handler)
		{
			$result = ExecuteModuleEventEx($handler); // TODO modern api

			if (is_array($result))
			{
				foreach ($result as $consumerKey => &$consumer) // by ref!
				{
					if ($consumerKey && is_array($consumer))
					{
						self::addConsumerByRef($consumerKey, $consumer);
					}
				}
			}
		}
		self::sortArray(self::$commonConsumer['CODES']);

		self::sortArray(self::$consumers);

//			if (self::$commonConsumer['CODES'] &&
//				(self::$commonConsumer['CODES'] = array_filter(
//					self::$commonConsumer['CODES'],
//					function ($i) {return count($i['CONSUMERS']) > 1 && (! is_array($i['DOMAINS']) || $i['DOMAINS']);}
//				)))
//			{}
	}

	return self::$consumers;
}