После очередного автоматического обновления компонент 1С многие пользователи столкнулись с неприятной проблемой: при попытке провести оплату по карте, сверку итогов или любую другую операцию с эквайринговым терминалом Сбербанка система выдает ошибку "ОШИБКА ОплатитьПлатежнойКартой, код завершения операции --1, ответ терминала - .". Проблема была вызвана обновлением драйвера "1С:Эквайринговые терминалы Сбербанка 2.х" до проблемной версии 2.7.5.1.
Самое опасное в этой ситуации то, что терминал может списать деньги с карты покупателя, но из-за ошибки операция в 1С не завершается, и кассовый чек не печатается — для этого подойдёт загрузка реестра Сбербанка и массовая печать чеков. Это приводит к так называемому "разрыву транзакции", путанице в учете и конфликтным ситуациям с клиентами. Рассмотрим по шагам, как можно исправить эту ошибку и что делать с "подвисшими" платежами.
Проблема кроется в самом драйвере от 1С. В версии 2.7.5.1 были внесены изменения в механизм взаимодействия программы с библиотеками терминала Сбербанка (например, sb_kernel.dll). В частности, появился новый параметр PendingCompletion (Ожидание завершения операции), который в некоторых конфигурациях не инициализировался корректно после обновления. Из-за этого 1С не могла правильно обработать ответ от терминала и возвращала общую ошибку с кодом -1.
В некоторых случаях ошибка могла сопровождаться сообщением "e file not found". Это связано с тем, что ПО терминала создает служебные файлы с результатами операции, а обновленный драйвер начинал искать их не в той директории, где они создавались. Все это приводило к сбою.
К счастью, существуют несколько способов решения этой проблемы, от самых простых до более сложных. В качестве альтернативы можно использовать прием оплаты через Сбербанк СБП и QR-код без терминала.
Фирма "1С" оперативно отреагировала на массовые жалобы и выпустила исправленную версию драйвера — 2.7.5.2. Это самый правильный и надежный способ устранения проблемы. Для автоматизации этого процесса на множестве рабочих мест есть программа централизованного управления кассовым оборудованием и драйверами.
Этот способ является официальным исправлением и предпочтителен для всех пользователей.
Если по какой-то причине обновить драйвер невозможно, можно попробовать "заставить" 1С заново прочитать и применить его настройки. Это действие инициализирует все параметры, включая новые, и во многих случаях моментально решает проблему.
Для пользователей облачной версии 1С:Fresh, где интерфейс может отличаться, помогает похожий метод:
Этот простой метод помог большинству пользователей и не требует скачивания или установки каких-либо файлов.
Еще один способ, который сработал у некоторых пользователей, связан с параметрами печати слип-чеков. Вероятно, изменение этих настроек также вызывает переинициализацию параметров драйвера.
Если ни один из вышеперечисленных способов не помог, или вы хотите гарантированно вернуться к работающей конфигурации, можно вручную откатить драйвер на предыдущую стабильную версию, например, 2.7.3.4.
Этот метод более трудоемкий, но гарантирует возврат к проверенной рабочей конфигурации.
Самый неприятный аспект этой ошибки — ситуация, когда деньги у покупателя списались, а чек не вышел. Что делать в этом случае? Для быстрого обнаружения таких проблем есть автоматический мониторинг ошибок 1С и выявление подвисших транзакций.
Главное — не паниковать и не делать поспешных возвратов из кассы!
Транзакция, не подтвержденная печатью чека, считается незавершенной. Банк "холдирует" (замораживает) эту сумму на счете клиента, но не переводит ее магазину. В большинстве случаев такие суммы автоматически возвращаются на карту покупателя в течение периода от нескольких часов до нескольких дней.
Ваш порядок действий:
После устранения ошибки драйвера одним из вышеописанных способов, работа с терминалом должна полностью восстановиться. Стоит помнить, что стабильная работа кассового узла зависит от многих факторов, и важно уделять внимание не только терминалам, но и другому оборудованию, например, вовремя выполнять коррекцию времени на кассах Атол, чтобы избежать расхождений в чеках.