Ситуация, когда после планового обновления конфигурации 1С:Розница (особенно актуально для релизов 2.3.18, 2.3.19, 2.3.20 и выше) перестает работать эквайринг, является довольно распространенной. Особенно часто это встречается при использовании современных Android-терминалов, таких как Kozen P12. Сценарий обычно одинаковый: оплата на стороне банка проходит успешно, деньги со счета клиента списываются, но 1С выдает ошибку, не печатает чек и не завершает документ чека ККМ (в таких ситуациях выручает аварийное пробитие чека при ошибке эквайринга).
В данной статье мы подробно разберем, почему это происходит, проанализируем технические параметры драйверов и подготовим пошаговый план восстановления работоспособности системы. Рассмотрим ситуацию совместно, учитывая специфику оборудования и программного обеспечения.
Проанализируем ситуацию: почему даже на "чистой" базе и новом компьютере проблема сохраняется? Основная причина кроется в смене архитектуры взаимодействия 1С с банковским ПО. Выделим три критических фактора:
SBRFCOM.dll (версия драйвера 1.х). Новые релизы 1С:Розница переориентированы на работу через библиотеку sb_pilot.exe (версия драйвера 2.х). Использование старого драйвера в новом коде 1С часто приводит к тому, что программа не может корректно интерпретировать ответ от терминала.Atol USB или стандартные порты, в то время как для Kozen требуется драйвер Mediatek VCOM.Выясним причину на уровне "железа". Посмотрим на настройки в диспетчере устройств Windows. Для терминала Kozen P12 крайне важно, чтобы он определялся правильно. Если вы видите устройство как "Неизвестное" или используете драйвер от ККТ (например, Atol), связь будет нестабильной.
Выполним следующие действия:
MediaTek USB VCOM Publication (COMx).Проанализируем настройки самого терминала. Поскольку оплата проходит по банку, но не возвращается в 1С, проблема может быть в режиме работы USB-порта терминала. Рассмотрим по шагам:
sb_pilot на передачу результата транзакции.Теперь перейдем к самой 1С. Поскольку мы имеем дело с новыми релизами (2.3.18 и выше), нам необходимо отказаться от использования старой библиотеки SBRFCOM. Разберем процесс настройки нового подключения:
Посмотрим на параметры формы настройки. Здесь нам нужно указать путь к банковскому ПО. Рассмотрим подробнее:
C:\sc552 или C:\sberbank). В этой папке должен находиться файл sb_pilot.exe.ComPort=X, где X — номер порта из диспетчера устройств (который мы определили на Шаге 1).Если после всех настроек оплата проходит, но 1С все равно "висит", проанализируем код возврата. В некоторых случаях полезно запустить 1С в режиме отладчика и посмотреть на переменную Результат в процедуре обработки ответа от эквайринга.
Рассмотрим типичные ситуации:
Ситуация "Оплата прошла, но чек не вышел": Часто это связано с тем, что 1С ждет ответа от терминала дольше, чем настроен таймаут. Увеличьте таймаут в настройках драйвера в 1С до 120-180 секунд.
Ситуация "Ошибка Поле items отсутствует": Это специфический баг новых прошивок Сбера и старых компонент 1С. Решается исключительно обновлением драйвера "1С:Эквайринговые терминалы Сбербанк 2.Х" до актуальной версии через портал ИТС или обновление конфигурации до последнего патча.
Проблема с кабелем: Поскольку Kozen P12 потребляет значительный ток при работе экрана и связи, используйте только качественные USB-кабели. Как мы выяснили ранее, лучше использовать схему с доп. питанием (разветвитель на 220V и USB в компьютер).
Для исправления работы эквайринга после обновления 1С выполним чек-лист:
pinpad.ini и настройках 1С.Следование этой методике позволяет решить проблему в 95% случаев, когда стандартные визиты инженеров банка не приносят результата из-за специфики интеграции именно с программным кодом новых версий 1С.