При проведении сверки итогов по банковским терминалам или при попытке принять оплату по карте пользователи 1С нередко сталкиваются с аварийным завершением операции: «ошибка при выполнении функции итогидняпокартам код завершения операции - - 1, ответ терминала -». При этом служба технической поддержки банка часто заявляет, что с их стороны соединение в норме и пинпад исправен. Разберем детально, почему возникает данная ситуация, что означает пустой ответ с кодом -1 и какими способами можно восстановить штатную работу эквайринга.
Проанализируем природу этой ошибки. При использовании драйвера «1С:Эквайринговые терминалы Сбербанк 2.Х» программа 1С взаимодействует с терминалом не напрямую, а через вызов внешних библиотек и служебной утилиты (обычно sb_pilot.exe). Код завершения -1 при пустом тексте ответа свидетельствует о том, что исполняемый процесс завершился аварийно, не успел сформировать выходные файлы ответа или был прерван по внутреннему таймауту ожидания. Ситуация усугубляется «залипанием» параметров сессии в кэше драйвера подключаемого оборудования 1С.
Самое быстрое и действенное решение, которое помогает сбросить подвисшую внутреннюю сессию драйвера без переустановки программного обеспечения, заключается в принудительном тестировании и сохранении формы настроек оборудования.
После этой процедуры внутренняя структура настроек переинициализируется в базе данных, связь с компонентой обновляется, и сверка итогов начинает выполняться штатно.
Если простой тест не помог, либо параллельно возникают сбои непробития чеков при безналичной оплате, наилучшим выходом будет полное пересоздание записи терминала. Это исключает повреждение внутренних ссылок и кэшированных настроек торгового оборудования.
C:\sc552 или C:\WinCLI), номер COM-порта и скорость обмена.Сбербанк 2.Х.Утилита sb_pilot.exe при проведении сверки итогов формирует промежуточные файлы с отчетами и результатами операций в своем рабочем каталоге. Если учетная запись пользователя Windows, от имени которого запущена 1С, не имеет достаточных прав на запись в эту папку, программа не сможет прочитать ответ терминала, что приведет к коду -1.
C:\sc552).В некоторых релизах компоненты «Сбербанк 2.Х» присутствовали внутренние ошибки обработки таймаутов при получении чеков закрытия смены. В такой ситуации необходимо обновить драйвер непосредственно в 1С:
Если в процессе рабочего дня необходимо срочно выполнить сверку итогов и закрыть банковскую смену, но ошибка в 1С не дает это сделать, воспользуемся обходными путями:
F или комбинации клавиш, установленной сервисной службой) и выберем пункт «Сверка итогов» / «Закрытие смены». Терминал свяжется с банком напрямую и распечатает итоговый отчет.
cd C:\sc552
sb_pilot.exe 7
7 передает терминалу команду на выполнение сверки итогов дня. Если терминал успешно распечатал чек, это окончательно подтверждает, что физический канал связи и банковский хост работают исправно, а корень проблемы находился в привязке оборудования или правах доступа на стороне 1С.