Как исправить некорректное разбиение суммы чека на наличные и кредит в 1С при работе с кассами АТОЛ

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

В процессе работы с торговым оборудованием в программе 1С:Бухгалтерия 3.0 пользователи часто сталкиваются со сложными сценариями расчетов. Одним из таких сценариев является частичная оплата задолженности покупателем, когда одна часть суммы закрывается наличными или картой, а вторая — остается в качестве последующей оплаты (кредита). При этом в самой программе расчет выглядит абсолютно корректно, но при печати бумажного чека ККТ и отправке данных в ОФД происходит критический сбой: суммы распределяются хаотично, а разница уходит в строку «Сдача».

В этой статье мы подробно разберем, почему возникает эта ошибка на кассах АТОЛ, проанализируем внутренний механизм взаимодействия программы и кассового драйвера, а также предоставим пошаговую инструкцию по решению этой проблемы.

Суть проблемы: почему «теряются» деньги при пробитии чека

Рассмотрим типичную ситуацию. Покупатель имеет задолженность по договору в размере 60 000 рублей. Он приходит в кассу предприятия и вносит наличными только часть суммы — 55 000 рублей. Оставшиеся 5 000 рублей оформляются как последующая оплата (в кредит).

Бухгалтер оформляет в 1С:Бухгалтерии документ Поступление наличных. В табличной части документа разбивка платежа настроена верно: погашение задолженности происходит автоматически. Перед пробитием фискального чека форма предварительного просмотра 1С показывает правильные данные:

Однако напечатанный физический чек и данные, отправленные оператору фискальных данных (ОФД), выглядят совершенно иначе:

Выясним причину такого поведения системы. Проблема кроется на стыке взаимодействия интеграционной библиотеки 1С, драйвера торгового оборудования ККТ и версии формата фискальных данных (ФФД).

Почему происходит сбой в распределении сумм

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

  1. Устаревший формат ФФД 1.0. Формат фискальных данных версии 1.0 полностью прекратил свое существование и поддержку еще в 2019 году. Сложные виды расчетов (такие как авансы, предоплаты, зачеты и частичные оплаты в кредит) полноценно поддерживаются только начиная с версий ФФД 1.05, 1.1 и 1.2. Если на кассе используется устаревшая прошивка или старый драйвер, ККТ физически не способна распознать тег последующей оплаты совместно с наличным платежом.
  2. Использование драйвера АТОЛ версии 9.х. Семейство драйверов ДТО 9.х давно признано устаревшим. Фирма 1С прекратила поддержку интеграционных компонент для АТОЛ 9.х в начале 2020 года. При использовании старого драйвера 1С формирует и отправляет современный XML-пакет с описанием типов оплат, который драйвер 9.х не может корректно интерпретировать.
  3. Попытка кассы «сбалансировать» чек. Получив противоречивые данные (общая сумма позиций в чеке составляет 60 000 рублей, но распознана только оплата наличными на 35 000 рублей, а тип оплаты «кредит» драйвером отброшен), кассовый аппарат пытается математически закрыть документ. Нераспознанная разница трактуется логикой кассы как переплата со стороны покупателя, из-за чего на печать выводится «Сдача», а реальная выручка в фискальном накопителе занижается.

Пример XML-пакета, который 1С пытается передать в кассу для формирования комбинированного платежа:


<Receipt>
    <Positions>
        <FiscalString Name="Оплата за товар" Quantity="1" Price="60000.00" Amount="60000.00" Department="1" Tax="20" />
    </Positions>
    <Payments>
        <Payment Type="Cash" Sum="55000.00" />
        <Payment Type="PostPayment" Sum="5000.00" />
    </Payments>
</Receipt>

В случае работы через драйвер 9.х параметр Type="PostPayment" (тип оплаты "Кредит") просто игнорируется, что и приводит к ошибке округления и формированию ложной сдачи.

Пошаговое решение проблемы

Для полного устранения этой проблемы необходимо обновить интеграционную компоненту и перейти на использование актуального драйвера десятого поколения — DTO 10.x. Рассмотрим этот процесс по шагам.

Шаг 1. Закрытие кассовой смены

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

