Токарные резцы BELMASH

Новинки
Сначала популярные
Сначала популярные
Сначала популярные
3 товара
Фильтр
3
-35% с 01.10 по 31.10
13 969 ₽
21 490 ₽
Экономия: 7 521 ₽
+ 1 397  бонусов на личный счет
Наличие достаточное
21 490 ₽
+ 2 149  бонусов на личный счет
Мало в наличии
4 360 ₽
+ 436  бонусов на личный счет
Мало в наличии

Рекомендации

7 850 ₽
+ 785  бонусов на личный счет
Наличие достаточное
Обзор 360°
24 490 ₽
+ 2 449  бонусов на личный счет
Наличие уточняйте
19 990 ₽
+ 1 999  бонусов на личный счет
Наличие достаточное
27 490 ₽
+ 2 749  бонусов на личный счет
Наличие достаточное
-35% с 01.10 по 31.10
9 458 ₽
14 550 ₽
Экономия: 5 092 ₽
+ 946  бонусов на личный счет
Наличие достаточное
-35% с 01.10 по 31.10
585 ₽
900 ₽
Экономия: 315 ₽
+ 59  бонусов на личный счет
Наличие достаточное
16 490 ₽
+ 1 649  бонусов на личный счет
Мало в наличии
Обзор 360°
15 990 ₽
+ 1 599  бонусов на личный счет
Мало в наличии
-35% с 01.10 по 31.10
8 158 ₽
12 550 ₽
Экономия: 4 392 ₽
+ 816  бонусов на личный счет
Наличие достаточное
Доставляем по всем регионам РФ
Пишите
Хотите оставить нам информацию? Или чем-то поделиться с нами? Мы ждём Ваши сообщения.
В том числе в наши мессенджеры и социальные сети.
Смотрите
У нас большой объем полезного видео-материала. Обзоры нашей продукции и примеры эксплуатации.
На нашем YouTube канале уже 9,03  тыс. подписчиков!
Покупайте
В каталоге представлено более 100 моделей деревообрабатывающих станков и более 500 других товаров.
Большой выбор способов доставки и оплаты товаров!

use Bitrix\Main\Loader; use Bitrix\Sale\DiscountCouponsManager; use Bitrix\Sale\Internals\DiscountCouponTable; use Bitrix\Sale\Internals\DiscountTable; Loader::includeModule('sale'); Loader::includeModule('catalog'); if (!function_exists('isPromoAvailableForProduct')) { /** * Проверяет, действует ли промокод на конкретный товар. * * @param int $productId ID товара * @param string $promoCode Промокод, например 'BELMASH10' * @return bool */ function isPromoAvailableForProduct($productId, $promoCode = 'BELMASH10') { // Получаем активные купоны $coupons = DiscountCouponsManager::get(true, [], true, true); if (empty($coupons)) { return false; } foreach ($coupons as $coupon) { if ($coupon['COUPON'] === $promoCode && $coupon['STATUS'] === 'Y') { // Получаем все скидки, к которым относится купон $discountIds = DiscountCouponTable::getList([ 'filter' => ['=COUPON' => $promoCode], 'select' => ['DISCOUNT_ID'] ])->fetchAll(); foreach ($discountIds as $d) { $discount = DiscountTable::getById($d['DISCOUNT_ID'])->fetch(); if (!$discount) { continue; } // Проверяем условия: на товар с ID $productId // В новых версиях условия хранятся в CONDITIONS_LIST if (!empty($discount['CONDITIONS_LIST'])) { $conditions = $discount['CONDITIONS_LIST']; // Рекурсивная проверка if (checkDiscountConditionForProduct($conditions, $productId)) { return true; } } } } } return false; } /** * Рекурсивная проверка условий скидки на конкретный товар */ function checkDiscountConditionForProduct($conditions, $productId) { if (!is_array($conditions)) { return false; } // Если условие содержит конкретный элемент if (isset($conditions['CLASS_ID']) && $conditions['CLASS_ID'] === 'CondIBElement' && isset($conditions['DATA']['Value']) && in_array($productId, (array)$conditions['DATA']['Value'])) { return true; } // Если группа условий if (isset($conditions['CHILDREN']) && is_array($conditions['CHILDREN'])) { foreach ($conditions['CHILDREN'] as $child) { if (checkDiscountConditionForProduct($child, $productId)) { return true; } } } return false; } }