Работа с банковскими терминалами в связке с 1С часто сопровождается сложностями, особенно при использовании удаленного доступа. Рассмотрим ситуацию, когда при проведении оплаты через терминал Ingenico с использованием драйвера Arcus2 в УТ 11, 1С не получает данные слип-чека, хотя транзакция в терминале проходит успешно.
Первым делом выясним, где именно формируется слип-чек. Важно понимать, что 1С не участвует в отрисовке чека — она лишь выступает «слушателем» данных, которые передает терминал. Терминал через драйвер Arcus2 возвращает текстовую или структурированную информацию о результатах операции. Если 1С выдает ошибку о том, что «нет поля items», это прямо указывает на то, что до конфигурации не дошел пакет данных с расшифровкой чека, хотя физический файл cheq.out в папке драйвера может быть создан.
На основе анализа данной проблемы, выделим ключевые факторы, препятствующие корректной работе:
Virtual Serial Ports Emulator), сбои в работе службы эмуляции приводят к тому, что драйвер Arcus2 теряет доступ к устройству.Разберем, как восстановить работоспособность системы и обеспечить корректную передачу слип-чеков.
Если вы работаете через удаленный рабочий стол, убедитесь, что проброс портов функционирует корректно. Часто помогает перезапуск службы или программы-эмулятора (например, VSPE). Рассмотрим действия по диагностике:
cheq.out в директории драйвера Arcus2 после проведения неудачной операции. Если файл создается, значит, терминал «общается» с компьютером, а проблема лежит на этапе «передачи» из файла в 1С.Драйвер Arcus2 всегда ведет журналы работы. Проанализируем содержимое файла chek.out. Если вы видите статус 000 УСПЕШНО, значит, транзакция на стороне банка завершена. Если 1С все равно выдает ошибку, это означает, что логика обработки ответа драйвера в 1С ожидает специфическую структуру (поля items), которую драйвер не смог корректно распарсить или передать из-за повреждения потока данных в момент сессии.
Чтобы избежать подобных ситуаций в будущем, рассмотрим следующие рекомендации:
VSPE, настройте автоматический перезапуск программы или службы при обнаружении простоя или ошибок соединения.Arcus2, чтобы накопленные старые файлы cheq.out не вводили систему в заблуждение при считывании ответа.Если вы столкнулись с подобным поведением, не спешите переустанавливать драйвер или менять настройки 1С. Проблема носит инфраструктурный характер. В 90% случаев решение сводится к перезапуску сеанса пользователя или эмулятора портов. В случае, если проблема повторяется регулярно, рассмотрите возможность перевода терминала на работу через IP-интерфейс (если это поддерживает ваш банк), что позволит отказаться от нестабильных виртуальных COM-портов в пользу прямого сетевого подключения.