• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/helpers/admin/businessvalue.php
  • Класс: BitrixSaleHelpersAdminBusinessValueControl
  • Вызов: BusinessValueControl::getConsumerInputs
static function getConsumerInputs(array $consumers, array $groups)
{
	$consumerInput = array(
		'TYPE'     => 'ENUM',
		'REQUIRED' => true,
	);

	$consumerCodeInput = array();

	$consumerOptions = array();

	foreach ($consumers as $consumerKey => $consumer)
	{
		if (is_array($consumer) && isset($consumer['CODES']) && is_array($consumer['CODES']))
		{
			$consumerCodes = $consumer['CODES'];
			$consumerGroup = $consumer['GROUP'] ?? null; // null is GENERAL

			$consumerOptions[$consumerGroup][$consumerKey] = $consumer['NAME'] ?? $consumerKey;

			$codeOptions = array();

			foreach ($consumerCodes as $codeKey => $code)
			{
				if (is_array($code) && isset($code['GROUP']))
				{
					$codeOptions[$code['GROUP']][$codeKey] = $code['NAME'] ?? $codeKey;
				}
			}

			if (count($codeOptions) == 1)
			{
				$codeOptions = reset($codeOptions);
			}
			else
			{
				self::sortRenameGroups($codeOptions, $groups, true);
			}

			$consumerCodeInput[$consumerKey] = array(
				'TYPE' => 'ENUM',
				'OPTIONS' => array('' => Loc::getMessage('BIZVAL_PAGE_ALL')) + $codeOptions,
			);
		}
	}

	if ($consumerOptions)
	{
		self::sortRenameGroups($consumerOptions, $groups, true);
		$consumerInput['OPTIONS'] = $consumerOptions;
	}

	return array($consumerInput, $consumerCodeInput);
}