Учет и Финансы · 8 мин
Как в 1С сделать округление без копеек
Способы округления сумм до целых рублей в 1С: настройка точности в конфигурации, функции Окр(), валюты, цены в документах и типичные ошибки при округлении.
Копейки в ценах и суммах документов часто мешают: контрагенты просят счета в целых рублях, розничные цены должны выглядеть «кругло», а при расчётах возникают расхождения в копейках между 1С и платёжными системами. В 1С округление без копеек можно настроить несколькими способами — от глобальных параметров валюты до точечного округления в формулах и коде.
Выбор способа зависит от задачи: нужно ли округлять только отображение, только цены номенклатуры, итоговые суммы документов или все денежные значения в базе. Неправильно выбранный метод приводит к расхождениям в отчётности, поэтому перед изменениями важно понимать, где именно в конфигурации возникает «лишняя» точность.
Откуда в 1С берутся копейки
Копейки появляются из-за того, что денежные реквизиты в типовых конфигурациях хранят два знака после запятой, а цены и курсы — до четырёх. При умножении количества на цену, применении скидки, расчёте НДС или пересчёте валютных сумм результат почти всегда получается дробным и округляется до копеек по стандартным правилам.
Важно различать три уровня, где «живут» копейки: хранение данных (точность реквизита в конфигурации), отображение (формат вывода в формах и отчётах) и расчётные формулы (округление в момент вычисления). Менять нужно именно тот уровень, на котором возникает проблема, иначе можно получить красивые цифры на экране и расхождения в проводках.
Округление через настройку валюты
Самый простой способ убрать копейки во всех документах сразу — изменить точность основной валюты учёта. В типовых конфигурациях (Управление торговлей, ERP, Комплексная автоматизация) откройте раздел «Администрирование» → «Общие настройки» → «Валюты» и для рубля установите точность 0 вместо 2.
После этого суммы в документах, отчётах и печатных формах будут отображаться и рассчитываться в целых рублях. Учтите: настройка влияет на всю систему, включая уже вводимые документы, поэтому перед изменением сделайте резервную копию и проверьте, как округление отразится на регламентированной отчётности и обменах с банком.
Округление цен в видах цен и прайсах
Если копейки нужно убрать только из цен номенклатуры, используйте настройки видов цен. В карточке вида цен (раздел «Ценообразование» или «CRM и маркетинг» в зависимости от конфигурации) есть параметры точности и порядок округления: «Округлять до» и «Правило округления» (арифметически, всегда вверх, всегда вниз).
Установите округление до 1 рубля — и при расчёте цен по формулам, наценкам и загрузке из файлов цены будут автоматически округляться до целых. Для уже рассчитанных цен выполните пересчёт через обработку «Формирование цен» или «Установка цен номенклатуры» с пересчётом по виду цен.
Дополнительно в некоторых конфигурациях доступно «психологическое округление» — например, до 9 рублей или до красивых значений. Это удобно для розницы: цена 999 вместо 1003,17 формируется автоматически без ручной правки каждой позиции.
- 1Откройте карточку нужного вида цен в разделе ценообразования
- 2Установите параметр «Округлять до» равным 1 и выберите правило округления
- 3Сохраните вид цен и запустите пересчёт цен номенклатуры
- 4Проверьте несколько позиций: цены должны быть целыми, без копеек
Округление сумм в документах
Даже при целых ценах копейки могут появиться в итогах из-за скидок в процентах и расчёта НДС. В ряде конфигураций в документах продажи есть настройка округления суммы документа — ищите флажок «Округлять сумму документа» или аналогичный параметр в настройках учётной политики и параметров учёта.
Если типового механизма нет, копейки убирают корректировкой: либо округлением скидки так, чтобы итог стал целым, либо добавлением строки корректировки. В розничных продажах (РМК) часто включают «округление чека» — разница списывается на отдельную статью доходов или расходов, чтобы итог чека был круглым.
При обменах с онлайн-кассой и платёжными агрегаторами следите, чтобы сумма в 1С после округления совпадала с фактически оплаченной. Расхождение даже в одну копейку может заблокировать закрытие чека или сверку эквайринга.
Сравнение вариантов
Убирает копейки во всей системе. Подходит для новых баз; рискованно в базе с историей
Влияет только на цены номенклатуры. Безопасно, но не решает копейки от скидок и НДС
Точечное решение для итогов продаж. Требует контроля списания разницы
Гибко для доработок и обменов, но требует изменения кода и тестирования
Программное округление функцией Окр()
Во встроенном языке 1С округление до целых рублей выполняется функцией Окр(). Первый параметр — число, второй — разрядность: Окр(Сумма, 0) вернёт целое число рублей. Можно добавить третий параметр — режим округления: РежимОкругления.Окр15как10 (банковское округление) или Окр15как20 (обычное арифметическое).
Пример типичного применения — округление итога документа в модуле объекта:
ИтогСНДС = Окр(СуммаБезНДС * 1.2, 0, РежимОкругления.Окр15как20);
Для запросов используется конструкция ВЫРАЗИТЬ(Сумма КАК ЧИСЛО(15, 0)) — она приводит значение к целым рублям прямо в выборке, что удобно для отчётов и печатных форм без изменения данных в базе.
// Округление до целых рублей
ЦелаяСумма = Окр(ИсходнаяСумма, 0);
// В запросе: ВЫРАЗИТЬ(Сумма КАК ЧИСЛО(15, 0))Округление только отображения через формат
Если данные должны храниться с копейками (например, для регламентированного учёта), а показывать нужно целые рубли, используйте форматную строку. В свойствах поля формы или в коде: Формат(Сумма, "ЧДЦ=0") — число выведется без дробной части, при этом в базе останется исходное значение.
Этот способ безопасен для отчётов и печатных форм, но помните: пользователь видит округлённое значение, а итоги могут «не сходиться» при сложении видимых цифр. Для внутренних управленческих отчётов это обычно допустимо, для расчётов с контрагентами — нет.
Как проверить результат
Все суммы целые, итог совпадает с суммой строк
Итог отличается от суммы строк на копейки
Цены и итоги без дробной части
Копейки видны в отдельных колонках
Итоги сходятся с документами
Расхождения между отчётом и документами
Типичные ошибки и ограничения
Главная ошибка — округлять каждую строку документа отдельно, а потом удивляться, что итог не сходится с суммой строк. Правильнее округлять либо цены до расчёта строк, либо только итог документа с явным списанием разницы.
Вторая частая проблема — смешение режимов округления в разных местах: в одном отчёте арифметическое, в другом вверх. Итоги по одной базе начинают различаться. Зафиксируйте единое правило округления в учётной политике или регламенте и придерживайтесь его во всех доработках.
Наконец, помните про регламентированную отчётность: налоговые декларации и платёжки имеют собственные правила округления, установленные законодательно. Не переопределяйте их произвольно — используйте типовые механизмы конфигурации.
Частые вопросы
Можно ли убрать копейки только в печатной форме счёта?
Да. В макете печатной формы задайте форматную строку с ЧДЦ=0 для суммовых полей или округлите значения функцией Окр() при заполнении параметров макета. Данные в документе при этом не изменятся.
Что делать с копейками в уже проведённых документах?
Старые документы автоматически не пересчитаются. Либо оставьте их как есть (исторические данные), либо выполните перепроведение после настройки округления на тестовой копии и оцените разницу в отчётах.
Как округлять всегда в большую сторону?
Используйте конструкцию вида Цел(Сумма) + ?(Сумма > Цел(Сумма), 1, 0) или в видах цен выберите правило округления «всегда в пользу предприятия», если оно доступно в вашей конфигурации.
Повлияет ли округление на выгрузку в банк и кассу?
Да, если суммы в 1С и в платёжных документах различаются, сверка эквайринга и закрытие кассовой смены могут выдавать расхождения. Настраивайте округление так, чтобы итог документа совпадал с фактической суммой оплаты.
Как убрать копейки в отчёте на СКД без изменения данных?
В настройках СКД для числового поля задайте формат с нулевой точностью (ЧДЦ=0) на закладке «Наборы данных» или в пользовательских настройках оформления поля. Значения в базе останутся с копейками.
Что важно запомнить
Округление без копеек в 1С делается на четырёх уровнях: точность валюты, округление в видах цен, округление итогов документов и программная функция Окр(). Для отображения без изменения данных используйте формат ЧДЦ=0. Любые изменения в рабочей базе сначала проверяйте на копии.