Как получить пользовательское название значения поля "Сфера деятельности" (INDUSTRY), если при чтении его значения возвращается код, например "OTHER"? Какой объект и метод нужно использовать для этого?
Для получения пользовательского названия для поля типа `crm_status` или значения поля, такого как "Сфера деятельности" (INDUSTRY), в системе 1С:CRM (например, в Битрикс24), можно использовать объект `CUserFieldEnum`.
Для получения названия значения нужно выполнить запрос к перечислению, которое соответствует полю. Вот пример, как это можно сделать на PHP, используя API Битрикс24:
1. **Получите тип пользовательского поля** для `INDUSTRY`, чтобы узнать его ID.
2. **Используйте метод `GetList` объекта `CUserFieldEnum`**, передавая ID поля `INDUSTRY`.
Пример кода на PHP:
```php
$idField = 'INDUSTRY'; // Код поля
$valueCode = 'OTHER'; // Код значения
// Получаем ID поля INDUSTRY
$field = CUserField::GetList([], ["FIELD_NAME" => $idField])->Fetch();
if ($field) {
$fieldId = $field['ID'];
// Получаем пользовательские варианты для данного поля
$enumList = CUserFieldEnum::GetList([], ["USER_FIELD_ID" => $fieldId]);
while ($enum = $enumList->Fetch()) {
if ($enum['XML_ID'] === $valueCode) {
echo $enum['VALUE']; // Выводим пользовательское название
break;
}
}
}
```
### Пояснение:
- `CUserField::GetList` — используется для получения информации о пользовательских полях.
- `CUserFieldEnum::GetList` — используется для получения значений перечислений для указанного пользовательского поля.
- В цикле проверяется, равен ли `XML_ID` значению, и тогда выводится соответствующее название (`VALUE`).
Таким образом, вы можете получить пользовательское название для значения поля "Сфера деятельности" или любого другого поля типа `crm_status`, используя указанные методы API.
Есть документация <br/> <a href="https://dev.1c-bitrix.ru/api_d7/bitrix/crm/field/index.php" rel="nofollow">https://dev.1c-bitrix.ru/api_d7/bitrix/crm/field/i...</a>
Примерно так <br/> <pre><code class="php">$list=CRest::call("crm.status.list",
[
'order'=>['SORT'=>'ASC'],
'filter'=>["ENTITY_ID"=>'INDUSTRY']
]
);</code></pre> <br/> Выглядит примерно так: <br/> <pre><code>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] =>
)
...</code></pre>