Как исправить ошибку «Тест не пройден. [11] Не поддерживается в данной версии» при подключении ККТ АТОЛ в 1С:Управление торговлей

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

При подключении торгового оборудования, в частности фискальных регистраторов АТОЛ (например, популярной модели АТОЛ 11Ф), к устаревшим или сильно измененным конфигурациям «1С:Предприятие» (таким как «Управление торговлей 10.3» на обычных формах), системные администраторы и разработчики часто сталкиваются с аппаратными сбоями — для их устранения есть обработка интеграции ККТ АТОЛ для 1С на обычных формах. Одним из самых распространенных и ставящих в тупик является сбой с сообщением: «Тест не пройден. [11] Не поддерживается в данной версии».

В этой статье мы подробно разберем, почему возникает данная ошибка, о версии какого именно компонента идет речь, и пошагово проанализируем методы ее устранения.

Выясняем причину возникновения ошибки [11]

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

  1. Конфигурация «1С» обращается к обработке обслуживания (внешней или встроенной).
  2. Обработка обслуживания вызывает интеграционную компоненту (обычно это dll-файл, поставляемый фирмой «1С» или производителем ККТ).
  3. Интеграционная компонента передает команды в локальный драйвер ККТ (например, ДТО 10.х от компании АТОЛ), установленный в операционной системе.
  4. Драйвер транслирует команды непосредственно в микропрограмму (прошивку) самого кассового аппарата.

Ошибка с кодом [11] Не поддерживается в данной версии генерируется непосредственно ядром драйвера АТОЛ. Она означает, что программный метод, который пытается выполнить интеграционная компонента «1С», отсутствует, заблокирован или не поддерживается текущей версией прошивки ККТ либо самой версией ДТО.

Выделим три основные практические ситуации, когда это происходит:

Решение 1: Обновление драйвера ККТ до стабильной версии

Проанализируем самый простой и быстрый способ решения проблемы, который помог автору темы на форуме. Если вы используете конфигурацию «Управление торговлей 10.3» (поможет комплексная поддержка ККТ для устаревшей УТ 10.3) и драйвер версии 10.6.0.0, выполните следующие действия по шагам:

  1. Полностью закройте сеансы «1С» на рабочем месте кассира.
  2. Зайдите в панель управления Windows и удалите установленный драйвер ККТ АТОЛ версии 10.6.0.0.
  3. Загрузите дистрибутив драйвера стабильной версии — отлично себя зарекомендовала версия 10.6.3.0 (например, установочный файл KKT10-10.6.3.0-windows32-setup.exe или 10.6.2.0). Важно: разрядность драйвера должна соответствовать разрядности платформы «1С» (для 32-битной платформы ставьте 32-битный драйвер, даже если ОС Windows 64-битная).
  4. Установите новый драйвер. При установке убедитесь, что отмечена галочка интеграционной компоненты для «1С».
  5. Запустите «Тест драйвера ККТ» и проверьте связь с кассой. Убедитесь, что ККТ успешно определяется.
  6. Запустите «1С» под правами администратора, перейдите в меню настроек торгового оборудования и выполните тест устройства повторно. Ошибка должна исчезнуть.

Решение 2: Согласование версий прошивки ККТ и ДТО

Если обновление на версию 10.6.3.0 не принесло желаемого результата, необходимо проверить версию внутреннего ПО кассы. Рассмотрим этот сценарий подробнее:

Снимите на кассовом аппарате чек «Информация о ККТ» (обычно это делается удержанием кнопки промотки бумаги при включении аппарата до первого или второго звукового сигнала в зависимости от модели). Найдите в чеке строку с версией ПО (прошивки).

Если ваша касса работает на старой прошивке Платформы 2.5 (версии 12-8502, 3.0.1245 и т.д.):

Если вы перевели кассу на актуальную Платформу 5.0 (прошивки 5.7.х, 5.8.х и выше) для поддержки маркировки или ФФД 1.2:

Решение 3: Модификация макета интеграционной компоненты в «1С»

