Довольно часто после очередного обновления конфигурации 1С:Бухгалтерия предприятия 3.0 или драйверов контрольно-кассовой техники (ККТ) пользователи сталкиваются с неприятной ситуацией. При попытке пробить чек из документа Операция по платежной карте программа выдает критическую ошибку: «Эквайринговая операция не была произведена. Выбранное устройство не может использоваться для подключения. Укажите другое устройство». При этом сам терминал оплаты может быть автономным (не подключенным к компьютеру кабелем) и работать исправно, но 1С блокирует печать фискального чека.
В данной статье мы подробно разберем, почему возникает эта ошибка, как изменилась логика работы библиотеки подключаемого оборудования (БПО) и какими способами можно восстановить работоспособность системы.
Проанализируем ситуацию: начиная с версий 3.0.67 и выше, в 1С была существенно переработана логика взаимодействия с оборудованием. Теперь программа при проведении оплаты по карте жестко проверяет настройки в справочнике Виды оплаты. Рассмотрим, как это работает: если в настройках вида оплаты (например, «Безналичная») заполнено поле Терминал, программа автоматически считает, что терминал является интегрированным. Это означает, что 1С обязана сама отправить команду на терминал, дождаться ответа от банка и только после подтверждения транзакции разрешить печать чека на ККТ.
Если же терминал у вас автономный (вы вводите сумму на нем вручную), то 1С не может получить от него сигнал. Видя заполненное поле терминала, программа пытается найти драйвер, не находит активного устройства и выдает ошибку, блокируя печать. Выясним, как это исправить.
Это самый быстрый и эффективный способ решения проблемы для тех, у кого терминал работает независимо от учетной системы. Разберем этот процесс по шагам:
Виды оплаты.Терминал. Если там выбрано какое-либо устройство, нажмем на кнопку очистки (крестик) или выберем пустое значение.После этого 1С перестанет считать терминал интегрированным и позволит пробивать чек, просто фиксируя факт того, что оплата по карте была совершена (автономно).
Иногда ошибка «Устройство не может использоваться для подключения» связана с тем, что в системе сбились настройки Рабочего места. Это часто происходит при обновлении платформы 1С или смене сетевого имени компьютера. Рассмотрим, как проверить эти настройки:
Перейдем в раздел Администрирование — Подключаемое оборудование. Проверим, какой компьютер указан в поле Рабочее место. Если в списке числятся старые или дублирующиеся рабочие места, это может создавать конфликт драйверов. Проанализируем список подключенного оборудования для текущего рабочего места: если там присутствует эквайринговый терминал, который фактически не используется через 1С, его необходимо либо удалить, либо снять в его настройках галочку Устройство используется.
Посмотрим на ситуацию со стороны драйверов кассы (например, Штрих-М или РР-04). При обновлении драйверов до версии 4.14 и выше, механизмы защиты становятся более строгими. Драйвер ККТ получает расширенные статусы готовности от программы. Если 1С отправляет команду на печать чека с признаком безналичного расчета, но при этом в цепочке «программа — драйвер эквайринга» происходит сбой, ККТ может получить запрет на операцию.
Если очистка справочника видов оплаты не помогла, попробуем выполнить следующие действия:
Проанализируем еще один технический нюанс. Если к компьютеру когда-либо подключался терминал Сбербанка, в системных папках (обычно в корне диска C:\sc552 или в папках System32/SysWOW64) могли остаться библиотеки SBRF.dll или SBRFCOM.dll. Даже если в 1С терминал настроен как автономный, компоненты 1С:Библиотеки подключаемого оборудования могут пытаться инициализировать эти файлы при регистрации оплаты по карте.
Если проблема сохраняется, рекомендуем:
COM-объектов в системе. Иногда помогает запуск 1С от имени администратора (один раз), чтобы программа корректно перераспределила права доступа к компонентам печати.Разберем, как правильно оформить документ Операция по платежной карте после внесения настроек, чтобы избежать ошибок в будущем:
// Пример правильной логики выбора вида оплаты:
ВидОплаты = Справочники.ВидыОплатыПосТерминала.НайтиПоНаименованию("Безналичная");
Если ЗначениеЗаполнено(ВидОплаты.Терминал) Тогда
// Программа инициирует сеанс связи с банком
Иначе
// Программа просто печатает чек на ККТ с типом оплаты "Безналичными"
КонецЕсли;
Таким образом, основным ключом к решению является строгое разделение в настройках 1С: если терминал в руках у кассира и не соединен проводом с компьютером — в 1С поле Терминал обязательно должно быть пустым. Это касается не только Бухгалтерии предприятия, но и аналогичных механизмов в 1С:Розница или 1С:Управление торговлей.
Подведем итог: столкнувшись с ошибкой эквайринговой операции, в первую очередь проверьте справочник видов оплаты. В 90% случаев именно очистка привязки к оборудованию позволяет мгновенно восстановить работу точки продаж без привлечения специалистов банка или программистов.