Top.Mail.Ru
Заполнить остаток товаров на складе из доступного остатка - разработка и поддержка сайтов BUSSOL

Заполнить остаток товаров на складе из доступного остатка



Автор:

Дата публикации:

Заполнить остаток товаров на складе из доступного остатка

После включения складского учета необходимо заполнить остаток товаров по складам. Тем более, если работает выгрузка товаров из 1С, то остатки постоянно обновляются. Следовательно нужно сделать автоматическое обновление остаток на нужном складе. Для это задачи можно использовать скрипт на CRON:


require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

use \Bitrix\Main\Loader;

Loader::IncludeModule('iblock');
Loader::IncludeModule('catalog');

$addProps = CIBlockElement::GetList(
        Array("ID" => "ASC"),
        Array("IBLOCK_ID" => 5),
        false,
        false,
        Array(
            'ID',
            'CATALOG_QUANTITY',
        )
);
while ($ar_fields = $addProps->Fetch()) {
    $arFields = Array(
        "PRODUCT_ID" => $ar_fields['ID'],
        "STORE_ID" => 3,
        "AMOUNT" => (int)$ar_fields['CATALOG_QUANTITY']
    );
    $ID = CCatalogStoreProduct::UpdateFromForm($arFields);
}

Подключаем пролог и два модуля iblock и catalog. Первый модуль нам нужен для использования метода GetList класса CIBlockElement, чтобы выбрать все активные товары. А второй нужен для использования метода UpdateFromForm класса CCatalogStoreProduct, чтобы изменить количество товара AMOUNT с кодом PRODUCT_ID на складе с кодом STORE_ID.

Итак, после выборки товаров с помощью GetList, в цикле пробегаемся по каждому и меняем количество каждого на складе.

241027, Россия, Брянская область, поселок Путевка, улица Рослальская, дом 8, кв.121
Телефон: +7 (950) 692-91-71

После включения складского учета необходимо заполнить остаток товаров по складам. Тем более, если работает выгрузка товаров из 1С, то остатки постоянно обновляются. Следовательно нужно сделать автоматическое обновление остаток на нужном складе. Для это задачи можно использовать скрипт на CRON:


require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

use \Bitrix\Main\Loader;

Loader::IncludeModule('iblock');
Loader::IncludeModule('catalog');

$addProps = CIBlockElement::GetList(
        Array("ID" => "ASC"),
        Array("IBLOCK_ID" => 5),
        false,
        false,
        Array(
            'ID',
            'CATALOG_QUANTITY',
        )
);
while ($ar_fields = $addProps->Fetch()) {
    $arFields = Array(
        "PRODUCT_ID" => $ar_fields['ID'],
        "STORE_ID" => 3,
        "AMOUNT" => (int)$ar_fields['CATALOG_QUANTITY']
    );
    $ID = CCatalogStoreProduct::UpdateFromForm($arFields);
}

Подключаем пролог и два модуля iblock и catalog. Первый модуль нам нужен для использования метода GetList класса CIBlockElement, чтобы выбрать все активные товары. А второй нужен для использования метода UpdateFromForm класса CCatalogStoreProduct, чтобы изменить количество товара AMOUNT с кодом PRODUCT_ID на складе с кодом STORE_ID.

Итак, после выборки товаров с помощью GetList, в цикле пробегаемся по каждому и меняем количество каждого на складе.


Другие статьи:  Обновление Битрикс до поддержки php 8.x c php 7.x / Хранение сессий в базе данных Битрикс / Получить данные о заказе в Битрикс

Похожие статьи

Ошибка! innodb_strict_mode=on, требуется off в Битрикс
В 1С-Битрикс.Управление сайтом, обычно сразу после установки, при тестировании системы появляется ошибка в строке Режим работы MySql  "Ошибка! innodb_strict_mode=ON, требуется OFF". Из-за этой ошибки часть функционала Битрикс может не работать.
Подключение скриптов и стилей в 1С-Битрикс
В 1С-Битрикс файлы скриптов и стилей можно подключать через тег <link /> обычным способом. И от этого ничего не пострадает. Однако при таком способе подключения не будет возможности управлять стилями и скриптами из админки...
Импорт данных из CSV в MySQL
Казалось бы, тема старая, однако актуальна и по сей день. У многих программистов возникает необходимость импорта данных из csv в mysql и вопрос о том, как это сделать.
Адаптивное ютуб видео на сайте
В этом уроке я покажу вам один из способов адаптировать видео, размещенное на сайте с помощью тега iframe, например, видео с хостинга Ютуб.