Как настроить автоматическое округление чека до рубля в 1С:Управление торговлей 11?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Округление итоговой суммы чека до целого рубля — частое требование бизнеса, однако в Управлении торговлей 11 этот процесс может вызывать вопросы, особенно при использовании различных видов скидок. Рассмотрим, почему могут возникать ошибки округления и как добиться стабильной работы системы.

Понимание типового механизма округления

В УТ 11 округление реализовано не как отдельная настройка «в одно нажатие», а как специализированный вид Скидка (наценка). Система воспринимает округление как расчетное действие, выполняемое в определенной очередности. Если в документе присутствуют ручные скидки, автоматические акции или бонусные программы, порядок их применения становится критическим фактором.

Важно: Типовой алгоритм может игнорировать ручные скидки, если они внесены после того, как сработал механизм округления. Поэтому первое, что нужно сделать при возникновении «копеечных» расхождений — проверить приоритетность скидок в справочнике Скидки (наценки).

Шаги по настройке автоматического округления

  1. Создайте новую скидку с типом Округление.
  2. Задайте правило, при котором данная скидка будет действовать на все товары или на документ в целом.
  3. Установите максимальный приоритет (выполнение последним) для данного вида скидки. Это гарантирует, что округление будет применяться уже к финальной сумме документа, после того как все прочие скидки (ручные и автоматические) будут рассчитаны.
  4. Привяжите скидку к соответствующему Магазину или Складу в карточке условий предоставления.

Почему округление не срабатывает «автоматом»?

Часто пользователи сталкиваются с тем, что округление требует нажатия кнопки Рассчитать скидки в РМК. Это связано с тем, что РМК ожидает финализации документа. Чтобы автоматизировать этот процесс, проанализируем настройки профиля группы доступа и параметры рабочего места кассира. Если после обновления конфигурации настройки сбросились, проверьте флаг автоматического пересчета при закрытии чека.

Решение проблем с помощью расширений

Если типового функционала недостаточно (например, система некорректно работает с многострочными чеками или сложными ручными скидками), единственным надежным выходом будет использование расширений конфигурации. Это позволит программно перехватить событие записи документа и принудительно выполнить процедуру округления.

Рассмотрим пример логики, которую можно реализовать в расширении для принудительного округления:


// Пример логики для расширения
Процедура ПриЗаписиДокументаОкругление(ДокументОбъект)
    СуммаДокумента = ДокументОбъект.СуммаДокумента;
    СуммаОкругленная = Окр(СуммаДокумента, 0, РежимОкругления.Окр15С20);
    Разница = СуммаОкругленная - СуммаДокумента;
    
    // Добавление корректировочной суммы в документ
    Если Разница <> 0 Тогда
        // Код для вставки корректировочной строки в табличную часть
    КонецЕсли;
КонецПроцедуры

Советы по диагностике «странного» поведения

Применяя данные рекомендации, вы сможете обеспечить корректный расчет итоговых сумм в ваших чеках. Если проблема сохраняется, рекомендуем сосредоточиться на реализации логики через расширение, так как это дает полный контроль над тем, как и когда именно выполняется математическое округление документа.

← На главную