Если коротко — то это невозможно. Передавать надо все поля.
Если попробовать обновить так:
/** @var \Bitrix\Main\Entity\UpdateResult $r */
$r = $colorClassName::update($color['ID'], [
'UF_COLOR_CODE_MULTY' => $color['UF_COLOR_CODE']
]);
if (!$r->isSuccess()) {
echo '<pre>';print_r($r->getErrorMessages());echo '</pre>';
} |
Выплюнет ошибку заполнения другого обязательного поля:
Array
(
[0] => Необходимо заполнить поле «Группа цвета».
) |
А код:
$USER_FIELD_MANAGER->Update('HLBLOCK_1', $color['ID'], [
'UF_COLOR_CODE_MULTY' => $color['UF_COLOR_CODE']
]); |
и вовсе ошибку mysql:
Query Error: SEL ECT VALUE_ID, UF_NAME, UF_COLOR_GROUP, UF_NAME_ALTERNATIVE, UF_COLOR_CODE, UF_COLOR_CODE_MULTY, UF_XML_ID, UF_LINK, UF_DESCRIPTION, UF_FULL_DESCRIPTION, UF_SORT, UF_FILE, UF_DEF FR OM b_uts_hlblock_1 WHERE VALUE_ID = 1 [[1146] Table 'database.b_uts_hlblock_1' doesn't exist!] |
Ну и справедливости ради таблицы b_uts_hlblock_1 действительно нет в базе данных.
Вот такие они, хайлоад блоки