Проблема, с которой вы сталкиваетесь, связана с тем, как вы обращаетесь к свойствам инфоблока в методе `GetList`. Правильным способом извлечения свойств инфоблока будет использование их имени без суффиксов 'VALUE', так как это может вызывать проблемы.
Попробуйте изменить ваши `GetList` параметры и следующее обращение к собственным свойствам. Кроме того, чтобы получить доступ к свойствам, вам нужно убедиться, что вы правильно указали массив полей и свойств.
Вот исправленный вариант кода:
```php
<?if (CModule::IncludeModule("iblock")) {
$it = CIBlockElement::GetList(
[],
['IBLOCK_ID' => 16, 'ACTIVE' => 'Y'],
false,
false,
['ID', 'NAME', 'PROPERTY_JOB_TITLE'] // Указываем только PROPERTY_JOB_TITLE, без _VALUE
);
while($arLink = $it->GetNext()) {
$res[] = $arLink['NAME'];
$res[] = $arLink['PROPERTY_JOB_TITLE']; // Здесь добавляем только PROPERTY_JOB_TITLE, как есть
$res[] = $arLink['ID'];
}
}
$arResult['PROP'] = $res;
?>
```
Пояснения:
1. Когда вы запрашиваете свойство, используйте просто имя свойства (например, `PROPERTY_JOB_TITLE`). В результате этого свойство будет загружено, и вы сможете получить доступ к его значению, если оно задано.
2. Если у вас в инфоблоке настроено несколько типов свойства для одного и того же поля (например, текстовое поле, список и т.д.), возможно, вам нужно использовать более конкретное обращение к значениям. Но для традиционного текстового свойства `PROPERTY_JOB_TITLE` должно корректно работать.
3. Поля для множественных свойств обычно используют массивы, чтобы извлечь их значения, но это не относится к текстовым полям.
Проверьте, что в вашем инфоблоке действительно задано свойство с именем `JOB_TITLE`. Если оно настроено неверно или отсутствует, код также не сможет его извлечь.