В процессе эксплуатации программы «1С:Розница 2.2» в связке с эквайринговыми терминалами (например, Сбербанка) и кассовыми аппаратами (ККТ) Штрих-М, пользователи часто сталкиваются с аномалией: при попытке оплатить покупку картой чек пробивается с видом оплаты «Кредит» (или «Оплата в рассрочку»), либо «Наличные», хотя фактически клиент использовал банковскую карту. Рассмотрим детально, почему это происходит и как настроить систему, чтобы исключить подобные ошибки.
Проанализируем типичный сценарий возникновения проблемы. Кассир в интерфейсе РМК (Рабочее место кассира) инициирует оплату картой. В этот момент 1С отправляет команду на эквайринговый терминал. Если на карте недостаточно средств, происходит технический сбой связи или кассир ошибочно нажимает клавиши управления до завершения транзакции, система может повести себя непредсказуемо.
В старых релизах «1С:Розница» (например, 2.2.11.23) при получении отказа от банка программа не всегда блокирует возможность закрытия чека. Если кассир в спешке нажимает Enter или использует горячие клавиши, система пытается «закрыть» чек любым доступным способом. Если в системе разрешены расчеты с клиентами в рассрочку, 1С автоматически подставляет вид оплаты «Последующая оплата» (Кредит), чтобы фискализировать документ, раз команда на пробитие уже была инициирована в памяти ККТ.
Если ваша торговая точка не предполагает продажу товаров в долг или в рассрочку, первое, что необходимо сделать — полностью отключить этот функционал на уровне констант системы. Проанализируем, как это влияет на логику программы.
ИспользоватьРасчетыСКлиентами в значение Ложь.Важное замечание: Как показывает практика, простого отключения константы иногда недостаточно. Если в интерфейсе РМК кнопка оплаты в кредит остается активной или на нее назначена горячая клавиша, система может продолжать предлагать этот вид оплаты при возникновении исключительных ситуаций с эквайрингом.
Чтобы исключить влияние человеческого фактора, разберем настройку прав доступа. Даже если функционал включен, конкретному пользователю (кассиру) можно запретить использование кредитных схем.
Рассмотрим самый эффективный способ борьбы с ошибками кассиров — физическое удаление возможности выбрать неверный вид оплаты в интерфейсе. Посмотрим, как это сделать в настройках РМК:
F5 или F6) на операции «Кредит» или «Сложная оплата».После этих манипуляций, если оплата по карте не пройдет (например, при ответе терминала «Недостаточно средств»), кассир просто не увидит кнопок, позволяющих закрыть чек иным способом, кроме наличных (если они разрешены).
Иногда проблема кроется глубже — в настройках драйвера Штрих-М. Выясним причину на уровне протокола обмена. В ККТ существует таблица «Типы оплаты», где каждому индексу соответствует название платежа, передаваемое в ОФД.
Проанализируем возможный конфликт:
Тип оплаты 1 — это Наличные, а Тип оплаты 2 — Безналичные (или Электронные).Если в таблице на месте типа оплаты, который 1С считает безналичным, стоит «Кредит», то физический чек выйдет с надписью «Кредит», даже если в 1С всё выбрано верно. 1С:Розница версии 2.2.11 жестко привязана к индексам типов оплаты в драйвере. Рекомендуется обновить драйвер до актуальной версии (например, 4.15 или выше), так как в версии 4.14 наблюдались ошибки обработки таймаутов.
Если проблема возникает только с терминалами Сбербанка, разберем работу компоненты pilot_nt.dll. Часто бывает так: ответ от банка идет слишком долго, 1С «отваливается» по таймауту, но касса уже получила команду на открытие чека.
Для исправления ситуации выполним следующие действия:
pinpad.ini (находится в папке с банковским ПО). Убедитесь, что параметры ожидания ответа сервера соответствуют качеству вашего интернет-соединения.Автоматическая фиксация чека при оплате работает более корректно.Если за смену накопились чеки с видом оплаты «Оплата в рассрочку», которые фактически являются дублями успешных оплат, необходимо выполнить следующие шаги для корректного закрытия смены и сдачи отчетности:
// Схема действий для кассира:
1. Найти ошибочный чек в списке чеков РМК.
2. Выполнить операцию "Чек возврата" на основании этого чека.
3. В виде оплаты возврата обязательно указать "Оплата в рассрочку" (Кредит), чтобы баланс по этому виду оплаты обнулился.
4. Проверить отчет по смене: суммы по безналичным оплатам должны совпадать со слип-чеками терминала.
Резюмируя: основная причина появления «кредитных» чеков в «1С:Розница 2.2» — это попытка программы закрыть документ при сбое основной транзакции. Использование жестких ограничений в профилях доступа и скрытие лишних кнопок в РМК полностью решает эту проблему, не позволяя кассиру случайно фискализировать долг клиента.