Переход с версии 1С:Управление торговлей 11.3 на 11.4 часто сопровождается изменением привычных алгоритмов работы. Одной из наиболее раздражающих проблем для кассиров становится исчезновение автоматического округления копеек. Если раньше программа сама приводила сумму чека к целому числу, то в новых релизах система начинает требовать нажатия кнопки «Рассчитать скидки» или выдает предупреждающее окно перед пробитием чека. В условиях высокой проходимости торговой точки это создает очереди и провоцирует ошибки персонала.
В этой статье мы подробно разберем, почему изменилось поведение программы, и как настроить систему таким образом, чтобы округление происходило полностью автоматически, имитируя привычный процесс из прошлых версий.
Прежде чем приступать к настройкам, проанализируем ситуацию с точки зрения законодательства. Начиная с версии 11.4, алгоритмы 1С были существенно переработаны под требования ФЗ-54. Основная сложность заключается в том, что онлайн-касса требует передачи информации о цене каждой позиции с учетом всех скидок. Если раньше округление можно было сделать просто «в подвале» чека, отняв несколько копеек от итоговой суммы, то теперь программа обязана распределить эти копейки по каждой строке чека.
Именно поэтому система блокирует пробитие чека без предварительного расчета: ей нужно точно знать, в стоимость какого товара «уйдут» копейки округления, чтобы итоговая сумма по позициям сошлась с суммой к оплате до копейки.
Первым делом проверим глобальные настройки системы, которые определяют момент расчета скидок. Без этого никакие дальнейшие действия не дадут результата.
Рассмотрим путь к настройкам:
Если там установлено значение Вручную, программа будет всегда ждать нажатия кнопки от пользователя. Установка автоматического режима — это фундамент для решения нашей задачи.
Даже при включенном автоматическом расчете в маркетинге, конкретное рабочее место может иметь свои ограничения. Разберем, как настроить профиль РМК:
Проследуем по пути: НСИ и администрирование — Продажи — Настройки РМК. Здесь нам нужно открыть ту настройку, которая назначена кассирам в магазине.
На вкладке «Общие настройки» необходимо активировать флаг «Автоматически рассчитывать скидки/наценки». Этот флаг заставляет систему инициировать процедуру расчета в тот момент, когда кассир переходит к оплате чека. Кроме того, в некоторых релизах ветки 11.4.8 и выше полезно включить опцию «Использовать упрощенный расчет скидок», что минимизирует количество всплывающих диалоговых окон.
Теперь создадим сам инструмент округления. Важно понимать, что округление в 1С:УТ — это частный случай автоматической скидки. Чтобы она работала корректно и не вызывала конфликтов при продаже мерного или весового товара, выполним следующие действия:
Создадим новую скидку в справочнике «Скидки (наценки)»:
Важный нюанс: Чтобы округление срабатывало последним (после применения всех бонусных карт и маркетинговых акций), его нужно поместить в самую нижнюю группу в дереве скидок. Рекомендуем создать группу с типом совместного применения «Вытеснение» и поместить округление туда. Это гарантирует, что итоговая сумма будет «красивой» независимо от других условий.
Проанализируем ситуацию, упомянутую в обсуждении: продажа товара в метрах или килограммах. Когда у нас есть дробное количество, например, 1.234 м, и цена с копейками, итоговая сумма строки почти всегда будет иметь длинный «хвост» после запятой.
В этом случае автоматический расчет скидок может споткнуться, если настроены минимальные цены. Проверьте, чтобы скидка на округление не нарушала правило минимальной цены продажи. Если система видит, что округление «отъедает» цену ниже допустимого порога, она остановит процесс и потребует вмешательства человека. Для корректной работы автоматики убедитесь, что порог минимальных цен позволяет проводить такие незначительные корректировки.
Если типовые настройки по каким-то причинам не помогают (например, в специфических релизах 11.4.8.х), можно прибегнуть к использованию расширения конфигурации. Нам нужно перехватить момент перехода к оплате и программно вызвать расчет.
Пример логики, которую можно реализовать в расширении для формы РМК:
&НаКлиенте
Процедура ПослеДобавленияТовара(Элемент)
// Имитируем команду расчета скидок, если сумма изменилась
СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("АвтоматическийРасчет", Истина);
ОбработкаКомандыРассчитатьСкидки(СтруктураПараметров);
КонецПроцедуры
В более свежих версиях платформы 8.3 рекомендуется использовать расширение метода ПередПробитиемЧека или обработчики ожидания, которые проверяют флаг модифицированности корзины. Однако, в большинстве случаев достаточно правильно настроенного профиля РМК и автоматического режима в настройках маркетинга.
Подведем итоги того, что мы узнали для возврата автоматического округления:
Автоматически для расчета скидок.Следуя этой методике, мы сможем избавить кассиров от необходимости подтверждать расчет скидок вручную, что значительно ускорит процесс обслуживания покупателей и снизит уровень стресса при работе с программой.