Как установить АТОЛ ДТО 9, подключить к старой 1С (КА 1.1 / УТ 10.3) и убрать скидки из чека

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

Переход на новые форматы фискальных данных и необходимость совершения онлайн-платежей часто вынуждают пользователей старых конфигураций 1С (таких как «Комплексная автоматизация 1.1» или «Управление торговлей 10.3») обновлять торговое оборудование и сопутствующее программное обеспечение. Одной из наиболее частых проблем при таком переходе является корректная установка и интеграция драйверов торгового оборудования АТОЛ 9-й версии (ДТО 9) со старыми версиями платформы «1С:Предприятие 8».

В данной статье мы подробно разберем, как правильно установить АТОЛ ДТО 9 в операционной системе Windows, как «подружить» его со старой базой 1С на обычных формах, а также рассмотрим два эффективных способа отключения печати нежелательных строк скидок на кассовом аппарате АТОЛ FPrint-22ПТК.

---

Шаг 1: Подготовка и правильная установка АТОЛ ДТО 9 в Windows

При работе со старыми конфигурациями 1С ключевым моментом является разрядность используемой платформы «1С:Предприятие». В подавляющем большинстве случаев для работы КА 1.1 или УТ 10.3 применяется 32-битный клиент 1С (даже если сама операционная система Windows является 64-битной). Следовательно, для успешной интеграции нам потребуется установить строго **32-битную версию драйвера ККТ АТОЛ**.

Выясним причину, почему это важно: 32-битное приложение 1С физически не сможет загрузить 64-битную динамическую библиотеку драйвера ККТ. Поэтому, загружая дистрибутив, обязательно выбирайте версию для архитектуры x86 (32-бит).

Рассмотрим по шагам процесс установки драйвера версии 9.12.1 (данная версия является наиболее стабильной и часто используемой для интеграции со старыми обработками обслуживания):

  1. Скачайте официальный архив с драйверами АТОЛ. Обычно он имеет название вида Драйверы_торгового_оборудования_9_12_1.zip.
  2. Распакуйте скачанный архив в любую удобную директорию на жестком диске.
  3. Перейдите в распакованную папку и найдите в ней каталог installer (в некоторых версиях дистрибутивов он может называться install).
  4. Внутри папки найдите исполняемый файл установки для 32-битных систем: Drivers9-KKT-9.12.1.6236-windows32-setup.exe.
  5. Важно: Запустите этот файл правой кнопкой мыши, выбрав пункт меню «Запуск от имени администратора». Это необходимо для корректной регистрации всех необходимых служб и записи путей в системный реестр Windows.
  6. Следуйте указаниям мастера установки, оставляя пути по умолчанию (обычно это C:\Program Files (x86)\ATOL\Drivers9\).

---

Шаг 2: Интеграция АТОЛ ДТО 9 со старой конфигурацией 1С (Обычные формы)

После того как драйвер успешно установлен в операционную систему, нам необходимо сделать так, чтобы платформа 1С «увидела» его и могла использовать для печати чеков. Очень часто при попытке подключить устройство в меню «Подключение и настройка торгового оборудования» возникает ошибка: «Установка драйвера "АТОЛ: ККТ с передачей данных в ОФД (54-ФЗ) 9.х" не завершена».

Проанализируем ситуацию: это происходит из-за того, что встроенная в конфигурацию 1С компонента старой версии пытается обратиться к библиотекам драйвера, но не находит соответствия версий. В ДТО 9 компоненты АТОЛ написаны по технологии **Native 1C**. Их не требуется регистрировать в реестре через утилиту regsvr32. Платформа 1С загружает их самостоятельно прямо из справочника драйверов базы данных.

Для того чтобы решить эту проблему, выполним следующие действия:

  1. Перейдите в каталог установки драйвера на вашем компьютере. По умолчанию для 32-битной версии на 64-битной Windows путь будет следующим: C:\Program Files (x86)\ATOL\Drivers9\KKT\1Cv83\ (или аналогичный каталог для версии 1Cv82 в зависимости от используемой платформы).
  2. Найдите в этой папке zip-архив с именем ATOL_KKT_9.zip. Это и есть актуальный контейнер с интеграционной компонентой.
  3. Запустите вашу информационную базу 1С в режиме «Предприятие».
  4. Перейдите в меню: Сервис -> Торговое оборудование -> Подключение и настройка торгового оборудования (в КА 1.1 или УТ 10.3 интерфейс может незначительно отличаться, но нам нужен справочник драйверов оборудования).
  5. Откройте список «Драйверы оборудования» и добавьте новую запись.
  6. В форме нового драйвера нажмите кнопку «Функции» (или «Действия») и выберите команду «Загрузить обработку/драйвер из файла» (либо «Загрузить файл драйвера»).
  7. Укажите путь к ранее найденному архиву ATOL_KKT_9.zip. Платформа распакует его и сохранит во внутреннее хранилище информационной базы.
  8. Перезапустите сеанс 1С. Теперь при создании нового устройства и выборе этого драйвера система автоматически и без ошибок подгрузит нужную библиотеку.

