Как настроить ККТ АТОЛ для работы с НДС 5% и 7% в 1С и какие проблемы могут возникнуть?

Программист 1С:Розница Налоговый учет Торговля и дистрибуция
← На главную

С введением новых ставок НДС 5% и 7% и выходом соответствующих драйверов ККТ АТОЛ (версии 10.10.6.0) и прошивок многие пользователи столкнулись с рядом трудностей при настройке оборудования и его интеграции с программами 1С. В этой статье мы подробно разберем, какие шаги необходимо предпринять для корректного перехода, какие проблемы могут возникнуть и как их можно решить, основываясь на опыте пользователей.

Переход на новые ставки — это комплексная задача, которая требует внимания к трем ключевым компонентам системы. Недостаточно просто обновить что-то одно. Проанализируем весь процесс по шагам.

Общий план действий для перехода на новые ставки НДС

Для успешного перехода и корректной работы с новыми ставками НДС необходимо выполнить одновременное обновление трех составляющих вашей торгово-учетной системы. Это критически важно, так как все компоненты тесно связаны между собой.

  1. Обновление прошивки ККТ. Убедитесь, что на вашем кассовом аппарате АТОЛ установлена последняя версия прошивки, которая поддерживает новые ставки (например, версия 5.15 или новее). Без этого касса физически не сможет сформировать фискальный документ с нужными ставками.
  2. Установка драйвера ККТ. Необходимо установить последнюю версию драйвера, а именно АТОЛ 10.10.6.0. Старые версии драйверов не содержат функционала для работы с новыми ставками.
  3. Обновление конфигурации 1С. Ваша программа 1С должна быть обновлена до релиза, в котором реализована поддержка новых ставок и работа с новой версией драйвера ККТ. Это включает в себя не только саму конфигурацию, но и обработки обслуживания торгового оборудования. Если в компании используется несколько информационных баз, этот процесс можно автоматизировать и проводить без участия пользователя с помощью программы для пакетного обновления и тестирования баз 1С.

Только после выполнения всех трех пунктов можно приступать к настройкам и тестированию. Далее рассмотрим наиболее частые проблемы и их решения.

Настройка 1С и решение типовых проблем

Даже после выполнения всех обновлений могут возникнуть ошибки. Чаще всего они связаны с некорректными настройками внутри самой программы 1С. Разберем основные моменты.

Подключение ККТ: выбор правильного драйвера в 1С

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

Важно: Для корректной работы с новыми ставками НДС для плательщиков на УСН необходимо выбрать драйвер с явным указанием на это. Его название выглядит так:

АТОЛ:ККТ с передачей данных в ОФД 10.x (ФФД 1.2) УСН НДС

Если выбрать стандартный драйвер АТОЛ:ККТ с передачей данных в ОФД 10.x (ФФД 1.2), то касса, скорее всего, будет продолжать пробивать чеки со ставкой "Без НДС", игнорируя настройки в документах 1С. Также стоит отметить, что в комплекте с драйверами 10.10.6.0 может поставляться нестандартная DLL-библиотека для интеграции с 1С. Убедитесь, что система использует именно ее.

Проблема: в чеке печатается "Без НДС", хотя в 1С указана ставка 5%

Это самая распространенная ситуация. Вы все обновили, в документе ЧекККМ в 1С видите правильную ставку НДС 5% и рассчитанную сумму, но на бумажном чеке и в данных ОФД по каждой позиции указано "НДС не облагается". Выясним возможные причины.

  1. Неверная ставка в карточке номенклатуры. Это частая ошибка. Если в карточке товара жестко задана ставка "Без НДС", то эта настройка будет иметь приоритет над настройками учетной политики организации. Проверьте карточки товаров, по которым пробивается чек. В новых релизах 1С (например, Розница 3.0, УНФ) система должна автоматически подставлять ставку из учетной политики, если в номенклатуре не выбрано "0%" или "Без НДС". Однако в конфигурации 1С:Розница 2.3 это поведение может отличаться, и может потребоваться переопределение ставки через товарные группы.
  2. Проблема в самой конфигурации 1С. На момент появления новых драйверов в некоторых версиях конфигураций 1С (например, Розница 2.3.21.29) наблюдалась проблема: в карточке номенклатуры в списке выбора отсутствовали ставки 5% и 7%. По информации от поддержки 1С, эта проблема известна и будет исправлена в последующих обновлениях.
  3. Проверка даты. Новые ставки вступают в силу с 1 января 2025 года. Некоторые прошивки и драйверы могут быть запрограммированы так, чтобы не применять эти ставки до наступления нужной даты. Тесты с переводом системной даты на кассе и компьютере на 01.01.2025 не всегда давали результат, что может указывать на более глубокие программные ограничения.
  4. Анализ для разработчиков. Если вы разработчик, можно провести более глубокую диагностику. В конфигурации 1С:Розница 2.3 за преобразование ставки НДС для передачи в ККТ отвечает процедура ОборудованиеЧекопечатающиеУстройства.ПредставлениеСтавкиНДС. Также можно проанализировать XML-файл, который передается драйверу. Если в нем для ставки НДС передается значение Vatrate = None, это и есть причина проблемы. В качестве временного решения можно создать расширение конфигурации, которое будет принудительно подставлять корректное значение ставки в XML перед отправкой на ККТ.

