Торговля и Склад · 10 мин
Как сделать округление цен в 1С
Как настроить округление цен в 1С: правила в видах цен, порядок округления, точность до копеек, триггерная цена и проверка результата в документах.
Округление цен в 1С чаще всего требуется в двух случаях: при автоматическом расчёте цен по формулам (наценка на закупочную цену, пересчёт из валюты) и при ручной установке цен, когда копейки в прайсе выглядят неаккуратно. В типовых конфигурациях — «Управление торговлей», «Управление нашей фирмой», «Комплексная автоматизация», «ERP» — для этого предусмотрен встроенный механизм правил округления в карточке вида цен, и править код обычно не нужно.
Механизм работает так: при заполнении цен документом «Установка цен номенклатуры» программа сначала рассчитывает цену по заданному способу (наценка, процент от другого вида цен, произвольная формула), а затем применяет правило округления, указанное для этого вида цен. Если правило не задано, цена сохраняется с той точностью, с которой была рассчитана — вплоть до нескольких знаков после запятой.
Важно понимать: округление применяется на этапе расчёта и записи цены в регистр. Уже записанные цены автоматически не пересчитываются при смене правила — их нужно переустановить. Также округление вида цен не влияет на итоги документов продажи: если нужно округлять сумму чека или счёта, используются другие настройки, о них ниже.
Где в 1С находятся настройки округления цен
В «Управлении торговлей» и «Комплексной автоматизации» откройте раздел «CRM и маркетинг» (в УНФ — «Настройки» → «Цены» или справочник «Виды цен») и перейдите к списку видов цен. Откройте нужный вид цены — в его карточке есть вкладка или группа «Правила округления». Именно здесь задаётся поведение при расчёте.
В «Управлении нашей фирмой» путь похожий: «Компания» → «Настройки» → «Ценообразование» либо сразу справочник «Виды цен». В карточке вида цены заполните блок округления. Если блока не видно, проверьте, что в настройках учётной политики включено использование нескольких видов цен и расчёта цен по формулам — без этого часть параметров скрыта.
В конфигурациях на базе БСП (например, «Розница») логика та же: правило округления привязано к виду цен, а не к товару. Если нужно округлять разные группы товаров по-разному (скажем, табак — до рубля, продукты — до 10 копеек), создайте отдельные виды цен с собственными правилами или используйте уточнение правил по ценовым группам, если оно доступно в вашей версии.
Какие параметры округления можно задать
Основной параметр — «Порядок округления»: шаг, до которого приводится цена. Типовые значения: 0,01 (до копейки), 0,05, 0,1, 0,5, 1 (до рубля), 5, 10, 50, 100. Чем крупнее шаг, тем «круглее» прайс, но тем заметнее отклонение от расчётной наценки.
Второй параметр — «Точность округления» (число знаков после запятой при хранении цены). Он определяет, сколько знаков будет видно в документах и отчётах. Если порядок округления — до рубля, разумно поставить точность 0, чтобы копейки не отображались вовсе.
Третий параметр — «Триггерная цена». Это граница, от которой зависит направление округления: если расчётная цена больше триггерной, округление идёт вверх, если меньше — вниз. Например, при триггерной цене 50 и порядке 10 цена 54 превратится в 50, а 56 — в 60. Если триггерную цену не задавать, действует стандартное арифметическое округление.
Определяет, до какой величины приводится цена
Сколько цифр хранится и отображается в цене
Задаёт направление округления относительно порога
Пошаговая настройка округления для вида цен
Ниже — универсальный порядок для типовых конфигураций на платформе 8.3. Названия разделов могут немного отличаться, но логика одинаковая.
- 1Откройте справочник «Виды цен» и выберите нужный вид цены.
- 2Перейдите на вкладку «Правила округления» (или раскройте соответствующую группу).
- 3Установите флаг «Округлять цены» / включите правило, если оно отключено.
- 4Задайте порядок округления — например, 1 для округления до рубля.
- 5Укажите точность округления (число знаков после запятой).
- 6При необходимости задайте триггерную цену для управления направлением округления.
- 7Сохраните вид цены и переустановите цены документом «Установка цен номенклатуры».
После сохранения правила создайте новый документ «Установка цен номенклатуры», заполните его кнопкой «Заполнить» → «По ценам номенклатуры» или «Рассчитать» — программа применит новое правило. Проверьте несколько позиций вручную: расчётная цена до округления и итоговая должны отличаться не более чем на половину шага округления.
Если цены рассчитываются формулой (например, «Закупочная цена × 1,35»), округление применяется уже к результату формулы. Убедитесь, что в самой формуле нет собственных функций округления — двойное округление даст непредсказуемый результат.
Округление цен в документах и сумм продаж
Округление вида цен влияет на цену за единицу товара, но не на итог документа. Если задача — округлять общую сумму чека или реализации (например, до рубля в меньшую сторону как скидка), это решается иначе. В «Рознице» и УТ для этого используются настройки скидок: автоматическая скидка с типом «Округление суммы документа» либо ручная корректировка суммы.
В УНФ в документе продажи доступна скидка/наценка по документу, а в кассовых документах можно настроить округление итога через параметры рабочего места кассира. Точные возможности зависят от версии конфигурации — проверьте раздел «Скидки и наценки» в настройках.
Отдельный случай — округление суммы НДС. Здесь правила жёстко определены: сумма налога считается в полных рублях и копейках по установленной методике, и произвольно округлять её нельзя. Если расхождения возникают из-за округления цены за единицу, корректируйте цену или сумму строки, а не НДС напрямую.
Округление при пересчёте валютных цен
Если вид цены ведётся в валюте или рассчитывается от валютной цены, округление применяется после пересчёта по курсу. Из-за колебаний курса копеечные «хвосты» появляются постоянно, поэтому для валютных видов цен правило округления особенно полезно — обычно до рубля или до 50 копеек.
Учтите порядок операций: сначала пересчёт по курсу на дату документа, затем округление. Если цены устанавливаются редко, а курс меняется ежедневно, фактическая цена продажи будет отставать от рыночной — компенсируйте это периодической переустановкой цен или автоматическим заданием по обновлению.
Для валютных цен удобно настроить регламентное задание на ежедневный пересчёт и установку цен. Тогда округление до рубля не будет накапливать ошибку: каждый день цена приводится к актуальному курсу заново.
Типичные ошибки и как их избежать
Самая частая ошибка — настроить правило и забыть переустановить цены. Правило не действует задним числом: пока вы не проведёте новую «Установку цен номенклатуры», в продажах будут старые значения с копейками.
Вторая ошибка — конфликт точности хранения и шага округления. Если порядок округления 1 (до рубля), а точность оставлена 2 знака, цена будет выглядеть как «150,00». Функционально это не страшно, но прайс выглядит небрежно, а в печатных формах могут появиться лишние нули.
Третья ошибка — округление вверх при расчёте от себестоимости без контроля маржи. При шаге 10 рублей на дешёвом товаре с ценой 12 рублей округление до 10 или 20 меняет наценку на десятки процентов. Для низкоценовых групп используйте мелкий шаг или отдельный вид цен.
Как проверить, что округление работает правильно
После настройки проведите контроль на тестовом наборе: выберите 5–10 позиций с разными расчётными ценами (с копейками, круглые, пограничные для триггерной цены) и переустановите по ним цены. Сравните результат с ожидаемым вручную.
Как проверить результат
Кратна шагу округления (например, 150 при шаге 10)
Копейки или значения не кратные шагу
Подставляется новая округлённая цена
Подставляется старая цена — значит, её не переустановили
Направление округления соответствует заданному
Цена округляется не в ту сторону — проверьте триггер
Дополнительно сформируйте отчёт «Прайс-лист» или анализ цен и убедитесь, что все позиции целевого вида цен соответствуют правилу. Если часть позиций не округлилась — вероятно, у них цена задана вручную и не пересчитывается формулой; такие строки нужно перезаполнить принудительно.
Что важно запомнить
Округление настраивается в карточке вида цен через порядок округления, точность и триггерную цену. Правило действует только на вновь устанавливаемые цены — после настройки обязательно переустановите цены. Суммы документов и НДС округляются отдельными механизмами.
Частые вопросы
Почему после настройки округления в продажах остались цены с копейками?
Правило округления применяется только при расчёте и записи новой цены. Уже записанные в регистр цены не меняются. Создайте документ «Установка цен номенклатуры», заполните его расчётным способом и проведите — после этого в документы начнёт подставляться округлённое значение.
Можно ли округлять цены только вверх, а не по арифметическим правилам?
Да, через триггерную цену. Если установить триггерную цену равной нулю или минимально возможному значению, любая дробная часть будет округляться вверх до следующего шага. Проверьте поведение на пограничной цене, чтобы убедиться, что направление задано верно.
Как округлить итоговую сумму чека, а не цену товара?
Используйте механизм скидок: в типовых конфигурациях есть автоматическая скидка с округлением суммы документа либо ручная скидка на разницу. Настройки вида цен на итог документа не влияют — они работают только с ценой за единицу.
Будет ли округление работать для цен, заданных вручную?
Нет. Если цена введена вручную в документе установки цен, программа сохранит её как есть. Округление срабатывает при расчёте — по формуле, наценке или пересчёту от другого вида цен. Для ручных цен используйте перезаполнение документа расчётным способом.
Разное округление для разных групп товаров — как сделать?
Два варианта: создать отдельные виды цен с собственными правилами для каждой группы, либо использовать уточнение правил округления по ценовым группам, если ваша версия конфигурации это поддерживает. Первый вариант надёжнее и проще в контроле.
Меняет ли округление цены в уже проведённых документах реализации?
Нет. Проведённые документы хранят цены на момент проведения. Округление влияет только на новые документы, в которых цена подставляется из регистра после переустановки. Старые реализации перепроводить ради округления не нужно и небезопасно.