После этого вы можете настраивать фискальный регистратор стандартным способом: укажите порт подключения (USB или COM), скорость обмена данными и выполните тест устройства. Касса должна успешно ответить на запрос системы.

---

Шаг 3: Как убрать печать скидок в чеке на кассе АТОЛ FPrint-22ПТК

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

Способ А: Отключение скидок в аппаратных настройках ККТ через Тест драйвера

Этот способ самый простой, так как он не требует изменения программного кода 1С. Мы запретим кассовому аппарату анализировать и выводить скидки на уровне самого железа.

  1. Обязательно закройте программу 1С, чтобы освободить COM-порт, к которому подключена касса.
  2. Откройте утилиту «Тест драйвера ККТ». Она устанавливается вместе с ДТО 9 и обычно находится в меню «Пуск» или в папке C:\Program Files (x86)\ATOL\Drivers9\KKT\bin\fptr_t.exe.
  3. В правом верхнем углу окна утилиты установите флаг «Включено» для установки связи с ККТ.
  4. В меню справа выберите раздел «Свойства», затем нажмите кнопку «Параметры ККТ».
  5. В открывшемся дереве настроек найдите ветку (вкладку), отвечающую за настройки печати и скидок (в зависимости от прошивки ККТ она может называться Скидки/время, Правила округления и скидок или находиться внутри раздела Печать).
  6. Установите параметры работы со скидками и надбавками в значение «0» (или снимите соответствующие флаги автоматического начисления скидок ККТ).
  7. Нажмите кнопку «Сохранить и закрыть». Теперь касса будет игнорировать математические алгоритмы расчета скидок внутри своей памяти.

Способ Б: Программная корректировка логики передачи цен в обработке обслуживания 1С

Если аппаратное отключение не помогло (например, если кассовое ПО 1С принудительно шлет команду печати текстовой строки со скидкой), проблему необходимо решать внутри кода внешней обработки обслуживания ККТ (файла с расширением .epf).

Разберем по шагам, почему касса печатает скидку. По умолчанию старые алгоритмы 1С передают в метод ККТ три параметра: ЦенаБезСкидки, Количество и СуммаСкидки. Получив эти данные, процессор ККТ самостоятельно вычисляет процент скидки, уменьшает итоговую цену позиции и печатает подстрочник с размером скидки.

Чтобы избежать этого, программисту 1С необходимо изменить логику заполнения параметров при отправке строки чека в ККТ. Мы должны передавать в кассу **сразу конечную цену товара (уже с учетом скидки)**, а саму скидку передавать равной нулю.

Рассмотрим пример кода. В старых обработках обслуживания (например, для работы по ФЗ-54) за вывод строки чека обычно отвечает функция НапечататьСтрокуШаблона() или метод ДобавитьПозицию(). Исходный код мог выглядеть следующим образом:


// Исходный вариант передачи параметров в ККТ
ЦенаБезСкидки = СтрокаТовара.Цена; 
СуммаСкидки   = СтрокаТовара.СуммаСкидки;
Количество    = СтрокаТовара.Количество;

// Касса сама рассчитает скидку и напечатает ее в чеке
Результат = ОбъектДрайвера.ДобавитьПозицию(ИмяТовара, ЦенаБезСкидки, Количество, СуммаСкидки);

Для того чтобы убрать упоминание скидки из чека и исключить её печать, перепишем этот фрагмент кода следующим образом:


// Корректный вариант: рассчитываем чистую цену единицы товара с учетом скидки в 1С
// и передаем её в ККТ как базовую цену без скидок

Если СтрокаТовара.Количество <> 0 Тогда
    // Вычисляем фактическую цену за одну единицу с учетом всех скидок
    ЧистаяЦена = (СтрокаТовара.Сумма) / СтрокаТовара.Количество;
Иначе
    ЧистаяЦена = СтрокаТовара.Цена;
КонецЕсли;

// Округляем до двух знаков после запятой для избежания проблем с копейками
ЧистаяЦена = Окр(ЧистаяЦена, 2); 
Количество = СтрокаТовара.Количество;
СуммаСкидкиДляККТ = 0; // Передаем нулевую скидку

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

Проанализируем этот код: передавая в ККТ ЧистаяЦена (которая является результатом деления итоговой суммы в 1С на количество товара) и отправляя СуммаСкидкиДляККТ = 0, мы гарантируем, что кассовый аппарат напечатает чистую и понятную строку продажи. При этом общая сумма чека в 1С и на фискальном накопителе сойдется копейка в копейку, а неэстетичные строки со скидками навсегда исчезнут из чековой ленты.

Используя предложенные инструкции, вы сможете успешно перевести вашу конфигурацию «1С:Комплексная автоматизация 1.1» на работу с ДТО 9-й версии и гибко настроить внешний вид печатных форм фискальных документов под требования вашего бизнеса.

← На главную