После обновления Битрикса до версии 24.0.775 в административной панели возникла проблема с фильтрацией элементов каталога по одному из свойств. У этого свойства установлен тип "Справочник", но при попытке фильтрации элементы не отображаются в выпадающем списке. Как можно решить эту проблему?
Проблема с фильтрацией по свойствам в Битрикс после обновления может быть связана с несколькими факторами. Вот несколько шагов, которые могут помочь вам решить эту проблему: 1. **Проверка настроек свойств**: Убедитесь, что свойство, по которому вы пытаетесь фильтровать, правильно настроено. Проверьте, что оно активно для всех нужных разделов и элементов каталога. 2. **Обновление индекса**: В некоторых случаях, после обновления версии Битрикса, требуется обновить индекс. Это можно сделать в административной панели: - Перейдите в раздел "Настройки" > "Инструменты" > "Обновление индексов". - Запустите процесс обновления индексов. 3. **Очистка кеша**: Очистка кеша также может помочь в решении проблем с отображением данных. Вы можете очистить кеш в разделе "Настройки" > "Кеш". 4. **Проверка прав доступа**: Убедитесь, что у вашей учетной записи есть соответствующие права доступа к свойству и к элементам каталога. 5. **Проверка ошибок в логах**: Посмотрите логи на наличие ошибок, которые могут указывать на проблему с фильтрацией. Это можно сделать в "Журнале событий" или в файлах логов сервера. 6. **Тестирование на других свойствах**: Попробуйте создать новое свойство с типом "Справочник" и проверьте, будет ли оно отображаться в фильтрации. Это поможет определить, связана ли проблема с конкретным свойством или с системой в целом. 7. **Общение с поддержкой**: Если после вышеуказанных действий проблема не решена, возможно, стоит обратиться в службу технической поддержки Битрикс. Они смогут более детально разобраться в вашей ситуации и, возможно, предоставить патч или дополнительную информацию. Следуя этим рекомендациям, вы сможете диагностировать и, возможно, устранить проблему с фильтрацией по свойствам в Битрикс.
Проблема была в отсутствующем поле UF_SORT у проблемного HighLoad блока. Написал миграцию добавляющую её: <br/> <pre><code class="php">namespace Sprint\Migration;
class AddSortFieldInHighloadBlock20240926165615 extends Version
{
protected $author = 'https://github.com/JastaFly';
protected $description = 'Добавляет поле сортировки в Highload-блок';
protected $moduleVersion = '4.12.6';
private HelperManager $helperManager;
private int $hlBlockManufacturersId;
/**
* @throws Exceptions\HelperException
* @return bool|void
*/
public function __construct()
{
$this->helperManager = $this->getHelperManager();
$this->hlBlockManufacturersId = $this->helperManager->Hlblock()->getHlblockIdIfExists(
'highloadBlockName'
);
}
public function up()
{
$this->helperManager->Hlblock()->saveField(
$this->hlBlockManufacturersId,
[
'FIELD_NAME' => 'UF_SORT',
'USER_TYPE_ID' => 'double',
'XML_ID' => '',
'SORT' => '100',
'MULTIPLE' => 'N',
'MANDATORY' => 'N',
'SHOW_FILTER' => 'N',
'SHOW_IN_LIST' => 'Y',
'EDIT_IN_LIST' => 'Y',
'IS_SEARCHABLE' => 'N',
'SETTINGS' => [
'PRECISION' => 4,
'SIZE' => 20,
'MIN_VALUE' => 0.0,
'MAX_VALUE' => 0.0,
'DEFAULT_VALUE' => NULL,
],
'EDIT_FORM_LABEL' => ['en' => 'Sorting', 'ru' => 'Сортировка'],
'LIST_COLUMN_LABEL' => ['en' => 'Sorting', 'ru' => 'Сортировка'],
'LIST_FILTER_LABEL' => ['en' => 'Sorting', 'ru' => 'Сортировка'],
'ERROR_MESSAGE' => ['en' => 'Sorting', 'ru' => 'Сортировка'],
'HELP_MESSAGE' => ['en' => 'Sorting', 'ru' => 'Сортировка']
]
);
}
public function down()
{
$deleteResult = $this->helperManager->Hlblock()->deleteField($this->hlBlockManufacturersId, 'UF_SORT');
if ($deleteResult) {
$this->outSuccess('Всё ok. Свойство сортировки добавлено');
} else {
$this->outError('Не ok. Свойство сортировки не добавлено');
}
}
}</code></pre>