После обновления Битрикса до версии 24.0.775 в административной панели возникла проблема с фильтрацией элементов каталога по одному из свойств. У этого свойства установлен тип "Справочник", но при попытке фильтрации элементы не отображаются в выпадающем списке. Как можно решить эту проблему?
Проблема с фильтрацией по свойствам в Битрикс после обновления может быть связана с несколькими факторами. Вот несколько шагов, которые могут помочь вам решить эту проблему: 1. **Проверка настроек свойств**: Убедитесь, что свойство, по которому вы пытаетесь фильтровать, правильно настроено. Проверьте, что оно активно для всех нужных разделов и элементов каталога. 2. **Обновление индекса**: В некоторых случаях, после обновления версии Битрикса, требуется обновить индекс. Это можно сделать в административной панели: - Перейдите в раздел "Настройки" > "Инструменты" > "Обновление индексов". - Запустите процесс обновления индексов. 3. **Очистка кеша**: Очистка кеша также может помочь в решении проблем с отображением данных. Вы можете очистить кеш в разделе "Настройки" > "Кеш". 4. **Проверка прав доступа**: Убедитесь, что у вашей учетной записи есть соответствующие права доступа к свойству и к элементам каталога. 5. **Проверка ошибок в логах**: Посмотрите логи на наличие ошибок, которые могут указывать на проблему с фильтрацией. Это можно сделать в "Журнале событий" или в файлах логов сервера. 6. **Тестирование на других свойствах**: Попробуйте создать новое свойство с типом "Справочник" и проверьте, будет ли оно отображаться в фильтрации. Это поможет определить, связана ли проблема с конкретным свойством или с системой в целом. 7. **Общение с поддержкой**: Если после вышеуказанных действий проблема не решена, возможно, стоит обратиться в службу технической поддержки Битрикс. Они смогут более детально разобраться в вашей ситуации и, возможно, предоставить патч или дополнительную информацию. Следуя этим рекомендациям, вы сможете диагностировать и, возможно, устранить проблему с фильтрацией по свойствам в Битрикс.
Проблема была в отсутствующем поле UF_SORT у проблемного HighLoad блока. Написал миграцию добавляющую её:
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. Свойство сортировки не добавлено'); } } }