Убедитесь, что в программе 1С выполнен отчет о закрытии смены, а на кассовом аппарате распечатан Z-отчет.

Шаг 2. Удаление старого драйвера АТОЛ 9.х

Перед установкой новой версии необходимо полностью очистить систему от старых библиотек во избежание конфликтов драйверов:

  1. Зайдите в «Панель управления» вашего компьютера -> «Программы и компоненты».
  2. Найдите в списке программу Драйверы торгового оборудования АТОЛ 9.х (или ДТО 9) и выполните ее удаление.
  3. Перейдите в папку платформы 1С (обычно это C:\Program Files (x86)\1cv8\...) или в каталог временных файлов пользователя (%appdata%) и убедитесь, что старые интеграционные библиотеки, такие как FPrnM1C.dll или FPrnM1C82.dll, удалены.

Шаг 3. Установка актуального драйвера АТОЛ 10.х

  1. Скачайте актуальный дистрибутив ДТО 10 (например, версию 10.8.х - 10.10.х) с официального центра загрузок АТОЛ.
  2. Запустите установщик от имени администратора.
  3. В процессе установки выберите разрядность, соответствующую разрядности вашей платформы 1С (для 32-битного клиента 1С устанавливайте 32-битный драйвер ККТ, даже если сама ОС Windows является 64-битной).
  4. Завершите установку и перезагрузите компьютер.

Шаг 4. Настройка ККТ в программе 1С

Теперь необходимо переподключить кассовый аппарат в самой информационной базе 1С:Бухгалтерия:

  1. Перейдите в раздел Администрирование -> Подключаемое оборудование.
  2. Найдите вашу кассу в списке подключенного оборудования и откройте ее карточку.
  3. В поле Драйвер оборудования измените значение с «АТОЛ:ККТ с передачей данных в ОФД (54-ФЗ) 9.Х» на «АТОЛ:ККТ с передачей данных в ОФД (54-ФЗ) 10.Х».
  4. Нажмите кнопку Настроить. Программа предложит установить новую интеграционную библиотеку AtolSmKKT.dll. Согласитесь на установку.
  5. В открывшемся окне настроек укажите параметры подключения (порт, скорость обмена, IP-адрес, если касса подключена по сети) и нажмите кнопку Тест устройства.
  6. При успешном прохождении теста вы увидите сообщение с информацией о подключенной модели ККТ, ее заводском номере и версии прошивки. Нажмите Записать и закрыть.

Шаг 5. Проверка сопоставления типов оплат

Драйвер АТОЛ десятого поколения использует строгое сопоставление (маппинг) пяти базовых типов оплат, определенных требованиями ФНС. Убедитесь, что типы оплат в настройках кассы соответствуют стандартам:

Благодаря переходу на ДТО 10.х и современную библиотеку обмена, 1С начнет передавать эти типы оплат в виде структурированного JSON-запроса, который ККТ понимает без искажений.

Возможные проблемы после обновления и способы их решения

При переходе с 9-й на 10-ю версию драйвера могут возникнуть сопутствующие технические сложности, которые легко устраняются:

Ошибка «[96] Команда не разрешена введенными кодами защиты» или «Не поддерживается в данном режиме»

Выясним причину этой ошибки. Кассовые аппараты АТОЛ старого модельного ряда, работающие на Платформе 2.5 (со старыми кодами защиты), могут некорректно взаимодействовать с драйвером 10.х. Для стабильной работы современных версий 1С и ДТО 10.х рекомендуется обновить внутреннее программное обеспечение (прошивку) самой ККТ до современной Платформы 5.0 в авторизованном сервисном центре АТОЛ.

Касса не отвечает после смены драйвера

Если тест устройства в 1С выдает ошибку связи, запустите стандартную утилиту «Тест драйвера ККТ», поставляемую вместе с ДТО 10. Нажмите кнопку «Свойства», выберите канал связи (например, USB), запустите автоматический поиск устройства. Найденные параметры порта и скорости перенесите в настройки подключаемого оборудования в 1С.

Переход на драйвер АТОЛ 10.х гарантирует стабильную печать комбинированных чеков и исключает некорректную отправку фискальных данных по операциям частичной оплаты и кредитования в ОФД.

← На главную