Обновление цен торговых предложений с учётом раздела

Обновление цен торговых предложений с учётом раздела

Обновление цен торговых предложений по разделу каталога инфоблока
  • Нам понадобится свойство 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"));

Ещё статьи:

07.05.2021 Дайджест №1 Ваджра и еврейский вопрос
На днях Ваджра зацепил так называемый "еврейский вопрос", выдержка цитата:
На днях я был безжалостно записан в антисемиты. Забавно. Честно говоря, до сих пор не понимаю смысл этого ярлыка, который навешивается на каждого, «не правильно думающего о евреях». ID: 318

06.05.2021 Кто такой Андрей Ваджра? Мой персональный отзыв об этом псевдо-эксперте
Есть такой псевдо-аналитик Андрей Ваджра с Украины, основная специализация которого украинская тематика. У него есть канал в ютубе, новостной сайт и группы в социальных сетях.
Мой личный отзыв об Ваджре
Немного пред истории, я посмотрел почти все его ролики на ютубе, был подписан на его телеграмм канал, пару раз читал его сайт, но это на мой взгляд чисто коммерческий проект, мне не нравится подача материала, да и сами темы. Напоминает новостной мусор нацеленный на определённую группу читателей. ID: 317

19.01.2021 Задача модуль регистрации участника акции
Задача по разработке модуля регистрации участника акции на сайт Битрикс. В модуле должны быть следующие поля: ID: 316

© 2015-2021 Web админ
Связаться по WhatsApp