В Битрикс можно получить id торгового предложения по его внешнему коду, используя метод `GetList` класса `CIBlockElement`.
Пример кода:
```php
$externalCode = "EXTERNAL_CODE"; // внешний код торгового предложения
$skuIblockId = 10; // id инфоблока торговых предложений
$filter = [
"IBLOCK_ID" => $skuIblockId,
"=XML_ID" => $externalCode
];
$iterator = CIBlockElement::GetList([], $filter, false, false, ["ID"]);
if ($offer = $iterator->Fetch()) {
$offerId = $offer["ID"];
echo "ID торгового предложения: " . $offerId;
} else {
echo "Торговое предложение с внешним кодом не найдено";
}
```
В этом примере мы задаем фильтр для поиска по инфоблоку торговых предложений и внешнему коду, и затем получаем id торгового предложения. Если торговое предложение не найдено, выводится соответствующее сообщение.