Настройка правил округления цен 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка правил округления цен 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1175
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка правил округления цен 1С-Битрикс

Округление цен в 1С-Битрикс — точка, где математически корректный результат расценивается как артефакт. Скидка 7% на товар за 349 рублей даёт 324,57 рублей. Отображать такую цену на витрине нежелательно. Битрикс решает это через правила округления в модуле каталога.

Где настраивается округление

Настройки → Настройки продуктов → Каталог → Округление цен. В ранних версиях — в настройках компонента bitrix:catalog.element и bitrix:catalog.section параметры PRICE_VAT_INCLUDE и отдельные округления.

Глобальные правила округления — CCatalogProduct::getRoundRules() читает из b_catalog_rounding_rule.

Типы правил округления

Правило Описание Пример
Математическое Стандартное: 0.5 → вверх 324.57 → 325
Всегда вниз floor() 324.57 → 324
Всегда вверх ceil() 324.01 → 325
До нужного знака Точность в настройках 324.57 → 320 или 324.6

Программная настройка правил

// Добавление правила округления
\Bitrix\Catalog\RoundingTable::add([
    'CATALOG_GROUP_ID' => $priceTypeId, // 0 = все типы цен
    'PRICE_FROM'       => 0,
    'PRICE_TO'         => 999.99,
    'ROUND_TYPE'       => \Bitrix\Catalog\RoundingTable::ROUND_MATH,
    'ROUND_PRECISION'  => 0, // до целых
]);

// Для цен от 1000 — другое правило
\Bitrix\Catalog\RoundingTable::add([
    'CATALOG_GROUP_ID' => $priceTypeId,
    'PRICE_FROM'       => 1000,
    'PRICE_TO'         => null,
    'ROUND_TYPE'       => \Bitrix\Catalog\RoundingTable::ROUND_MATH,
    'ROUND_PRECISION'  => -1, // до десятков
]);

ROUND_PRECISION — количество знаков после запятой (отрицательные значения округляют до десятков, сотен).

Округление в корзине и на витрине

Правила округления применяются при вычислении итоговой цены через CCatalogProduct::GetOptimalPrice(). В компоненте корзины — при пересчёте суммы строки. Важно: НДС добавляется после округления базовой цены, не до.

Психологическое ценообразование

Для цен вида «.99» правила округления не подходят — это маркетинговая задача, которая решается постфиксным обработчиком. Пример — обработчик события OnSaleOrderBeforeSaved или кастомный метод пересчёта цен.

Сроки выполнения

Настройка правил округления для всех типов цен — 1–3 часа. Нестандартная логика (психологические цены, разные правила для категорий) — 4–8 часов.