Как исправить ошибку «ИтогиДняПоКартам код завершения операции -1, ответ терминала -» в 1С?

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

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

Проанализируем природу этой ошибки. При использовании драйвера «1С:Эквайринговые терминалы Сбербанк 2.Х» программа 1С взаимодействует с терминалом не напрямую, а через вызов внешних библиотек и служебной утилиты (обычно sb_pilot.exe). Код завершения -1 при пустом тексте ответа свидетельствует о том, что исполняемый процесс завершился аварийно, не успел сформировать выходные файлы ответа или был прерван по внутреннему таймауту ожидания. Ситуация усугубляется «залипанием» параметров сессии в кэше драйвера подключаемого оборудования 1С.

Способ 1. Повторное тестирование и перезапись параметров терминала в 1С

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

  1. Перейдем в раздел «Администрирование», откроем пункт «Подключаемое оборудование».
  2. В выпадающем списке типов оборудования выберем «Эквайринговые терминалы».
  3. Найдем в списке проблемный терминал и дважды кликнем по нему, чтобы открыть карточку настроек.
  4. Нажмем кнопку «Параметры подключения» (или перейдем к форме настройки драйвера).
  5. Нажмем кнопку «Тест устройства». Дождемся вывода сообщения об успешном прохождении проверки связи с пинпадом.
  6. Нажмем кнопку «Записать и закрыть».

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

Способ 2. Пересоздание экземпляра оборудования в 1С

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

  1. Откроем справочник «Подключаемое оборудование» и перейдем в группу «Эквайринговые терминалы».
  2. Откроем текущий терминал и выпишем все параметры подключения: используемый драйвер, путь к каталогу утилиты банка (например, C:\sc552 или C:\WinCLI), номер COM-порта и скорость обмена.
  3. Пометим старый терминал на удаление или переименуем его, чтобы избежать путаницы.
  4. Нажмем кнопку «Создать» и добавим новый эквайринговый терминал, указав тот же самый драйвер Сбербанк 2.Х.
  5. Заполним параметры подключения значениями, которые сохранили ранее, и обязательно выполним команду «Тест устройства».
  6. Сохраним созданный элемент по кнопке «Записать и закрыть».
  7. Проверим привязку эквайрингового терминала в используемых способах оплаты: перейдем в справочник видов оплат/касс и убедимся, что безналичная оплата направляется на вновь созданный экземпляр оборудования.

Способ 3. Проверка прав доступа к рабочему каталогу банка

Утилита sb_pilot.exe при проведении сверки итогов формирует промежуточные файлы с отчетами и результатами операций в своем рабочем каталоге. Если учетная запись пользователя Windows, от имени которого запущена 1С, не имеет достаточных прав на запись в эту папку, программа не сможет прочитать ответ терминала, что приведет к коду -1.

  1. Выясним путь к рабочей папке банка в настройках оборудования 1С (например, C:\sc552).
  2. Откроем проводник Windows, кликнем правой кнопкой мыши по этой папке и перейдем в «Свойства».
  3. Перейдем на вкладку «Безопасность» и нажмем «Изменить».
  4. Выберем группу «Пользователи» (или укажем конкретную учетную запись оператора) и установим флажок «Полный доступ».
  5. Применим изменения и убедимся, что файлы в каталоге не заблокированы антивирусом или защитником Windows. Рекомендуется добавить каталог банка в список исключений сканирования.

Способ 4. Обновление интеграционного драйвера эквайринга

В некоторых релизах компоненты «Сбербанк 2.Х» присутствовали внутренние ошибки обработки таймаутов при получении чеков закрытия смены. В такой ситуации необходимо обновить драйвер непосредственно в 1С:

  1. Перейдем в «Администрирование» → «Подключаемое оборудование» → «Драйверы оборудования».
  2. Найдем компонент «1С:Эквайринговые терминалы Сбербанк 2.Х».
  3. Нажмем «Обновить драйвер» и выберем актуальную версию из каталога шаблонов конфигурации или из внешнего файла поставки.
  4. Перезапустим сеанс 1С для применения обновленных библиотек.

Способ 5. Альтернативное закрытие смены и диагностика через терминал

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

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