Bitrix api Как добавить торговых предложений к товару?
Для этого нужно иметь два инфоблока: товары и торговые предложения, инфа по настройке тут https://dev.1c-bitrix.ru/learning/course/?COURSE_I...
Рабочий пример:CModule::IncludeModule('iblock');
CModule::IncludeModule('sale');

$ciBlockElement = new CIBlockElement;

// Добавляем товар-родитель, у которго будут торг. предложения
$product_id = $ciBlockElement->Add(
    array(
        'IBLOCK_ID' => 13, // IBLOCK товаров
        'NAME' => "Товар 1",
        "ACTIVE" => "Y",
        // Прочие параметры товара
    )
);
// проверка на ошибки
if (!empty($ciBlockElement->LAST_ERROR)) {
    echo "Ошибка добавления товара: ". $ciBlockElement->LAST_ERROR;
    die();
}
// добавляем нужное кол-во торговых предложений
$arLoadProductArray = array(
    "IBLOCK_ID"      => 14, // IBLOCK торговых предложений
    "NAME"           => "Торговое предложение 1",
    "ACTIVE"         => "Y",
    'PROPERTY_VALUES' => array(
        'CML2_LINK' => $product_id, // Свойство типа "Привязка к товарам (SKU)", связываем торг. предложение с товаром
    )
    // Прочие параметры товара 
);
$product_offer_id = $ciBlockElement->Add($arLoadProductArray);
// проверка на ошибки
if (!empty($ciBlockElement->LAST_ERROR)) {
    echo "Ошибка добавления торгового предложения: ". $ciBlockElement->LAST_ERROR;
    die();
}
// Добавляем параметры к торг. предложению
CCatalogProduct::Add(
    array(
        "ID" => $product_offer_id,
        "QUANTITY" => 9999
    )
);
// Добавляем цены к торг. предложению
CPrice::Add(
    array(
        "CURRENCY" => "RUB",
        "PRICE" => 999,
        "CATALOG_GROUP_ID" => 1,
        "PRODUCT_ID" => $product_offer_id,
    )
);
Если что методом CCatalogProduct::add добавляются параметры товара к элементу каталога.
Сам элемент каталога добавляется методом CIBlockElement::Add
А торговое предложение можно добавить указав в методе CIBlockElement::Add в массиве $arFields в ключе "PROPERTY_VALUES" свойство, по которому привязаны каталог и торговые предложенияCIBlockElement::Add(
    [
        'IBLOCK_ID' => 2, // инфоблок с торговыми предложениями
        'PROPERTY_VALUES' => [
            'CML2_LINK' => 12, // id товара, для которого торговые предложения
        ],
        ...
    ]
)