При работе с интегрированным эквайрингом в 1С:Розница пользователи часто сталкиваются с ситуацией, когда оплата проходит корректно, а при попытке оформить возврат система выдает ошибку System error: 077: Answer code is not received. Данная ошибка свидетельствует о нарушении коммуникации между 1С и банковским терминалом на уровне интерпретации команд драйвером оборудования, чаще всего — Arcus2.
Разберем, почему возникает этот конфликт. Программное обеспечение Arcus2 использует файл конфигурации ops.ini, в котором прописано соответствие между цифровым кодом команды, отправляемой из 1С, и типом операции, выполняемой на терминале. Основная путаница возникает из-за того, что существуют две схожие, но технически разные операции:
Если в 1С жестко прописан вызов команды, которая в ops.ini определена как «Универсальная отмена», а терминал при этом ожидает команду «Возврат» (или наоборот), возникает ошибка System error: 077. Терминал «не понимает», что от него требуется, так как запрос не соответствует текущему состоянию транзакции.
Для исправления данной ошибки необходимо выполнить проверку и настройку файла ops.ini. Действуйте согласно следующему алгоритму:
Arcus2 (обычно это c:\Arcus2\INI\).ops.ini и откройте его с помощью текстового редактора (например, «Блокнот» от имени администратора).
3=1,11,ВОЗВРАТ ТОВАРА
4=1,5,УНИВЕРСАЛЬНАЯ ОТМЕНА
4=1,11,ВОЗВРАТ ТОВАРА
3=1,5,УНИВЕРСАЛЬНАЯ ОТМЕНА
ops.ini.Рассмотрим дополнительные аспекты, которые помогут избежать проблем в будущем:
Arcus2, расположенные в подпапке LOG. В них будет зафиксировано, какую именно команду (в цифровом выражении) отправляет 1С и какой ответ возвращает терминал. Это позволит точно определить, какая цифра должна стоять напротив нужной операции.ops.ini, некоторые банковские эквайеры запрещают «частичный возврат» через терминал. В таких случаях можно осуществить только полный возврат суммы по чеку. Если ваш банк устанавливает такое ограничение, решить задачу на уровне настроек 1С или драйвера невозможно — потребуется обращение в банк для уточнения условий договора эквайринга.Таким образом, проанализировав ситуацию, мы выяснили, что ошибка кроется в несоответствии команд в конфигурационном файле драйвера. Переопределение индексов операций в ops.ini позволяет восстановить корректный обмен данными между 1С и банковским оборудованием.