Для получения id торгового предложения по его внешнему коду в Битриксе, можно воспользоваться специальным методом, предоставляемым самим Битриксом - CIBlockElement::GetList
.
Ниже представлен пример кода на языке PHP, который иллюстрирует, как это можно сделать:
$externalCode = "Внешний_код_торгового_предложения"; $elementFilter = array( 'IBLOCK_ID' => ТУТ_ID_ИНФОБЛОКА, // Замените на реальный ID инфоблока 'EXTERNAL_ID' => $externalCode, ); $elementSelect = array( 'ID' ); $elementResult = CIBlockElement::GetList([], $elementFilter, false, false, $elementSelect); if ($element = $elementResult->GetNext()) { $offerId = $element['ID']; // Используйте $offerId для дальнейших операций } else { // Обработка ситуации, когда торговое предложение с указанным внешним кодом не найдено }
Обратите внимание, что в приведенном коде вы должны заменить ТУТ_ID_ИНФОБЛОКА
на реальный ID инфоблока, в котором находятся торговые предложения. Также, замените "Внешний_код_торгового_предложения"
на нужный вам внешний код торгового предложения.
Вы можете выполнить дополнительные настройки фильтра или выборки, добавив нужные поля в elementFilter
и elementSelect
соответственно.
После выполнения кода, вы получите значение переменной $offerId
, которая будет содержать id торгового предложения с указанным внешним кодом.