Проблемы с маркировкой и настройками ОФД

Еще одна группа проблем связана с работой с маркированным товаром и передачей данных в ОФД после обновления. В случае регулярного сброса параметров кассы можно воспользоваться инструментом для массового исправления настроек ОФД в ККТ АТОЛ.

Симптомы: При сканировании кода маркировки в РМК появляется ошибка "не удалось проверить марку" или "отсутствие адреса ИСМ". Также пользователи замечают, что через 10-15 минут после запуска 1С настройки адреса и порта ОФД в драйвере ККТ "слетают", и чеки перестают уходить. Перезапуск 1С временно решает проблему.

Возможные решения:

Настройка для устаревших конфигураций 1С

Отдельно стоит рассмотреть ситуацию с программами, которые уже не поддерживаются официально, но все еще используются.

1С:Управление Торговлей 10.3 и 1С 7.7

Для пользователей УТ 10.3 ситуация сложная, так как конфигурация снята с поддержки. Интеграция с новым оборудованием и драйверами потребует самостоятельных доработок со стороны программиста 1С. Чтобы избежать постоянных затрат на адаптацию устаревшей программы к новым требованиям законодательства, имеет смысл выполнить переход на актуальную версию конфигурации с помощью правил разовой миграции данных из УТ 10.3 в УТ 11.

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

Решение: Единственный рабочий вариант — это переход на прямое управление ККТ через COM-объект. Это означает, что нужно доработать конфигурацию так, чтобы 1С не использовала стандартные обработки обслуживания, а напрямую обращалась к драйверу через программный код.

Посмотрим на пример такого кода (синтаксис для 1С 8.х, но логика применима и для 7.7). Этот код показывает, как создать объект драйвера, открыть чек, добавить товар, указать тип оплаты и закрыть чек.


&НаКлиенте
Функция ЧекККТ(Объект) Экспорт
    НомерЧека = 0;
    FR = Новый COMобъект("AddIn.Fptr10");
    FR.setSingleSetting(FR.LIBFPTR_SETTING_PORT, Строка(FR.LIBFPTR_PORT_USB));
    FR.applySingleSettings();
    FR.open();

    FR.setParam(1021, строка(Объект.Кассир));
    FR.operatorLogin();

    // Открываем чек продажи
    FR.setParam(FR.LIBFPTR_PARAM_RECEIPT_TYPE, FR.LIBFPTR_RT_SELL);
    FR.openReceipt();

    // Добавляем товары в цикле
    Для Каждого стрТР Из Объект.Товары Цикл
        Товар = строка(стрТР.Номенклатура);
        Цена = стрТР.Сумма / стрТР.Количество;
        FR.setParam(FR.LIBFPTR_PARAM_COMMODITY_NAME, Товар);
        FR.setParam(FR.LIBFPTR_PARAM_PRICE, Цена);
        FR.setParam(FR.LIBFPTR_PARAM_QUANTITY, стрТР.Количество);
        // Здесь нужно будет передавать правильную ставку НДС вместо LIBFPTR_TAX_NO
        FR.setParam(FR.LIBFPTR_PARAM_TAX_TYPE, FR.LIBFPTR_TAX_NO); 
        FR.setParam(1212, 4); // Пример установки признака предмета расчета
        FR.registration();
    КонецЦикла;

    // Регистрируем оплату
    ИтогПоНалу = Объект.СуммаНаличными;
    Если ИтогПоНалу > 0 Тогда
        FR.setParam(FR.LIBFPTR_PARAM_PAYMENT_SUM, ИтогПоНалу);
        FR.setParam(FR.LIBFPTR_PARAM_PAYMENT_TYPE, FR.LIBFPTR_PT_CASH); // Наличные
        FR.payment();
    КонецЕсли;

    // Закрываем чек
    FR.closeReceipt();

    // Проверяем, что чек закрыт и напечатан
    Если FR.checkDocumentClosed() <> 0 Тогда
        Сообщить("Нет связи с ККТ или чек не закрыт!");
    Иначе
        НомерЧека = FR.getParamInt(FR.LIBFPTR_PARAM_RECEIPT_NUMBER);
    КонецЕсли;

    FR.close();
    FR = Неопределено;
    Возврат НомерЧека;
КонецФункции

Эта методика требует квалификации программиста, но является единственным способом заставить работать современное оборудование со старыми системами.

← На главную