Как исправить ошибку установки драйвера АТОЛ ККТ в 1С:Комплексная автоматизация?

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

При работе с торговым оборудованием в среде 1С:Предприятие часто возникает неприятная ситуация: драйвер в операционной системе установлен, тест связи в утилите производителя проходит успешно, но 1С выдает ошибку: "Установка драйвера 'АТОЛ:ККТ с передачей данных в ОФД' не завершена. На текущем рабочем месте установлен интеграционный компонент к основной поставке драйвера...". Эта проблема особенно характерна для драйверов АТОЛ серии 9.х и 10.х. В этой статье мы подробно разберем, почему это происходит и как по шагам восстановить работоспособность кассы.

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

Прежде всего, проанализируем архитектуру современных драйверов ККТ. Драйвер АТОЛ состоит из двух частей:

  1. Интеграционный компонент — это небольшая библиотека (файл .dll), которая поставляется внутри конфигурации 1С. Её задача — выступать "переводчиком" между программным кодом 1С и самим оборудованием.
  2. Основная поставка драйвера — это программный пакет (ДТО), который устанавливается в операционную систему с помощью дистрибутива от производителя.

Ошибка "Установка не завершена" означает, что интеграционный компонент успешно загружен в 1С, но он не может найти в системных путях файлы основной поставки драйвера. Выясним, как это исправить.

Решение 1: Проверка разрядности платформы и драйвера

Проанализируем самую частую ошибку системных администраторов — несоблюдение разрядности. Зачастую на 64-битную операционную систему устанавливают 64-битный драйвер АТОЛ. Однако, если клиентское приложение 1С является 32-битным (что встречается в 90% случаев), оно просто не сможет "увидеть" 64-битные библиотеки драйвера.

Рассмотрим пошаговый алгоритм действий:

  1. Откроем диспетчер задач Windows и найдем процесс 1cv8c.exe или 1cv8.exe. Если рядом с названием процесса стоит пометка *32 — значит, ваша платформа 1С 32-битная.
  2. Удалим текущий драйвер АТОЛ через панель управления.
  3. Скачаем и установим 32-битную версию драйвера (даже если у вас Windows x64). Для драйверов 9.х это файл Drivers9-KKT-windows32-setup.exe.
  4. Перезапустим 1С и проверим подключение оборудования.

Решение 2: Ручное копирование библиотек в папку платформы

Если установка корректной разрядности не помогла, воспользуемся проверенным методом "подкладывания" библиотек напрямую в рабочую директорию 1С. Рассмотрим, как это сделать:

  1. Перейдем в папку, куда был установлен драйвер АТОЛ (обычно это C:\Program Files (x86)\ATOL\Drivers9\KKT\bin).
  2. Скопируем все файлы с расширением .dll из этой папки.
  3. Перейдем в папку с установленной платформой 1С. Путь будет выглядеть примерно так: C:\Program Files (x86)\1cv8\8.3.XX.XXXX\bin (где XX.XXXX — номер вашей версии).
  4. Вставим скопированные файлы в папку bin платформы.
  5. Важный момент: если вы запускаете 1С через сервер терминалов (RDP), эти действия необходимо выполнить на сервере под правами администратора.

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

Решение 3: Регистрация нового драйвера в справочнике 1С

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

  1. Зайдем в раздел "НСИ и администрирование" — "Администрирование" — "Подключаемое оборудование".
  2. Перейдем в справочник "Драйверы оборудования".
  3. Нажмем кнопку "Добавить новый драйвер из файла".
  4. В качестве файла выберем архив ATOL_KKT_9.zip, который находится в папке установленного драйвера (путь по умолчанию: C:\Program Files (x86)\ATOL\Drivers9\KKT\1Cv83).
  5. Укажем новое наименование (например, "АТОЛ 9.12 новый") и сохраним объект.
  6. В настройках вашей ККТ выберем только что созданный драйвер.

Решение 4: Очистка кеша внешних компонент

Если вы многократно переустанавливали драйверы разных версий, в кеше 1С могли остаться "хвосты", которые блокируют работу. Проанализируем, как правильно очистить систему:

  1. Закроем все запущенные сеансы 1С.
  2. Перейдем в директорию профиля пользователя: C:\Users\ИмяПользователя\AppData\Roaming\1C\1cv8\ExtCompT.
  3. Удалим все файлы, название которых начинается на fptr....
  4. Очистим временную папку C:\Users\ИмяПользователя\AppData\Local\Temp.
  5. Запустим 1С от имени администратора (правой кнопкой мыши по ярлыку — "Запуск от имени администратора") и попробуем зайти в настройки оборудования.

Проблема со скидками в драйверах 8-й серии

Рассмотрим ситуацию, когда пользователи вынужденно остаются на драйверах 8.х (например, из-за старой прошивки кассы или работы через RDP). В этом случае часто возникает ошибка: "При передаче скидки для печати запрещена регистрация скидки". Это связано с тем, что новые прошивки ККТ требуют передачи уже рассчитанной цены с учетом скидки, а не суммы скидки отдельно.

Проанализируем пример кода, который помогает решить эту проблему в модуле объекта ЧекККМ (или в соответствующей обработке обслуживания):


// Находим процедуру ПодготовитьДанныеДляФискализацииЧека
// Вносим исправление в расчет цены строки чека

// Было:
// СтрокаЧека.Цена = СтрокаТовара.Цена; 
// СтрокаЧека.ЦенаСоСкидками = СтрокаТовара.Сумма / СтрокаТовара.Количество;

// Стало:
СтрокаЧека.Цена = СтрокаТовара.Сумма / СтрокаТовара.Количество;
// Теперь в драйвер передается уже конечная цена, и ККТ не пытается рассчитывать скидку самостоятельно

Этот нехитрый прием позволяет продолжать работу на стабильной 8-й версии драйвера, избегая конфликтов с расчетом налогов и итоговых сумм в чеке.

Настройка передачи данных в ОФД (EthernetOverUSB)

При переходе на драйверы 9.х или 10.х важно не забыть про службу передачи чеков. Если ваша касса подключена по USB, разберем настройку службы EoU:

  1. В драйвере АТОЛ (утилита "Тест драйвера ККТ") проверим, какой COM-порт выделен под передачу данных (обычно их два: один для управления, второй для связи с ОФД).
  2. Перейдем в папку C:\Program Files (x86)\ATOL\Drivers9\KKT\bin и найдем файл settings.ini в подпапке EthOverUsb.
  3. Укажем номер порта для связи (например, port=COM4).
  4. Запустим службу EthOverUsb и добавим её в автозагрузку Windows.

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

← На главную