Иногда внешняя обработка обслуживания «1С» (например, ATOLKKT.epf) хранит внутри себя устаревшую интеграционную библиотеку в виде макета. Даже если вы установили новый драйвер в систему, «1С» при старте подгружает старую библиотеку из своего макета и пытается работать через нее. Разберем, как обновить компоненту внутри обработки:

  1. Откройте внешнюю обработку обслуживания в режиме «1С:Предприятие-Конфигуратор».
  2. Найдите в структуре обработки ветку Макеты. Там будет находиться двоичный макет (обычно с именем ИнтеграционнаяКомпонента или латинским аналогом).
  3. Кликните по макету правой кнопкой мыши и выберите пункт «Заменить на внешний файл...».
  4. Укажите путь к новой библиотеке fptr10_1c_*.dll, которая находится в каталоге установленного вами драйвера АТОЛ (обычно это путь: C:\Program Files (x86)\ATOL\Drivers10\KKT\libs\1c\).
  5. Сохраните изменения в обработке обслуживания и перезапустите «1С» в режиме предприятия.

Решение 4: Альтернативный переход на ATOL Web-Server

Для продвинутых пользователей и программистов существует кардинальный способ раз и навсегда избавиться от проблем совместимости конфигураций «1С» (особенно на платформе «1С:Предприятие 7.7» или старых обычных формах 8.3) с БСП, макетами и DLL-компонентами — для этого подойдёт решение для подключения ККТ через ATOL Web-Server. Это использование встроенного веб-сервера АТОЛ (Fptr Web Server).

Этот метод заключается в том, что на компьютере, к которому подключена ККТ, запускается служба веб-сервера АТОЛ (доступна начиная с ДТО версии 10.7.0.0). Обмен данными с ККТ происходит по протоколу HTTP посредством передачи простых текстовых JSON-пакетов.

Рассмотрим пример того, как можно программно отправить задание на печать чека или открытие смены из «1С» без использования стандартных обработок обслуживания торгового оборудования:


// Пример отправки команды открытия смены через HTTP-запрос к Web-серверу АТОЛ
Процедура ОткрытьСменуЧерезВебСервер()
    
    // Параметры подключения к локальному веб-серверу АТОЛ
    СерверАдрес = "127.0.0.1";
    ПортПодключения = 16732; // Стандартный порт службы fptr-web-server
    
    // Создаем HTTP-соединение
    Соединение = Новый HTTPСоединение(СерверАдрес, ПортПодключения);
    
    // Формируем тело запроса в формате JSON
    // Каждому заданию должен быть присвоен уникальный идентификатор (UUID)
    ИдентификаторЗадачи = Строка(Новый УникальныйИдентификатор());
    
    ТекстJSON = "{
    |  ""uuid"": """ + ИдентификаторЗадачи + """,
    |  ""request"": [
    |    {
    |      ""type"": ""openShift"",
    |      ""operator"": {
    |         ""name"": ""Администратор кассы"",
    |         ""vatin"": ""123456789012""
    |      }
    |    }
    |  ]
    |}";
    
    // Готовим POST-запрос к веб-серверу
    Запрос = Новый HTTPЗапрос("/api/v1/tasks");
    Запрос.Заголовки.Вставить("Content-Type", "application/json");
    Запрос.УстановитьТелоИзСтроки(ТекстJSON, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
    
    Попытка
        // Отправляем запрос на выполнение кассовой операции
        Ответ = Соединение.ОтправитьДляОбработки(Запрос);
        
        // Код состояния 201 означает, что задача успешно принята в очередь ККТ
        Если Ответ.КодСостояния = 201 Тогда
            Сообщить("Задание на открытие смены успешно передано на ККТ.");
            
            // Получаем тело ответа для анализа
            ОтветСтрока = Ответ.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
            // Далее можно разобрать JSON-ответ для получения статуса задачи
        Иначе
            ВызватьИсключение "Сервер ККТ вернул ошибку с кодом: " + Ответ.КодСостояния;
        КонецЕсли;
        
    Исключение
        Сообщить("Не удалось выполнить кассовую операцию. Причина: " + ОписаниеОшибки(), СтатусСообщения.Важное);
    КонецПопытки;

КонецПроцедуры

Использование технологии Web-Server решает множество системных проблем:

Таким образом, планомерный анализ цепочки «Прошивка ККТ -> Драйвер -> Компонента -> 1С» позволяет быстро локализовать и устранить неприятную ошибку совместимости.

← На главную