Почему при оплате через банковский терминал ВТБ печатается пустой слип-чек в 1С:Розница 2.2 и как это исправить?

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

При настройке эквайрингового терминала ВТБ (работающего через ПО Arcus2) в конфигурации 1С:Розница 2.2 пользователи часто сталкиваются со специфической проблемой: при совершении безналичной оплаты фискальный регистратор (например, Штрих-М) выводит два слип-чека, однако на них напечатана только шапка организации, а текстовые данные о проведении транзакции (номер карты, код авторизации, сумма) отсутствуют. Сразу после этого выходит стандартный чек продажи.

Рассмотрим подробно причины возникновения такой неполадки при работе кассового места через терминальную сессию (RDP) и разберем по шагам порядок настройки оборудования.

Выясним причину неполной печати слип-чека

Проанализируем механизм взаимодействия 1С с банковским терминалом под управлением ПО Arcus2. Слип-чек печатается не напрямую самим эквайринговым терминалом, а передается через 1С на фискальный регистратор. Схема работы выглядит следующим образом:

  1. 1С отправляет библиотеке ArcCom.dll команду на проведение оплаты.
  2. Эквайринговый терминал связывается с банком и выполняет операцию.
  3. ПО Arcus2 сохраняет текстовый файл с образом чека (обычно с именем cheq.out) в своем рабочем каталоге.
  4. 1С вычитывает этот файл из каталога обмена и отправляет его содержимое на печать в фискальный регистратор.

Если в настройках подключаемого оборудования в 1С указан неверный путь к папке обмена драйвера (например, указан локальный каталог ПК вместо каталога на RDP-сервере или выбрана не та подпапка), платформа не может найти файл ответа cheq.out. В результате 1С генерирует стандартные команды начала и окончания печати слип-чека, отсылая на фискальный регистратор лишь шапку клиники/магазина без текста самой транзакции.

Разберем решение проблемы по шагам

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

  1. Перейдем в 1С:Розница в раздел Администрирование — Подключаемое оборудование.
  2. Найдем настроенный экземпляр эквайрингового терминала Arcus2 и откроем параметры его настройки.
  3. В поле Каталог драйвера (рабочая директория ПО Arcus2) необходимо указать полный путь к папке Arcus2, расположенной непосредственно на RDP-сервере (например, C:\Arcus2), а не локальную папку клиентского компьютера.
  4. Сохраним настройки и выполним тестовую операцию безналичной оплаты.

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

Дополнительные технические проверки при сохранении ошибки

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

  1. Права доступа к каталогу обмена. Убедимся, что учетной записи пользователя RDP-сессии (кассира) предоставлены полные права (чтение, запись, изменение) на папку Arcus2 и ее подкаталоги. В противном случае ПО не сможет перезаписывать файлы ответа.
  2. Регистрация COM-компоненты. Выполним регистрацию библиотеки ArcCom.dll в операционной системе сервера от имени администратора. Запустим командную строку Windows и выполним команду: regsvr32 "C:\Arcus2\dll\ArcCom.dll"
  3. Разрядность клиента 1С:Предприятие. Библиотека ArcCom.dll является 32-разрядной. Для правильного вызова COM-объектов на сервере терминалов необходимо запускать 32-битную версию платформы 1С:Предприятие (x86).
  4. Параметры файла конфигурации Arcus2. В файле настроек драйвера (arcus.ini / cheq.ini) проконтролируем параметр печати. Значение PRINTER должно быть установлено в режим работы с кассой (CASHREG), а параметры кодировки PRINTER-ENCODING должны быть согласованы с драйвером фискального регистратора (обычно CP866).
← На главную