- Модуль: 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);
}