Как отобрать товары по принадлежности к группе?

Для отбора товаров по принадлежности к группе в 1C-Bitrix можно использовать фильтр или запрос к базе данных. Рассмотрим оба варианта.

1. Использование фильтра:
- Необходимо определить ID группы, к которой относятся товары. Для этого можно зайти в административную панель 1C-Bitrix и перейти в каталог товаров. В списке групп товаров будет отображаться ID каждой группы.
- После получения ID группы, можно использовать фильтр в рабочем пространстве кода для отбора товаров. Пример кода:

    $groupId = 123; // ID группы
    
    $filter = array(
        'IBLOCK_ID' => 1, // ID информационного блока
        'SECTION_ID' => $groupId, // ID группы
        'ACTIVE' => 'Y', // только активные товары
    );
    
    $select = array(
        'ID',
        'NAME',
        'PRICE',
    );
    
    $result = CIBlockElement::GetList(
        array(),
        $filter,
        false,
        false,
        $select
    );
    
    while ($product = $result->GetNext()) {
        echo $product['NAME'] . ' - ' . $product['PRICE'] . '<br>';
    }

- В приведенном примере используется функция CIBlockElement::GetList() для получения списка товаров. Параметры функции настроены таким образом, чтобы в результате были только активные товары из указанной группы. В выводе указаны ID, название и цена товаров. Вы можете настроить вывод по своим потребностям.

2. Использование запроса к базе данных:
- Если вам необходима более гибкая настройка фильтрации, можно использовать SQL-запрос к базе данных. Пример кода:

    $groupId = 123; // ID группы
    
    $sql = "
        SELECT 
            `ID`,
            `NAME`,
            `PRICE`
        FROM 
            `b_iblock_element` 
        WHERE 
            `IBLOCK_ID` = 1
            AND `IBLOCK_SECTION_ID` = $groupId
            AND `ACTIVE` = 'Y'
    ";
    
    $result = $DB->Query($sql);
    
    while ($product = $result->Fetch()) {
        echo $product['NAME'] . ' - ' . $product['PRICE'] . '<br>';
    }

- В данном примере выполняется SQL-запрос к таблице b_iblock_element, с указанием необходимых полей и условий. Здесь также выбираются только активные товары из указанной группы. Вывод результата аналогичен первому варианту.

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