Как в Битрикс получить id торгового предложения по его внешнему коду?

Как можно получить идентификатор торгового предложения, зная его внешний код?
  • 26 декабря 2023 г. 16:47
Ответы на вопрос 2
В Битрикс можно получить 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 торгового предложения. Если торговое предложение не найдено, выводится соответствующее сообщение.
$xml_id = 'aaaaa#vvvvv'; //xml id торгового предложения
$iblock_id = 10; // id инфоблока ТП
$result = false;
$arElm = CIBlockElement::GetList(array(), array('XML_ID' => $xml_id, 'IBLOCK_ID' => $iblock_id), false, false, array('ID'))->Fetch();
if ($arElm)
    $result = (int) $arElm['ID']; // искомый id
Похожие вопросы