Проблема была в отсутствующем поле 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. Свойство сортировки не добавлено');
}
}
}