Торговля и Склад · 10 мин
Как округлить скидки в 1С: настройка и практические приёмы
Как настроить округление скидок в 1С:Управление торговлей и Рознице: порядок округления сумм, ручные и автоматические скидки, типичные ошибки и проверка результата.
При расчёте скидок в 1С часто возникают «копеечные» значения: скидка 7% от 1 253 рублей даёт 87,71 рубля, и в чеке или счёте появляются суммы, которые неудобно показывать клиенту и сложно согласовывать. Проблема решается настройкой округления — либо самой скидки, либо итоговой цены строки, либо суммы документа целиком.
В типовых конфигурациях (1С:Управление торговлей 11, Комплексная автоматизация, ERP, Розница) механизмы округления уже встроены, но работают по-разному в зависимости от вида скидки и места настройки. В старых конфигурациях (Управление торговлей 10.3, УПП) инструменты скромнее, и округление приходится делать вручную или доработкой.
Ниже разобраны основные способы: округление в настройках автоматических скидок, округление цен в видах цен, ручное округление в документе и вариант с программной доработкой. Для каждого способа указаны условия применения и ограничения.
Где именно в 1С возникает проблема округления скидок
Скидка в 1С может влиять на три разных значения: на цену строки, на сумму строки и на итог документа. Округлять можно любой из этих уровней, и от выбора зависит, как «разойдутся» копейки. Если округлить цену, сумма строки пересчитается автоматически. Если округлить только итог документа, в строках останутся дробные значения, что может конфликтовать с печатными формами и требованиями к чекам.
Отдельная ситуация — процентные скидки по нескольким строкам. Скидка 10% от каждой позиции по отдельности и скидка 10% от итога документа после округления могут дать разные суммы. Это нормально с точки зрения арифметики, но вызывает вопросы у покупателей и бухгалтерии, поэтому правило округления нужно зафиксировать и применять единообразно.
Также учитывайте, что при передаче данных в онлайн-кассу суммы в чеке должны сходиться с расчётом в документе. Расхождения в копейках из-за непредсказуемого округления — частая причина расхождений между 1С и фискальными данными.
Округление в карточке автоматической скидки (УТ 11, КА, ERP)
В конфигурациях на базе УТ 11 основной способ — настройка в самой скидке. Откройте раздел «CRM и маркетинг» → «Скидки (наценки)» и найдите нужную скидку. В карточке скидки есть поле «Способ предоставления» (процент, сумма, подарок и т.д.) и параметры округления.
Для скидки «Процент» доступен «Порядок округления»: до рубля, до 10 копеек, до 50 копеек и другие варианты, а также направление округления — по арифметическим правилам, всегда в большую или всегда в меньшую сторону. Округление в меньшую сторону безопаснее для продавца: клиент никогда не получит скидку меньше ожидаемой, а потери на округлении минимальны.
После изменения настроек скидку нужно сохранить и убедиться, что она действует (установлен статус «Действует»). Расчёт в документах выполняется по кнопке «Рассчитать скидки» или автоматически при подборе товаров — в зависимости от настроек рабочего места.
- 1Откройте «CRM и маркетинг» → «Скидки (наценки)»
- 2Найдите нужную скидку и откройте её карточку
- 3В поле «Порядок округления» выберите шаг (например, до рубля)
- 4Выберите направление округления (в меньшую сторону, в большую, по правилам)
- 5Запишите скидку и проверьте статус «Действует»
- 6Создайте тестовый документ продажи и рассчитайте скидки
- 7Сверьте суммы в строках и итог документа с ожидаемым результатом
Округление цен в видах цен и прайсах
Второй уровень — округление самих цен до применения скидки. В карточке вида цен (раздел «CRM и маркетинг» → «Настройки и справочники» → «Виды цен») есть параметры «Порядок округления» и «Округлять в большую сторону». Если цена изначально круглая (например, 100 или 990 рублей), то и процентная скидка чаще даёт «удобные» суммы.
Этот способ подходит, когда скидки считаются от базового прайса и вы хотите контролировать именно розничную цену на ценнике. Ограничение: округление вида цен влияет на все документы и всех клиентов, использующих этот вид цен, а не на конкретную акцию.
При комбинации обоих механизмов сначала округляется цена по виду цен, затем применяется скидка со своим округлением. Проверяйте итоговую цену на нескольких типовых товарах — двойное округление иногда даёт неожиданные результаты на дешёвых позициях.
Сравнение способов округления
Точечная настройка под конкретную акцию. Не влияет на другие скидки и цены. Рекомендуемый основной способ.
Делает круглыми все цены прайса. Подходит для розницы с ценниками, но влияет на всех покупателей сразу.
Гибко, но требует дисциплины менеджеров и не защищает от ошибок и злоупотреблений.
Любое правило, включая психологические цены (заканчивать на 9 или 90). Требует разработчика и сопровождения при обновлениях.
Ручное округление скидки в документе
Если скидка назначается вручную, менеджер может сразу указать округлённое значение. В документе «Реализация товаров и услуг» или «Чек ККМ» в табличной части есть колонки «% ручной скидки» и «Сумма ручной скидки». Если ввести сумму скидки, процент пересчитается автоматически — так проще задать круглую итоговую цену.
Практический приём: посчитайте нужную итоговую сумму строки, вычтите её из суммы без скидки и введите разницу как сумму ручной скидки. Для одного-двух документов это приемлемо, но при массовых продажах способ не масштабируется и провоцирует ошибки.
Учтите, что на ручные скидки обычно действуют ограничения по максимальному проценту (настраиваются в соглашениях с клиентами или в правах пользователей). Если округлённая скидка превысит лимит, программа не даст провести документ.
Округление итога документа и чеки ККТ
В розничных продажах часто нужно округлить не скидку по строкам, а итог чека — например, до рубля в меньшую сторону. В Рознице и при работе с ККТ это решается либо специальной скидкой на документ, либо настройками округления в рабочем месте кассира, либо доработкой — в зависимости от версии конфигурации.
Ключевое требование: сумма, переданная на кассу, должна совпадать с суммой в 1С. Если округление выполняется «в уме» кассира или на стороне кассы, в отчётах появятся расхождения. Всегда округляйте в документе 1С до пробития чека.
После настройки проверьте цепочку целиком: создайте чек с проблемными позициями (цены, дающие копейки при скидке), рассчитайте скидки, пробейте чек на тестовой кассе или в режиме эмуляции и сверьте суммы в чеке, в документе и в Z-отчёте.
Как проверить результат
Значение кратно выбранному шагу округления (рубль, 10 копеек и т.д.)
Остались произвольные копейки — настройка не применилась или скидка другая
Сумма к оплате совпадает с расчётом «цена минус скидка» по каждой строке
Итог расходится с суммой строк — округление применено не ко всем строкам
Сумма в чеке равна сумме документа в 1С
Расхождение в копейках — округление выполнено вне документа
Программное округление и типичные сценарии доработки
Стандартные настройки покрывают округление «до шага» (рубль, 10 копеек, 50 копеек). Если нужны особые правила — например, цена всегда должна заканчиваться на 9 или на 90, либо скидка округляется до ближайших 10 рублей только для опта — потребуется доработка.
Доработка обычно выполняется в модуле расчёта скидок или через расширение конфигурации, чтобы не потерять изменения при обновлении. Типовой фрагмент округления итоговой цены строки выглядит так:
// Округление цены до ближайшего значения, оканчивающегося на 9
НоваяЦена = Окр(ЦенаСоСкидкой / 10, 0) * 10 - 1;
Если НоваяЦена <= 0 Тогда
НоваяЦена = ЦенаСоСкидкой;
КонецЕсли;
Перед доработкой зафиксируйте правило письменно: что округляется (цена, скидка, итог), направление округления, поведение при нулевых и отрицательных результатах. Это убережёт от ситуации, когда скидка после округления стала больше цены товара.
Частые вопросы по округлению скидок в 1С
Почему настройка округления в скидке не сработала в документе?
Чаще всего скидка не пересчитана: после изменения карточки откройте документ и нажмите «Рассчитать скидки» заново. Также проверьте, что действует именно эта скидка, а не другая с более высоким приоритетом — в УТ 11 применяется механизм совместного применения, и нужная скидка может быть вытеснена.
Можно ли округлять скидку до целых рублей только для оптовых клиентов?
Да. Создайте отдельную скидку с нужным порядком округления и задайте условия предоставления — например, по сегменту партнёров или виду соглашения. Розничная скидка при этом настраивается со своими параметрами независимо.
Как округлить итог чека до рубля в меньшую сторону в 1С:Розница?
В типовой Рознице прямой настройки «округлить итог чека» может не быть — зависит от версии. Рабочие варианты: скидка на документ с подобранным округлением, настройки в рабочем месте кассира или небольшая доработка. Главное — округление должно выполняться в документе до передачи суммы на кассу.
Что выбрать: округление в большую или меньшую сторону?
Для скидок безопаснее округлять сумму скидки в меньшую сторону — клиент никогда не получит цену выше ожидаемой. Для цен прайса чаще округляют в большую сторону, чтобы не терять маржу. Арифметическое округление — компромисс, но менее предсказуемо для клиентов.
Почему после округления сумма в чеке не совпадает с документом?
Признак того, что округление выполнено вне документа — например, кассир вручную изменил сумму на кассе или применена внешняя обработка печати. Исправьте процесс: округляйте в документе 1С, затем пробивайте чек без ручных правок суммы.
Сохранится ли настройка округления при обновлении конфигурации?
Настройки в карточках скидок и видов цен хранятся в данных базы и при обновлении не теряются. Рискуют только доработки кода: если они сделаны прямым изменением типовых модулей, при обновлении их нужно переносить вручную. Используйте расширения конфигурации.
Что важно запомнить
Основной способ округления скидок в УТ 11, КА и ERP — параметр «Порядок округления» в карточке скидки. Дополнительно можно округлять цены в виде цен. Округляйте всегда в документе до пробития чека, тестируйте изменения на копии базы и не меняйте правила посреди действующей акции.