Судя по описанию проблемы и предоставленному коду, причина, по которой значение в списочном поле не сохраняется должным образом, может быть связана с несколькими факторами. Давайте рассмотрим возможные причины и пути их устранения:
1. **Проверка наличия значения**: Убедитесь, что значение `97000`, которое вы пытаетесь установить в список, действительно существует в выпадающем списке, с которым связано поле `UF_LIST_FIELD`. Идентификатор должен быть валидным и соответствовать одному из значений, доступных в этом поле. Если значение отсутствует, система может не сохранить его.
2. **Права доступа**: Проверьте, есть ли у пользователя, под которым выполняется скрипт, достаточные права для модификации данного смарт-процесса и его полей. Если у пользователя недостаточно прав, изменения не будут внесены.
3. **Требования к данным**: Возможно, у поля `UF_LIST_FIELD` есть какие-то дополнительные требования или валидация данных, которые необходимо выполнить перед его сохранением. Это может быть связано с настройками самого поля или логикой в классе, который обрабатывает данные (например, бизнес-логика).
4. **Проверка ошибок**: После выполнения метода `save()` проверьте, возвращает ли он какие-либо ошибки. Можно добавить запись логов или вывод ошибок, чтобы понять, что именно не так:
```php
if (!$res) {
$errors = $item->getErrors();
foreach ($errors as $error) {
echo $error->getMessage() . "<br>";
}
}
```
5. **Сетевые вызовы и кэш**: Убедитесь, что вы не работаете с проблемами кэширования или сетевых запросов. После выполнения скрипта вы можете попробовать очистить кэш или перезагрузить страницу, чтобы убедиться, что данные обновлены.
6. **Использование методов обработки**: Иногда для списков требуются специальные методы для обработки данных. Убедитесь, что `setFromCompatibleData` правильно обрабатывает тип данных для списков.
7. **Версия API и документация**: Убедитесь, что вы используете актуальную версию API и проверьте официальную документацию на предмет изменений или особенностей работы со списками.
Попробуйте проверить указанные аспекты, и, если проблема не решится, вы можете рассмотреть возможность обращения к поддержке Bitrix или сообществу разработчиков для более детальной помощи.