Для получения 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 на значение этого свойства.
Надеюсь, эта информация окажется полезной.