Массово: применить наценку ко всем товарам каталога с пересчетом от базовой.

RSS
Массово: применить наценку ко всем товарам каталога с пересчетом от базовой.
 
Массово: применить наценку ко всем товарам каталога с пересчетом от базовой.

Рассмотрим как, в магазине работающем на 1С-битрикс, массово применить наценку на все товары каталога. Устанавливать будем для не базовой цены. При каждом обновлении базовой цены (например при обновлении товаров импортом), наша цена будет пересчитываться согласно наценке.
 
Пардон, а куда вставлять код с методом CPrice::Update? :)
 
Цитата
sinilnikov@principcomp.ru пишет:
Пардон, а куда вставлять код с методом CPrice::Update?  
Просто на любую страницу и открыть ее в браузере
 
Цитата
Михаил Базаров пишет:
можно сделать обработчик в init.php срабатывающий на событие добавление элемента OnAfterIBlockElementAdd
А есть код такого обработчика?
 
Цитата
Константин Синильников написал:
Цитата
Михаил Базаров пишет:
можно сделать обработчик в init.php срабатывающий на событие добавление элемента OnAfterIBlockElementAdd
А есть код такого обработчика?

Примерно так (сделал не проверяя, возможны ошибки - но должно сработать):
Скрытый текст
Изменено: Михаил Базаров - 26.10.2020 14:35:22
 
а возможно ли установить наценку не процент а допустим плюс 100 р на весь товар
 
Цитата
Guest написал:
а возможно ли установить наценку не процент а допустим плюс 100 р на весь товар
Именно через наценки, думаю, не получится
Но можно, просто изменить цену, пробежавшись по всем товарам циклом и этим же методом ( CPrice::Update)  обновить цены.
Эта заметка поможет
https://camouf.ru/blog-note/6554/
Там цена копируется из свойства- вам, вместо получения свойства, достаточно просто получать текущую цену (любую), прибавлять к ней 100 и сохранять в любую другую цену (или эту же)
 
Я правильно понял, можно пустую страницу создать .php закинуть туда код, и открыть в браузере?
Если да, то у меня не срабатывает, показывает код
 
Цитата
Guest пишет:
Я правильно понял, можно пустую страницу создать .php закинуть туда код, и открыть в браузере?
Если да, то у меня не срабатывает, показывает код
Да, код не забудте взять в <? тут код ?>
 
Здравствуйте, подскажите, а как применить этот скрипт и для торговых предожений?

спасибо
 
Цитата
Василий пишет:
Здравствуйте, подскажите, а как применить этот скрипт и для торговых предожений?

спасибо
В принципе, точно так же- должно сработать. Просто, указывайте ID инфоблока с ТП
Изменено: Михаил Базаров - 21.11.2021 01:52:04
 
Цитата
написал:
Цитата
Василий пишет:
Здравствуйте, подскажите, а как применить этот скрипт и для торговых предожений?

спасибо
В принципе, точно так же- должно сработать. Просто, указывайте ID инфоблока с ТП
спасибо сработало!  
 
Добрый день!
Подскажите, а как сделать, если мне нужно для определенного типа цены применить наценку не на все товары, а только для определенного раздела.
Например есть у меня тип цены «ИП Пупкин» и раздел «Тапки». Вот для товаров этого раздела и применить для типа цены «ИП Пупкин» наценку - 100% ?
 
Можно в фильтре отобрать товары только нужного раздела

Код
$getElementId = CIBlockElement::GetList(
    Array("ID" => "ASC"),
    Array(
          "IBLOCK_ID" => $IBLOCK_ID,
          'SECTION_ID' => 33 // ID нужного раздела
),
    false, false,
    Array('ID')
);
 
Цитата
написал:
Код
 $getElementId = CIBlockElement::GetList(
    Array("ID" => "ASC"),
    Array(
          "IBLOCK_ID" => $IBLOCK_ID,
          'SECTION_ID' => 33 // ID нужного раздела
),
    false, false,
    Array('ID')
); 

А из-за чего может быть 500 ошибка при обращении к скрипту?

Вот код

Скрытый текст
Изменено: Михаил Базаров - 21.11.2022 17:19:24
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 
Поблагодарить и поддержать:
Или подписаться на boosty канал: Видео на Ютубе