Как обеспечить поддержку драйверов ККТ АТОЛ 10.10 и настроить эквайринг Сбербанка при обновлении УТ 11

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

Обновление конфигурации 1С:Управление торговлей 11 на актуальный релиз часто сопровождается конфликтами с уже установленным торговым оборудованием. Типичная ситуация: учетная система требует новые версии драйверов, а аппаратная часть (кассы на старой платформе 2.5) или банковские терминалы не готовы к работе с обновленными компонентами. В данной статье мы разберем, как сохранить стабильную работу касс АТОЛ на драйверах серии 10.10 и решить проблему «вылетающего» эквайринга Сбербанка.

Проблема совместимости АТОЛ 10.10 и новых релизов УТ 11

Рассмотрим ситуацию, когда необходимо обновить УТ 11 до максимально свежего релиза, сохранив при этом драйвер АТОЛ 10.10.0.0. Проблема заключается в том, что свежие версии «Библиотеки подключаемого оборудования» (БПО), встроенные в УТ 11, ориентированы на драйверы версии 10.9 и выше, но с обязательной поддержкой новых методов API. Если кассы работают на старой платформе 2.5 и их прошивка не может быть обновлена в данный момент, прямое обновление драйвера может привести к неработоспособности функций маркировки или печати чеков.

Проанализируем механизм работы справочника ДрайверыОборудования. В новых релизах старые обработки обслуживания могут быть скрыты или помечены как «Снятые с поддержки». Выясним, как обойти это ограничение. Мы можем добавить нужный нам драйвер вручную, не полагаясь на встроенные макеты конфигурации. Для диагностики проблем взаимодействия с оборудованием на этом этапе полезно провести тестирование принтера чеков через различные версии БПО, чтобы убедиться в корректности команд.

Разберем по шагам процесс добавления «своего» драйвера:

  1. Подготовим архив с драйвером (например, ATOL_KKT_10.zip), содержащий необходимые dll и файл манифеста info.xml.
  2. В справочнике «Драйверы оборудования» выберем команду «Добавить новый драйвер из файла».
  3. Загрузим наш подготовленный архив. Это позволит 1С использовать конкретную версию компоненты, минуя встроенные механизмы проверки версий БПО.

Важно помнить: такая «прокладка» между нативным драйвером и 1С может столкнуться с тем, что конфигурация формирует XML CheckPackage в формате, который старая версия драйвера не понимает. В этом случае придется корректировать код формирования XML в модулях интеграции. Если же физическое устройство временно недоступно или вызывает критические ошибки, на этапе отладки выручит эмулятор ККМ для УТ 11.5, позволяющий перенаправить печать на Windows-принтер и имитировать фискальную память.

Ошибка подключения компоненты SberAcquiringTerminal

После обновления платформы и конфигурации пользователи часто сталкиваются с ошибкой: «Не удалось подключить внешнюю компоненту SberAcquiringTerminal на клиенте из хранилища внешних компонент по причине: Компонента отсутствует в списке разрешенных». Проанализируем причины этого поведения. Начиная с версии платформы 8.3.21+, усилены требования безопасности к внешним модулям.

Для решения этой проблемы без радикального изменения настроек безопасности, выполним «глубокую» очистку локального кэша драйверов. После успешного подключения компоненты, для удобства кассиров часто внедряют расширенное управление эквайринговым терминалом, которое добавляет функции сверки итогов и печати контрольной ленты прямо из интерфейса 1С. Рассмотрим алгоритм очистки подробнее:

  1. Закроем все сеансы 1С на рабочем месте.
  2. Перейдем в каталог локальных данных пользователя: %APPDATA%\1C\1Cv8\ExtCompT.
  3. Удалим все старые dll-файлы, относящиеся к эквайрингу (например, SberBankExchange.dll).
  4. Отредактируем файл registry.xml, находящийся в этой же папке. Нам нужно найти узлы <component>, соответствующие проблемным драйверам, и удалить их.
  5. Запустим 1С в режиме «Предприятие» и повторно выполним установку драйвера через форму настройки торгового оборудования.

