Как настроить скидку только при оплате наличными в 1С:Розница?

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

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

Важная юридическая сторона: законна ли скидка за наличные?

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

Согласно пункту 4 статьи 16.1 Закона РФ «О защите прав потребителей», продавцу строго запрещено устанавливать разные цены на один и тот же товар в зависимости от способа его оплаты. Проверяющие органы (Роспотребнадзор) трактуют любую «скидку за наличные» как скрытую наценку при оплате картой. Это считается ущемлением прав потребителей и влечет за собой административные штрафы по статье 14.8 КоАП РФ:

  1. Для должностных лиц и индивидуальных предпринимателей (ИП) — от 12 000 до 20 000 рублей.
  2. Для юридических лиц (ООО) — от 100 000 до 500 000 рублей.

Законная альтернатива: стимулировать безналичные платежи (например, оплату по QR-коду через Систему быстрых платежей — СБП) абсолютно законно. Закон защищает права потребителей при ограничении безналичных оплат, но поощрение безналичных расчетов или СБП со стороны государства только приветствуется.

Если же вы все-таки приняли решение внедрить скидку за наличные под свою ответственность или ищете способ реализовать это на практике, рассмотрим технические варианты для программы 1С:Розница 2.2 и более современных версий.

Почему в 1С:Розница 2.2 нельзя настроить такую скидку штатно?

Проанализируем архитектуру работы механизма скидок в старых редакциях программы. Главная проблема заключается в том, что расчет автоматических скидок происходит до того, как кассир переходит к выбору формы оплаты в Рабочем месте кассира (РМК).

Программа рассчитывает скидки в момент формирования состава чека и считывания дисконтной карты. На этом этапе модуль расчета скидок физически не знает, каким образом покупатель закроет чек — картой, наличными или вообще подарочным сертификатом. Именно поэтому в 1С:Розница 2.2 в условиях предоставления скидок нет прямого выбора «По виду оплаты».

Решение №1: Использование ручных скидок (без изменения кода)

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

Разберем этот алгоритм по шагам:

  1. Создайте новую скидку в справочнике «Скидки (наценки)» со значением, например, 5%.
  2. В карточке скидки обязательно установите флаг «Назначается вручную».
  3. Проинструктируйте кассира действовать по следующему сценарию:
    • Кассир сканирует товары и считывает дисконтную карту покупателя.
    • Перед расчетом кассир задает вопрос: «Как вы будете оплачивать — наличными или картой?».
    • Если покупатель выбирает наличные, кассир нажимает в РМК кнопку «Управляемые скидки» (или сочетание клавиш Alt+F9), находит в списке доступную ручную скидку по карте и применяет ее.
    • Если покупатель выбирает карту, кассир просто продолжает оформление чека по стандартной цене без вызова меню скидок.

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

Решение №2: Программная автоматизация в РМК (доработка кода)

Для того чтобы исключить ошибки кассиров и автоматизировать отмену скидок при оплате банковской картой, программисты 1С могут внести минимальные изменения в форму РМК. Наша задача — принудительно сбрасывать все ручные или автоматические скидки в документе в момент нажатия кнопки безналичной оплаты.

Выясним, где именно в кодовой базе происходит обработка нажатия кнопки безналичной оплаты. Рассмотрим пример изменения процедуры нажатия клавиши «Платежная карта» (по умолчанию горячая клавиша F7):


&НаКлиенте
Процедура КартинкаЧО06ПлатежнаяКартаНажатие(Элемент, СтандартнаяОбработка)
    // Вызываем системную процедуру отмены ручных скидок
    ОтменитьРучныеСкидки(); 
    
    СтандартнаяОбработка = Ложь;
    ВыполнитьЧО06ПлатежнаяКарта();
КонецПроцедуры

Этот лаконичный вариант отлично работает, если скидка была добавлена кассиром вручную (как описано в Решении №1). Программа автоматически очистит табличную часть от ручных скидок при переходе в режим оплаты картой.

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

Решение №3: Штатный функционал в современных версиях (Розница 3.0, УНФ 3.0, 1С:РМК)

Разработчики фирмы 1С учли пожелания пользователей и в современных решениях полностью реализовали этот функционал на уровне типовых механизмов. Начиная с версий 1С:Розница 3.0.7, 1С:УНФ 3.0.7 и автономного рабочего места 1С:РМК (версии 1.0.13 и выше), появился полноценный механизм «Скидка за способ оплаты».

Посмотрим, как настроить его в пользовательском режиме:

  1. Перейдите в раздел управления скидками и создайте новое правило со значением скидки (процент или сумма).
  2. В качестве условия предоставления выберите предопределенный тип: «За вид оплаты».
  3. В появившемся поле укажите конкретный способ платежа: Наличные, Банковская карта или СБП (Система быстрых платежей).

Проанализируем, как это работает на кассе в современном РМК. Система рассчитывает скидку «на лету» и выводит на экран кассира и покупателя интерактивные информеры-подсказки (например: «Оплатите наличными и сэкономьте 150 рублей!»). Если клиент выбирает смешанную оплату (часть картой, часть наличными), программа автоматически пересчитает скидку пропорционально или полностью аннулирует ее в зависимости от ваших настроек, выведя предупреждение на экран.

Законная альтернатива: Округление чека в пользу покупателя

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

В настройках РМК программ 1С (как в Рознице 2.3, так и в 3.0) присутствует опция «Округление только при оплате наличными». Рассмотрим принцип ее работы:

С точки зрения проверяющих органов, такое округление не признается дискриминацией или незаконной наценкой. Это классифицируется как технологический процесс оптимизации расчетов с покупателями для сокращения времени выдачи сдачи мелкими монетами. Бизнес получает лояльность клиентов и экономию на инкассации мелких денег, не нарушая при этом закон «О защите прав потребителей».

← На главную