После обновления конфигурации 1С:Розница до версии 2.3.18.17 и выше многие пользователи столкнулись с неприятной ситуацией: при попытке совершить безналичный расчет на кассе возникает значительная пауза (от 5 до 10 секунд). В это время на экране терминала INPAS сменяются сообщения об установке соединения, а 1С «замирает», прежде чем предложить клиенту приложить карту. Давайте подробно разберем, почему это происходит и как вернуть привычную скорость работы кассового узла.
Проанализируем ситуацию с технической точки зрения. В последних релизах 1С была обновлена БПО (Библиотека подключаемого оборудования), и примеры работы для разработчика на свежей БПО показывают, насколько сильно изменились внутренние механизмы. В обновленной логике взаимодействия с эквайринговым терминалом система теперь перед каждой операцией вызывает метод TerminalParameters, а не отправляет простую команду проверки связи («пинг»), как раньше.
Этот метод инициирует полноценный обмен данными: 1С запрашивает у терминала не просто статус готовности, а полный перечень доступного функционала и текущих параметров. В логах это выглядит следующим образом:
2024.04.10 10:19:56.470 DEBUG > TerminalParameters: Params: [; ]
2024.04.10 10:20:04.217 DEBUG < TerminalParameters: Result=True; Params: [;
Как мы видим из примера, между запросом и ответом проходит почти 8 секунд. Терминал в это время честно выполняет диагностику и формирует XML-пакет. Банки и разработчики драйверов (INPAS) подтверждают, что такая логика заложена самой компанией 1С для повышения отказоустойчивости, однако на практике это приводит к очередям на кассах. Для реального же повышения надежности в случае сбоев лучше иметь под рукой механизм аварийного пробития чека при ошибке эквайринга.
Наиболее эффективным и проверенным способом решения проблемы является возврат к стабильной версии драйвера DualConnector. Такой подход не нов, похожая ситуация решалась и при использовании старой версии драйвера Сбербанка в последних версиях «Розницы». Рассмотрим по шагам, как это сделать:
Важный момент: если вы используете драйвер версии 1.1.17.28, который поставляется с новыми релизами, именно он в сочетании с новой БПО дает описанную задержку. Откат на версию ниже эффективно блокирует «лишние» запросы параметров перед оплатой. А для общего удобства работы с несколькими кассами ККМ и их централизованного контроля можно использовать специализированные обработки — для этой задачи есть инструмент централизованного администрирования ККТ и рабочих мест.
Иногда задержка может быть связана не только с логикой БПО, но и с тем, как библиотека DualConnector.dll зарегистрирована в операционной системе.
Если вы используете 64-битную версию платформы 1С, вам необходимо убедиться, что установлен соответствующий драйвер (обычно файл называется DualConnectorInstall_x64). Если в системе установлена 32-битная компонента, а 1С работает как x64, возникают скрытые ошибки инициализации COM-объекта DualConnector.SAPacket, что также создает паузы.
Проанализируем правильность регистрации. Рекомендуется выполнить ручную регистрацию через командную строку от имени администратора:
regasm "C:\Program Files (x86)\INPAS\DualConnector\DualConnector.dll" /tlb /codebase
Убедитесь, что путь к папке INPAS соответствует фактическому расположению файлов на вашем диске.
Посмотрим на настройки самой утилиты связи с банком. Существует две версии конфигуратора: DC Control 1.0 и 2.0. Практика показывает, что версия 2.0 в некоторых случаях конфликтует с протоколами определенных банков (например, Русский Стандарт или Т-Банк), вызывая задержки при формировании ответа на запрос TerminalParameters.
Попробуем использовать DC Control 1.0 (она обычно входит в пакет поставки DualConnector). Проверьте следующие параметры:
Если вы обладаете навыками программирования в среде 1С, можно внести изменения непосредственно в программный код для обхода этой «особенности». Рассморим, где именно искать:
В общем модуле МенеджерОборудованияКлиент можно найти функции, отвечающие за инициализацию транзакции. Если ваш бизнес-процесс не требует проверки доступных операций перед каждым чеком, вызов метода запроса параметров можно закомментировать или ограничить условием. Однако помните, что это крайняя мера, которая затруднит дальнейшие обновления конфигурации.
Резюмируем: в большинстве случаев проблема решается именно откатом версии драйвера INPAS в настройках подключаемого оборудования 1С. Это самый безопасный и быстрый способ вернуть кассирам комфортную скорость работы без вмешательства в программный код системы.