Битрикс, как получить id товара по свойству?

Для получения id товара по свойству в 1C-Bitrix необходимо выполнить некоторые шаги. Процесс включает использование модуля инфоблоков и их свойств, а также написание кода на языке PHP.

Вот пример кода, который поможет вам решить данную задачу:

<?php
// Подключаем модуль инфоблоков
if (!CModule::IncludeModule("iblock"))
{
    echo "Ошибка подключения модуля инфоблоков";
    return;
}

// ID инфоблока
$iblockId = 10;

// Код свойства, по которому будем искать
$propertyCode = "ARTICLE";

// Значение свойства, по которому будем искать
$propertyValue = "12345";

// Фильтр для поиска элементов инфоблока
$arFilter = array(
    "IBLOCK_ID" => $iblockId,
    "PROPERTY_" . $propertyCode => $propertyValue
);

// Выборка элементов инфоблока
$arSelect = array(
    "ID",
);

// Выполняем запрос к базе данных
$rsItems = CIBlockElement::GetList(
    array(),
    $arFilter,
    false,
    false,
    $arSelect
);

// Обрабатываем результаты выборки
while ($arItem = $rsItems->Fetch())
{
    // ID найденного товара
    $itemId = $arItem["ID"];

    // Выводим ID товара
    echo "ID товара: " . $itemId . "<br>";
}
?>

В данном коде мы сначала подключаем модуль инфоблоков с помощью функции CModule::IncludeModule(). Затем указываем ID нужного нам инфоблока ($iblockId), код свойства ($propertyCode) и значение свойства ($propertyValue). Далее создаем фильтр для поиска элементов инфоблока, указывая нужные параметры. Затем выбираем только ID товара в свойстве $arSelect и выполняем запрос к базе данных с помощью функции CIBlockElement::GetList().

Далее обрабатываем результаты выборки с помощью цикла while и выводим ID найденного товара.

Внимание! При использовании данного кода обязательно замените значение переменной $iblockId на реальный ID вашего инфоблока, $propertyCode на код свойства, по которому вы ищете, и $propertyValue на значение этого свойства.

Надеюсь, эта информация окажется полезной.