Что делать, если возникает ошибка "код завершения операции -1" при оплате картой через терминал Сбербанка в 1С?

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

После очередного автоматического обновления компонент 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: Обновление до исправленной версии (Рекомендуемый способ)

Фирма "1С" оперативно отреагировала на массовые жалобы и выпустила исправленную версию драйвера — 2.7.5.2. Это самый правильный и надежный способ устранения проблемы. Для автоматизации этого процесса на множестве рабочих мест есть программа централизованного управления кассовым оборудованием и драйверами.

  1. Перейдите в раздел Администрирование – РМК и оборудование – Драйверы оборудования.
  2. Найдите в списке драйвер "1С:Эквайринговые терминалы Сбербанка 2.х".
  3. В его настройках нажмите кнопку "Обновить с сайта ИТС" или аналогичную кнопку обновления.
  4. Система должна найти и установить версию 2.7.5.2 или новее. После обновления ошибка должна исчезнуть.

Этот способ является официальным исправлением и предпочтителен для всех пользователей.

Решение 2: Переинициализация настроек драйвера (Быстрое решение)

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

  1. Откройте раздел Администрирование – Подключаемое оборудование.
  2. В списке выберите ваш эквайринговый терминал Сбербанка и откройте его карточку двойным щелчком.
  3. Ничего не меняя в настройках, просто нажмите кнопку "Записать и закрыть".
  4. Попробуйте снова провести операцию по карте.

Для пользователей облачной версии 1С:Fresh, где интерфейс может отличаться, помогает похожий метод:

  1. Также зайдите в настройки вашего терминала.
  2. Нажмите кнопку "Тест подключения".
  3. После завершения теста (даже если он выдаст ошибку) нажмите "Записать и закрыть".

Этот простой метод помог большинству пользователей и не требует скачивания или установки каких-либо файлов.

Решение 3: Изменение настроек печати

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

  1. Откройте настройки вашего эквайрингового терминала.
  2. Найдите параметры, связанные с печатью. Попробуйте один из вариантов:
    • Снимите галочку "Печать документов на терминале" и установите галочку "Печать слип-чеков". Сохраните изменения.
    • Найдите галочку "Печатать короткий слип-чек". Снимите ее, сохраните настройки. Затем снова откройте, поставьте галочку обратно и снова сохраните.
  3. После этих манипуляций проверьте работоспособность терминала.

Решение 4: Откат на стабильную версию драйвера (Крайний случай)

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

  1. Найдите и скачайте установочный файл стабильной версии драйвера. Часто его можно найти на партнерских форумах или в архивах на портале ИТС.
  2. Зайдите в настройки драйвера в 1С (Администрирование – РМК и оборудование – Драйверы оборудования).
  3. Нажмите кнопку "Обновить драйвер" и выберите пункт для загрузки из файла. Укажите скачанный архив со старой версией.
  4. Очень важно: после успешного отката обязательно снимите галочки "Автоматически обновлять" и "Обновлять с портала ИТС", иначе 1С при следующем запуске снова установит проблемную версию. Можно также установить галочку "Безопасное подключение".

Этот метод более трудоемкий, но гарантирует возврат к проверенной рабочей конфигурации.

Что делать с "подвисшими" платежами?

Самый неприятный аспект этой ошибки — ситуация, когда деньги у покупателя списались, а чек не вышел. Что делать в этом случае? Для быстрого обнаружения таких проблем есть автоматический мониторинг ошибок 1С и выявление подвисших транзакций.

Главное — не паниковать и не делать поспешных возвратов из кассы!

Транзакция, не подтвержденная печатью чека, считается незавершенной. Банк "холдирует" (замораживает) эту сумму на счете клиента, но не переводит ее магазину. В большинстве случаев такие суммы автоматически возвращаются на карту покупателя в течение периода от нескольких часов до нескольких дней.

Ваш порядок действий:

  1. Объясните ситуацию клиенту. Сообщите, что произошел технический сбой, и деньги, скорее всего, вернутся автоматически. Предложите провести оплату заново после того, как вы решите проблему с кассой.
  2. Сделайте сверку итогов на самом терминале. "Подвисшая" транзакция не должна попасть в итоговую сумму по сверке. Это будет подтверждением того, что деньги не поступили на ваш счет.
  3. Свяжитесь с техподдержкой банка-эквайера. Если у вас есть данные по операции (например, RRN из логов или с экрана терминала), сообщите их оператору и уточните статус транзакции. Они подтвердят, что операция не завершена и будет отменена.
  4. Не делайте возврат средств через ККТ. Если вы сделаете возврат, а банк позже автоматически вернет "замороженную" сумму, покупатель получит деньги дважды, а у вас образуется недостача. Возврат делается только для успешно завершенных операций, по которым был пробит чек.

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

← На главную