medveddev / bxorm

24 stars 10 forks source link

Не устанавливается VALUE свойства типа 'N' (Число) #21

Closed ghost closed 3 years ago

ghost commented 3 years ago

С помощью кода ниже устанавливается значение свойства типа N (Число).

Loader::includeModule('iblock');

$entity = IblockTable::compileEntity('FAQ');
$obj    = $entity->getDataClass()::query()
    ->addSelect('ID')
    ->addSelect('VOTE_COUNTER')
    ->where('ID', 144964)
    ->exec()
    ->fetchObject();

$voteCounter = $obj->get('VOTE_COUNTER');

if (!isset($voteCounter)) {
    $obj->set('VOTE_COUNTER', 0);
}

$obj->save();

Отрабатывает корректно и в дампе VALUE заполнено соотв. образом. Но на самом деле имеем дело с алиасом VALUE > VALUE_NUM, поэтому свойство в админке оторажается пустым.

Хотя при заполнение с админки значение дублируется в оба поля VALUE и VALUE_NUM.

Дамп объекта заполнего свойства:

Bitrix\Iblock\Elements\EO_IblockProperty717

medveddev commented 3 years ago

на актуальной версии в бд заполняются оба значения - value и value_num. проверьте на iblock 21.400.0, если проблема остается - обратитесь пожалуйста в техподдержку (вероятно потребуется доступ к установке).