Как изменить свойство в элементе через D7?

Чтобы изменить свойство в элементе через D7 в 1C-Bitrix, вам потребуется использовать класс BitrixIblockElementTable для выполнения операций на элементами инфоблока.

Сначала вам необходимо получить экземпляр класса BitrixIblockElementTable с помощью метода BitrixIblockElementTable::getList, передав в него массив со свойствами нужного элемента. Например:

$element = BitrixIblockElementTable::getList([
    'filter' => ['ID' => $elementId],
    'select' => ['ID', 'NAME', 'PROPERTY_NEEDED_PROPERTY'],
])->fetch();

Здесь $elementId - это идентификатор элемента, который вы хотите изменить, а PROPERTY_NEEDED_PROPERTY - код свойства, которое требуется изменить.

После получения элемента, вы можете изменить его свойство, обратившись к соответствующему полю объекта. Например, для изменения свойства PROPERTY_NEEDED_PROPERTY следует сделать следующее:

$element['PROPERTY_NEEDED_PROPERTY'] = 'новое значение';

Далее вы должны сохранить изменения в базе данных, вызвав метод BitrixMainORMDataUpdateResult::update:

BitrixIblockElementTable::update($elementId, ['PROPERTY_NEEDED_PROPERTY' => $element['PROPERTY_NEEDED_PROPERTY']]);

Здесь $elementId - это идентификатор элемента, а ['PROPERTY_NEEDED_PROPERTY' => $element['PROPERTY_NEEDED_PROPERTY']] - массив с изменениями свойств элемента.

Полный код, который продемонстрирует процесс изменения свойства элемента через D7, может выглядеть следующим образом:

$element = BitrixIblockElementTable::getList([
    'filter' => ['ID' => $elementId],
    'select' => ['ID', 'NAME', 'PROPERTY_NEEDED_PROPERTY'],
])->fetch();

$element['PROPERTY_NEEDED_PROPERTY'] = 'новое значение';

BitrixIblockElementTable::update($elementId, [
    'PROPERTY_NEEDED_PROPERTY' => $element['PROPERTY_NEEDED_PROPERTY']
]);

Обратите внимание, что для выполнения манипуляций с элементами инфоблока через D7 в 1C-Bitrix требуется наличие модуля iblock. Проверьте его наличие и активность перед использованием кода.