Изменение цен на товары в 1С-Битрикс через API: массовая обработка

Внимание! Работает режим премодерации. Все сообщения публикуются после проверки!
Страницы: 1
Ответить
RSS
Изменение цен на товары в 1С-Битрикс через API: массовая обработка
Массовое изменение цен в 1С-Битрикс через API

В современных интернет-магазинах на платформе 1С-Битрикс ценовая  политика может изменяться достаточно часто. Для оптимизации процесса  изменения цен на товары в магазине или при внедрении скидок и акций  часто приходится использовать автоматические инструменты. В этой статье  мы рассмотрим, как массово изменить цены на товары с помощью API  1С-Битрикс, рассмотрим примеры, полезные советы и лучшие практики.
Изменено: Валерий Макеев - 29.09.2025 10:17:28
Массово устанавливаем фиксированную цену 999 рублей для всех  активных товаров с свойством "CLEARANCE_SALE" равным "Y" в указанном  инфоблоке. Решение работает для простых товаров.
Код
<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

CModule::IncludeModule("iblock");
CModule::IncludeModule("catalog");

$iblockId = 5; // ID инфоблока
$propertyCode = "CLEARANCE_SALE"; // Код свойства
$propertyValue = "Y"; // Значение свойства

// Находим товары с нужным свойством
$rsProducts = CIBlockElement::GetList(
    [],
    [
        "IBLOCK_ID" => $iblockId,
        "ACTIVE" => "Y",
        "PROPERTY_".$propertyCode => $propertyValue
    ],
    false,
    false,
    ["ID", "IBLOCK_ID"]
);

while ($arProduct = $rsProducts->Fetch()) {
    $productId = $arProduct["ID"];
    
    // Получаем текущую цену
    $dbPrice = CPrice::GetList(
        [],
        [
            "PRODUCT_ID" => $productId,
            "CATALOG_GROUP_ID" => 1
        ]
    );
    
    // Устанавливаем новую цену
    $arFields = [
        "PRODUCT_ID" => $productId,
        "CATALOG_GROUP_ID" => 1,
        "PRICE" => 999,
        "CURRENCY" => "RUB"
    ];
    
    if ($arPrice = $dbPrice->Fetch()) {
        CPrice::Update($arPrice["ID"], $arFields);
    } else {
        CPrice::Add($arFields);
    }
    
    echo "Обновлена цена для товара #{$productId}<br>";
}

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
?>
Изменено: Валерий Макеев - 11.09.2025 10:54:27
Страницы: 1
Ответить
Форма ответов
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
 

Стоимость услуг по разработке и сопровождению сайтов на 1C-Битрикс

Лендинг

от 3 дней

от 25 000 рублей

Разработка одностраничного сайта на платформе Битрикс

* стоимость зависит от наличия верстки, использования готового решения и т.д.

Интернет-магазин на готовом решении

от 7 дней

от 40 000 рублей
запуск сайта в максимально короткие сроки

* указана минимальная стоимость. Стоимость выбранной лицензии «1С-Битрикс» оплачивается отдельно.

Аутсорсинг

готов помочь, если нет времени

договорная

Могу взять на себя работы по full-stack

* на основе готовой верстки