Обновление цен торговых предложений с учётом раздела
Просмотров: 1887
Обновление цен торговых предложений по разделу каталога инфоблока- Нам понадобится свойство PROPERTY_CML2_LINK где хранится ID основной карточки вариативного товара и IBLOCK_SECTION_ID - раздел основного товара.
- Вытаскиваем элементы торговых предложений с помощью CIBlockElement::GetList
- Получаем данные о разделе CIBlockElement::GetByID($ar_Element["PROPERTY_CML2_LINK_VALUE"])
- Формируем массив выборку с увязкой к разделу и данным элемента
- Получаем данные о ценах CPrice::GetList
- Обновляем цены с нужной наценкой CPrice::Update
$infoblock = 3; // Инфоблок //Вытаскиваем элементы $arSelectElems = array ( "ID", "PROPERTY_CML2_LINK" ); $arFilterElems = array ( "IBLOCK_ID" => $infoblock ); $arSortElems = array ( "NAME" => "ASC" ); $arResult["ELEMENTS"] = array(); $rsElementElement = CIBlockElement::GetList(array('left_margin' => 'asc'), $arFilterElems, false, false, $arSelectElems); while ( $ar_Element = $rsElementElement->Fetch() ) { $res = CIBlockElement::GetByID($ar_Element["PROPERTY_CML2_LINK_VALUE"]); if($ar_res = $res->GetNext()) { $ar_res_sectionID = $ar_res['IBLOCK_SECTION_ID']; } //выборка с учётом раздела $ar_Resu[$ar_res_sectionID][] = $ar_Element; } foreach ($ar_Resu[220] as $section) { $db_res_mrc = CPrice::GetList( array(), array( "PRODUCT_ID" => $section["ID"], "CATALOG_GROUP_ID" => 1 ) ); //[PRODUCT_ID] => это торговое предложение if ($ar_res_mrc = $db_res_mrc->Fetch()) { //цена с наценкой $price_mrc_update = ceil($ar_res_mrc['PRICE'] + ($ar_res_mrc['PRICE']*20/100)); CPrice::Update($ar_res_mrc['ID'], array("PRODUCT_ID" =>$ar_res_mrc['PRODUCT_ID'],"PRICE" => $price_mrc_update , "CURRENCY" => "RUB"));
Ещё статьи:
27.11.2024
Ошибка при 1с обмене 502 Bad Gateway
Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.
Обмен не выполнен. Ответ сервера: 502 Bad Gateway
ID: 540
20.11.2024
Задача для РНР, разработать Футбольный календарь
На первый взгляд задача кажется не сложной, но это не так. Нужно учитывать, что она займёт время, многие не успевают сделать в сроки.
ID: 538
20.11.2024
Нюансы обмена доставок один случай
Описание проблемы.
В сторону 1С синхронизацию доставок она налажена, информация записывается (проставляется тип доставки, зона доставки)
ID: 537