Конфликт разрядности: 32-битные против 64-битных систем

Выясним причину, по которой драйвер Сбербанка может не устанавливаться даже после очистки кэша. В современных реалиях многие переходят на 64-битную версию платформы 1С. Однако старые драйверы «1С:Эквайринговые терминалы Сбербанк» зачастую являются 32-битными (x86). Если ваша платформа 1С имеет разрядность x64, она физически не сможет загрузить 32-битную dll.

Посмотрим на два пути решения этой ситуации:

Путь 1: Использование 32-битной платформы. Если бизнес-процессы позволяют, можно переключить запуск 1С на 32-битную версию платформы. В этом случае старые компоненты Сбербанка «подцепятся» мгновенно.

Путь 2: Переход на универсальный драйвер. В новых релизах УТ 11 вместо старой компоненты следует выбирать драйвер «Сбербанк: Эквайринговые терминалы (Универсальный)». Он поддерживает работу с современными 64-битными библиотеками gate.dll и sb_kernel.dll из дистрибутива «Pilot» от Сбербанка. Кроме того, корректная настройка универсального драйвера открывает доступ к расширенным операциям, таким как частичная отмена по эквайрингу, что критично для правильного оформления возвратов в УТ 11.5.

Настройка профилей безопасности и conf.cfg

Если ошибка «Компонента отсутствует в списке разрешенных» сохраняется, нам необходимо проверить настройки безопасности самой платформы. Рассмотрим редактирование файла conf.cfg. Мы можем добавить параметр, отключающий блокировку небезопасных расширений, если уверены в источнике компоненты.


// В файле conf.cfg в папке bin платформы (например, C:\Program Files\1cv8\conf)
// Добавляем строку для разрешения загрузки любых компонент
DisableUnsafeExtensionCustomComponents=DEFAULT

Проанализируем ситуацию с использованием программного кода. Иногда требуется принудительно изменить статус драйвера в базе данных, если он помечен как снятый с поддержки. Для этого воспользуемся обработкой «Групповое изменение реквизитов» или напишем небольшой фрагмент кода:


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	ДрайверыОборудования.Ссылка КАК Ссылка
    |ИЗ
    |	Справочник.ДрайверыОборудования КАК ДрайверыОборудования
    |ГДЕ
    |	ДрайверыОборудования.Наименование ПОДОБНО ""%Сбербанк%""";

Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
    ОбъектДрайвера = Результат.Ссылка.ПолучитьОбъект();
    // Снимаем флаг снятия с поддержки, если он мешает отображению
    ОбъектДрайвера.СнятСПоддержки = Ложь;
    ОбъектДрайвера.Записать();
КонецЦикла;

Итоговые рекомендации по стабильной работе

Для обеспечения бесперебойной работы торговой точки при обновлении УТ 11 мы рекомендуем придерживаться следующей стратегии:

  1. Для ККТ АТОЛ: Если нет возможности обновить прошивку до Платформы 5.0, используйте метод ручной загрузки драйвера 10.10 в справочник через ZIP-архив. Для печати нефискальных документов можно настроить печать пречеков на ККМ с использованием современной БПО. А если вы используете обычное устройство печати (не ККТ) и сталкиваетесь с блокировками системы, примените решение для печати чеков на принтере чеков, отключающее ошибку фискализации. Однако помните, что для работы с маркированным товаром (ФФД 1.2) обновление прошивки кассы и переход на новые драйверы являются обязательными требованиями законодательства.
  2. Для эквайринга Сбербанка: Проверьте разрядность вашей платформы. Если вы используете x64, требуйте от специалистов банка дистрибутив «Pilot» с 64-битными библиотеками. В настройках 1С выбирайте «Универсальный драйвер».
  3. Для очистки ошибок: Всегда начинайте диагностику с удаления содержимого папки ExtCompT и редактирования registry.xml. Это решает до 90% проблем, связанных с «фантомными» ошибками подключения внешних компонент.

Применяя эти методы, мы сможем успешно обновить конфигурацию до актуального состояния, сохранив при этом работоспособность парка торгового оборудования.

← На главную