@SergioMarquinha

Как вывести поле с типом список?

Здравствуйте, есть вывод сделки:

$result = CRest::call(
	'crm.deal.get',
	array(
		'id' => 580 
	)
);

Поле с типом "список" выводится таким образом:
'UF_CRM_1726662473238' => '46',
Выводится только ключ. А как вывести значение?
Вопрос вроде до жути простой и распространенный, но информации практически нет об этом в просторах интернета
  • Вопрос задан
  • 34 просмотра
Решения вопроса 1
grantur5707
@grantur5707
Full Stack Web Developer
Сделайте просто доп запрос к методу crm.deal.userfield.get, указав код поля, для получения всех значений, которые могут быть в списке. После этого вы сможете сопоставить ключ (например, 46) с его значением.

Вот пример кода:
$userFieldResult = CRest::call(
    'crm.deal.userfield.get',
    array(
        'id' => 'UF_CRM_1726662473238'
    )
);

if (!empty($userFieldResult['result']['LIST'])) {
    $listValues = array_column($userFieldResult['result']['LIST'], 'VALUE', 'ID');

    $dealResult = CRest::call(
        'crm.deal.get',
        array(
            'id' => 580 
        )
    );

    $listValueId = $dealResult['result']['UF_CRM_1726662473238'];

    if (isset($listValues[$listValueId])) {
        $listValue = $listValues[$listValueId];
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы