Как исправить ошибку «Невозможно определить систему налогообложения» при использовании драйверов АТОЛ 10.6.0.0 на двух ККТ

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

При переходе с драйверов АТОЛ версии 9 на версию 10 (DTO 10) многие специалисты сталкиваются с неприятной ситуацией: если на одном рабочем месте подключены две контрольно-кассовые техники (ККТ), то по одной из них (часто второй по счету) продажа не проходит с ошибкой «СНО не определена». Рассмотрим подробно, почему это происходит и как устранить данную коллизию, основываясь на техническом анализе работы драйверов и Библиотеки подключаемого оборудования (БПО) 1С.

Разберем причину возникновения ошибки

Проанализируем ситуацию: в версии драйвера 10.6.0.0 была выявлена критическая недоработка механизма кэширования параметров оборудования. При инициализации двух устройств на одном рабочем месте драйвер часто путает контексты или не может корректно опросить второе устройство, если первый экземпляр уже занял канал обмена. В результате 1С не получает список поддерживаемых систем налогообложения (СНО) от кассы.

Посмотрим на настройки в интерфейсе 1С. В справочнике «Подключаемое оборудование» для каждого экземпляра ККТ есть табличная часть «Параметры ККТ». Выясним причину ошибки: если при нажатии кнопки «Настроить» или «Параметры ККТ» эта таблица остается пустой, 1С не может сопоставить внутренние идентификаторы (например, ЕНВД, УСН или ОСН) с числовыми кодами, которые ожидает драйвер (0, 1, 2 и т.д.). В ДТО 9 этот механизм был менее жестким, а в ДТО 10 требования к заполнению структуры TaxVariant стали обязательными.

Решение №1: Обновление драйвера (Самый эффективный способ)

Рассмотрим основной вариант решения проблемы. Версия 10.6.0.0 признана нестабильной для работы с несколькими устройствами. Практика показывает, что обновление до версии 10.6.1 или выше полностью устраняет ошибку определения СНО.

  1. Удалим старую версию драйвера 10.6.0.0 через панель управления Windows.
  2. Скачаем и установим версию драйвера 10.6.1, 10.8.x или самую актуальную на текущий момент.
  3. После установки обязательно перезагрузим службу 1С или клиентское приложение.
  4. Зайдем в настройки подключаемого оборудования в 1С и для «проблемной» кассы нажмем кнопку «Прочитать параметры». Если таблица параметров заполнилась данными о кассе (серийный номер, версия прошивки, список СНО), значит, проблема решена.

Решение №2: Принудительное заполнение параметров ККТ в 1С

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

Разберем алгоритм действий:

  1. Воспользуемся внешней обработкой для редактирования объектов (например, «Редактирование параметров подключения» или любая консоль запросов/обработок объектов).
  2. Нам необходимо найти в справочнике ПодключаемоеОборудование нужный экземпляр ККТ.
  3. В табличную часть, отвечающую за параметры (обычно это скрытая ТЧ или хранилище значений, в зависимости от версии БПО), нужно внести список доступных СНО, которые прописаны в самой кассе.
  4. Убедимся, что в настройках склада в 1С выбрана именно та система налогообложения, которая числится в кассе под соответствующим индексом.

Посмотрим на пример логики, которую выполняет БПО при передаче СНО в драйвер. Если таблица параметров пуста, код может выглядеть так:


// Упрощенный пример логики передачи СНО
ПараметрыЧека = Новый Структура;
Если НастройкаОборудования.ПараметрыККТ.Количество() = 0 Тогда
    // Здесь возникает ошибка, так как 1С не знает, какой код СНО отправить
    ПараметрыЧека.Вставить("СистемаНалогообложения", ""); 
Иначе
    ПараметрыЧека.Вставить("СистемаНалогообложения", ПолучитьКодСНОПоНастройкам(НастройкаОборудования));
КонецЕсли;

Решение №3: Проверка COM-портов и службы EthOverUsb

Проанализируем техническую сторону подключения. Если кассы подключены через COM-порты (или эмуляцию через USB), драйвер 10-й версии может конфликтовать со встроенными мониторами портов. Выполним следующие действия:

  1. Запустим утилиту «Тест драйвера ККТ» от имени администратора.
  2. Для каждой кассы проверим, чтобы был выбран уникальный канал связи и корректный логический номер устройства.
  3. Если используется подключение по USB, убедимся, что служба AtolSioCom или EthOverUsb не блокирует второй порт при обращении 1С к первому устройству.
  4. Проверим лог-файл драйвера по адресу C:\Users\ИмяПользователя\AppData\Roaming\Atol\drivers10\logs\fptr10.log. Ищем строки openReceipt. Если в параметре LIBFPTR_PARAM_TAX_VARIANT передается значение -1 или 63, это подтверждает, что 1С не передала корректную СНО.

Важные замечания по прошивке

Хотя пользователи часто отмечают наличие прошивки версии 7942 (Платформа 2.5) на обеих ККТ, стоит учитывать, что драйверы линейки 10.x оптимизированы для работы с Платформой 5.0. Если обновление драйвера до 10.6.1 и ручное заполнение параметров не помогают, рассмотрим возможность миграции ККТ на Платформу 5.0. В ней полностью переработан протокол обмена данными о налогах, что исключает большинство ошибок сопоставления СНО.

Подведем итог:

Наиболее вероятная причина ошибки — баг версии 10.6.0.0 в обработке многопоточных запросов к разным ККТ и пустая таблица параметров оборудования в 1С. Установите версию драйвера 10.6.2 или выше и принудительно обновите параметры в карточке оборудования под правами администратора.

← На главную