Задать вопрос
@sevnet
Системный аналитик, бизнес-консультант

Как получить пользовательское название поля типа crm_status?

Имеется поле компании "Сфера деятельности", 'INDUSTRY'.
Bitrix\Crm\Field Object
(
    [name:protected] => INDUSTRY
    [type:protected] => crm_status
    [title:protected] => Сфера деятельности
    [attributes:protected] => Array
        (
            [0] => HAS_DEFAULT_VALUE
        )
    [settings:protected] => Array
        (
        )
    [userField:protected] => Array
        (
        )
    [crmStatusType:protected] => INDUSTRY
    [valueType:protected] => 
)

При чтении его значения возвращается значение в виде кода, например "OTHER".
Ни как не могу разобраться как мне по коду получить его пользовательское название.
Какой объект и какой метод надо использовать?
  • Вопрос задан
  • 121 просмотр
Подписаться 1 Средний Комментировать
Решения вопроса 1
@sevnet Автор вопроса
Системный аналитик, бизнес-консультант
use Bitrix\Crm\Service;
$instanceOfCRM = Service\Container::getInstance();
$factoryDeal = $instanceOfCRM->getFactory(2);
$factoryCompany = $instanceOfCRM->getFactory(4);
$Deal = $factoryDeal->getItem($DEAL_ID);
$COMPANY_ID = $Deal->get('COMPANY_ID');
$Company = $factoryCompany->getItem($COMPANY_ID);
$Status = new CCrmStatus('INDUSTRY');
$CompanyINDUSTRY = ($Status->GetStatusByStatusId($Company->get('INDUSTRY')))['NAME'];
$CompanyINDUSTRY = ($CompanyINDUSTRY) ?: 'Сфера деятельности не указана';
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@ksnk
Примерно так
$list=CRest::call("crm.status.list",
            [
                'order'=>['SORT'=>'ASC'],
                'filter'=>["ENTITY_ID"=>'INDUSTRY']
            ]
        );

Выглядит примерно так:
Array
(
    [result] => Array
        (
            [0] => Array
                (
                    [ID] => 69
                    [ENTITY_ID] => INDUSTRY
                    [STATUS_ID] => IT
                    [NAME] => Сельское хозяйство
                    [NAME_INIT] => 
                    [SORT] => 10
                    [SYSTEM] => N
                    [CATEGORY_ID] => 
                    [COLOR] => 
                    [SEMANTICS] => 
                )

            [1] => Array
                (
                    [ID] => 71
                    [ENTITY_ID] => INDUSTRY
                    [STATUS_ID] => TELECOM
                    [NAME] => Добывающая
                    [NAME_INIT] => 
                    [SORT] => 20
                    [SYSTEM] => N
                    [CATEGORY_ID] => 
                    [COLOR] => 
                    [SEMANTICS] => 
                )
...
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы