Меню

Установить остатки товара на складе из доступных остатков.

Просмотров: 9680

Задача, заполнить остатки товаров, в 1С-Битрикс, из параметра "Доступное количество".

Для этого достаточно воспользоваться методами CIBlockElement::GetList и CCatalogStoreProduct::Add


CModule::IncludeModule('iblock');
Cmodule::IncludeModule('catalog');
$addProps = CIBlockElement::GetList(
        Array("ID" => "ASC"),
        Array("IBLOCK_ID" => 7),
        false,
        false,
        Array(
            'ID',
            'CATALOG_QUANTITY',
        )
);
while ($ar_fields = $addProps->Fetch()) {
    $arFields = Array(
        "PRODUCT_ID" => $ar_fields['ID'],
        "STORE_ID" => 1,
        "AMOUNT" => (int)$ar_fields['CATALOG_QUANTITY']
    );
    $ID = CCatalogStoreProduct::UpdateFromForm($arFields);
}

Пояснения:

  • Подключили модули инфоблока и каталога
  • С помощью CIBlockElement::GetList - получили ID и количество доступного товара из инфоблока ID-7
  • В цикле, прошлись по всем элементам и обновили количества остатка на складе с ID=1, методом CCatalogStoreProduct::UpdateFromForm
Артём 26.08.2022
как сделать что бы при обновлении остатка (доступного) перезаписывалось по данному коду остаток на складе
Михаил Базаров 27.08.2022
Цитата
Артём написал:
как сделать что бы при обновлении остатка (доступного) перезаписывалось по данному коду остаток на складе

Можно сделать обработчик события с OnAfterIBlockElementUpdate
В init.php
Код
AddEventHandler("iblock", "OnAfterIBlockElementUpdate", Array("UpdateAmounts", "OnAfterIBlockElementUpdateHandler"));
class UpdateAmounts
{
    function OnAfterIBlockElementUpdateHandler(&$arFields)
    {
       Получаем товар по его arFields['ID'] и делаем с ним что хотим
    }
}


Если не критична скорость обновления, можно повесить этот скрипт на cron что бы отрабатывал с каким-то периодом.

Стоимость и сроки разработки сайтов и приложений

Окончательная стоимость и сроки разработки сайта формируются после обсуждения деталей на этапе заказа. Как правило, они редко выходят за обозначенные ниже рамки.

Интернет магазин: разработка с нуля от 400 000 руб.
от 5-ти недель

Cоздание интернет-магазина на 1С-Битрикс. Разработка с нуля, оптимизация кода под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Сайт на готовом решении / шаблоне от 150 000 руб.
от 7-ми дней

Готовое решение — вариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту. Запускается на одном из 200-та (на ваш выбор) готовых решений.

Мобильное приложение от 400 000 руб.
от 1-го месяца

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Вы можете скачать развернутый опросник на разработку. После ознакомления, задам уточняющие вопросы и оценю проект по стоимости и срокам разработки.