Проблема, когда 1С не видит эквайринговый терминал, несмотря на то что драйвера банка проходят все тесты, является одной из наиболее частых при интеграции торгового оборудования. В данном случае мы рассмотрим подключение терминала Сбербанка P10F к 1С:Розница (базовая версия 2.3.21.31 на платформе 8.3.25.1501х32). Мы разберем эту ситуацию по шагам, проанализируем основные причины возникновения сложностей и предложим комплексное решение, которое поможет успешно настроить работу эквайринга.
1. Анализируем версии драйверов и архитектуру системы
Одна из первопричин большинства проблем с подключением эквайринговых терминалов — это несовместимость или неправильное использование версий драйверов Сбербанка и их взаимодействие с платформой 1С. Мы выявим ключевые моменты, которые нужно учесть.
Мы знаем, что существуют две основные архитектуры драйверов Сбербанка для 1С:
Версия 1.x (устаревшая): Эта версия, как правило, взаимодействует с терминалами через механизм LoadParm. Исторически она предназначалась для 32-разрядных операционных систем и платформ 1С. В актуальных версиях 1С:Розница 2.3 данный драйвер считается устаревшим и более не поддерживается. Использование его может привести к ошибкам или полной неработоспособности.
Версия 2.x (актуальная): Эта версия, официально называемая "1С:Эквайринговые терминалы Сбербанк 2.X" (или просто 2.0), является рекомендуемой. Она осуществляет взаимодействие с терминалами через специальную утилиту для Windows — sb_pilot. Данная утилита входит в состав официального дистрибутива WinCLI Сбербанка. Современные релизы драйвера 2.x обладают широкой совместимостью и поддерживают архитектуры x32 и x64 для операционных систем Windows, Linux и Android.
В нашем случае автор подтвердил использование sb_pilot, что указывает на попытку работать с актуальной архитектурой драйвера. Однако, платформа 1С у автора 32-разрядная (ТП 8.3.25.1501х32), и существует важная зависимость от другого оборудования (например, Штрих-М), которое, по словам автора, несовместимо с 64-разрядной платформой 1С. Это накладывает ограничения на обновление платформы.
Что мы предпринимаем в данной ситуации:
Убедимся в актуальности драйвера "1С:Эквайринговые терминалы Сбербанк 2.X". Мы настоятельно рекомендуем использовать самую свежую версию, например, 2.7.5.2 или новее. Эта версия оптимизирована для работы в разных разрядностях и имеет улучшенную совместимость.
Проверим работоспособность утилиты sb_pilot. Важно убедиться, что sb_pilot, которая является частью WinCLI Сбербанка, корректно установлена и что её собственные диагностические тесты проходят успешно. Если терминал успешно проходит свои внутренние тесты, это является хорошим подтверждением его базовой работоспособности и корректности установленного ПО от Сбербанка.
Одним из самых частых камней преткновения, когда 1С "не видит" терминал, является некорректная или отсутствующая регистрация COM-компоненты SBRFCOM.dll. Даже если драйвера Сбербанка работают безупречно, без этой библиотеки 1С не сможет с ними взаимодействовать.
Разберем процесс регистрации пошагово:
Найдем файл SBRFCOM.dll. Эта библиотека обычно располагается в папке "1С" внутри дистрибутива программного обеспечения терминала. Иногда она может находиться во вложенной папке, например, "7_par", если дистрибутив старый и предназначен для драйверов с 7 параметрами.
Скопируем SBRFCOM.dll в нужный каталог. Рекомендуется скопировать этот файл в каталог, где установлено основное программное обеспечение терминала (например, C:\sc552), или в одну из системных папок Windows (например, C:\Windows\SysWOW64 для 32-битных DLL на 64-битной системе, или C:\Windows\System32 для 32-битных DLL на 32-битной системе, а также для 64-битных DLL на 64-битной системе). Для упрощения и предотвращения конфликтов, мы часто копируем файл непосредственно в папку, где находится исполняемый файл sb_pilot.
Запустим командную строку от имени администратора. Это критически важно, поскольку для регистрации системных компонентов требуются повышенные привилегии.
Выполним команду регистрации:
regsvr32 "%Путь до компоненты%\SBRFCOM.DLL"
Мы должны заменить %Путь до компоненты% на фактический путь, куда мы скопировали файл SBRFCOM.dll. Например, если файл был скопирован в C:\sc552, команда будет выглядеть так:
regsvr32 "C:\sc552\SBRFCOM.DLL"
Подтвердим успешность регистрации. После выполнения команды система должна вывести сообщение об успешной регистрации библиотеки. Если возникает ошибка, мы должны перепроверить путь к файлу и убедиться, что командная строка была запущена с правами администратора.
3. Настраиваем подключение эквайрингового терминала в 1С:Розница
Даже при условии, что все драйверы установлены и зарегистрированы корректно, 1С:Розница требует дополнительной настройки оборудования непосредственно внутри конфигурации. Мы рассмотрим этот процесс последовательно.
Действуем по шагам:
Создаем контрагента банка. В 1С:Розница нам необходимо создать контрагента, который будет представлять банк, с которым заключен договор эквайринга. Важно установить специальный флажок для этого договора, указывающий, что он используется для проведения эквайринговых операций.
Подключаем терминал в разделе "Настройки". Переходим в раздел "Настройки", затем выбираем "Поддержка оборудования". Здесь мы инициируем процесс подключения нашего эквайрингового терминала.
Указываем путь к драйверам эквайринга. В процессе настройки параметров подключения терминала нам будет предложено указать путь к папке, в которой установлены драйверы эквайринга. Мы должны указать каталог, где находится исполняемый файл sb_pilot (например, C:\sc552).
Выполняем "Тест подключения". После того как путь к драйверам указан, критически важно выполнить "Тест подключения". Успешное прохождение этого теста является ключевым индикатором того, что 1С способна установить связь с драйвером и терминалом.
Настраиваем способ оплаты. Далее нам нужно перейти в справочник "Способы оплаты" (обычно доступен через меню "Продажи" — "Кассы ККМ" — "Способы оплат"). Здесь мы создаем новый или редактируем существующий способ оплаты "Эквайринг". Мы должны указать его название и, самое главное, привязать к нему только что подключенный и успешно протестированный эквайринговый терминал.
Перезагружаем Рабочее Место Кассира (РМК). После выполнения всех этих настроек в оборудовании и способах оплаты настоятельно рекомендуется перезагрузить Рабочее Место Кассира. Это позволит новым настройкам вступить в силу и избежать возможных конфликтов или неверного применения параметров.
4. Устраняем распространённые ошибки и необычные ситуации
Даже при соблюдении всех вышеуказанных шагов, иногда возникают специфические ситуации или ошибки. Мы проанализируем наиболее частые из них и предложим решения.
"1С не видит терминал, но тесты Сбербанка проходят":
Как мы уже обсудили, это наиболее частый сценарий. Он указывает либо на некорректную конфигурацию внутри самой 1С, либо на проблему с драйвером, который 1С воспринимает как устаревший или неверно зарегистрированный. В первую очередь, мы настоятельно рекомендуем перепроверить регистрацию SBRFCOM.dll и настройки в разделе "Поддержка оборудования", следуя шагам, описанным выше.
Мы должны убедиться, что используется именно драйвер "1С:Эквайринговые терминалы Сбербанк 2.X", а не старая версия 1.x.
Ошибка "Не удалось загрузить драйвер устройства. Проверьте, что драйвер корректно установлен и зарегистрирован в системе":
Эта ошибка в последних версиях 1С:Розница 2.3, особенно при попытке использовать старый драйвер "1С:Эквайринговые терминалы Сбербанк" (версии 1.х), практически всегда решается путем перехода на новый драйвер "1С:Эквайринговые терминалы Сбербанк 2.X" и выполнения корректной регистрации его COM-компоненты.
"Тест подключения не проходит, но эквайринг все равно работает":
Подобная аномалия может возникнуть, если 1С по каким-то причинам пытается обратиться к старому, уже отключенному оборудованию, или если в "Видах оплат" (через "Продажи" — "Кассы ККМ" — "Способы оплат") прописано устаревшее или некорректно настроенное торговое оборудование. Мы должны обязательно убедиться, что там прописано именно новое, корректно подключенное торговое оборудование.
Проблемы после обновления драйвера Сбербанка:
Иногда после обновления компоненты Сбербанка драйвера 2.x до новой версии (например, с версии 7.0 до 7.5) могут возникать сбои. В этом случае мы рекомендуем выполнить следующие действия: выберите подключаемое оборудование в 1С, зайдите в параметры подключения эквайрингового терминала, выполните "Тест оборудования", затем "Записать и закрыть", и только после этого перезагрузите РМК. Эти действия часто помогают обновить внутренние связи 1С с драйвером.
Использование устаревших обработок или версии базы 1С:
Критически важно использовать актуальные версии обработок обслуживания и обновленную базу 1С:Розница. Старые версии могут просто не поддерживать современные протоколы обмена с новыми моделями терминалов и их драйверами. Регулярные обновления помогают избежать многих проблем совместимости.
"Пробить пробовали?" (терминал работает без видимости в 1С):
Как было упомянуто на форуме, в некоторых редких случаях эквайринг может функционировать, даже если терминал не отображается в списке подключенного оборудования в 1С. В таких ситуациях мы должны убедиться, что настройки в "Способах оплаты" привязаны к корректному оборудованию. Проблема может быть сугубо в отображении статуса, а не в функциональности. Однако, это скорее исключение, которое требует дополнительной проверки.
5. Дополнительные аспекты и возможные проблемы, которые следует учесть
Помимо основных шагов, существуют и другие нюансы, которые могут повлиять на успешное подключение и стабильную работу эквайрингового терминала.
Разрядность платформы 1С и драйвера:
Если у вас 32-разрядная платформа 1С (как в нашем случае) и вы пытаетесь использовать 64-разрядные драйверы для терминала, это является одной из наиболее очевидных причин несовместимости. Хотя современные драйверы версии 2.x поддерживают обе разрядности, иногда старые системные зависимости (например, другое торговое оборудование, такое как Штрих-М, которое, по словам автора, несовместимо с 1С x64) могут вынуждать оставаться на 32-разрядной платформе. В этом случае мы должны быть абсолютно уверены, что используемый драйвер Сбербанка является 32-разрядным или его 32-разрядная компонента корректно функционирует в вашей системе.
Автономная работа и "короткие" слип-чеки:
Мы можем использовать эквайринг как с физически подключенным к 1С оборудованием, так и в автономном режиме — для приема оплат без терминала есть интеграция СБП и Плати QR Сбербанка без терминала. Однако, если терминал не подключен напрямую к 1С, и в настройках РМК установлен вид слип-чека "Короткий", это может привести к ошибке при попытке пакетной фискализации чека. "Короткий" слип-чек может быть сформирован только на подключаемых терминалах и его поддержка реализована в драйвере "1С:Эквайринговые терминалы Сбербанк 2.x". Поэтому для использования этой функции терминал должен быть корректно интегрирован с 1С.
Работа через RDP или RemoteAPP:
При использовании удалённого рабочего стола (RDP) или технологий RemoteAPP для работы с 1С, может потребоваться специфическая настройка универсального драйвера на сервере — для этого подойдёт утилита для подключения торгового оборудования по RDP и сети. Это необходимо для того, чтобы 1С могла корректно взаимодействовать с локально подключенным к клиентской машине оборудованием. В таких случаях часто приходится использовать перенаправление портов или специальные сервисы.
Логи и диагностика:
Если после выполнения всех вышеперечисленных шагов проблема по-прежнему сохраняется, мы всегда рекомендуем внимательно изучить логи работы драйвера эквайрингового терминала и логи 1С. Эти журналы могут содержать ценную информацию о причинах сбоев, ошибках взаимодействия или некорректных параметрах.
Физическая неисправность терминала:
В крайне редких случаях, когда все программные настройки тщательно проверены, драйверы установлены корректно, тесты Сбербанка проходят успешно, а 1С всё равно не видит терминал, возможно, сам терминал имеет аппаратный дефект. Это является последним шагом в комплексной диагностике и подразумевает обращение в сервисную службу банка или замену терминала.
Заключение:
Подключение эквайрингового терминала Сбербанка P10F к 1С:Розница — это многоэтапный процесс, требующий внимательного подхода к версиям драйверов, их правильной установке и регистрации COM-компоненты, а также точной настройке в самой 1С. Мы подробно рассмотрели основные шаги и типичные проблемы, которые могут возникнуть в этом процессе. Применяя данные рекомендации, мы надеемся, что вы сможете успешно настроить работу вашего эквайрингового оборудования и обеспечить бесперебойную работу вашего торгового предприятия.