Как исправить ошибку типа оплаты «Кредит» вместо «Электронных» в 1С:Розница при работе с кассами Атол?

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

При обновлении прошивок контрольно-кассовой техники (ККТ) Атол до Платформы 5.0 и переходе на формат фискальных данных (ФФД) 1.05 многие пользователи старых версий конфигурации 1С:Розница 2.2 столкнулись с неприятной ситуацией. При оформлении продажи по банковской карте касса печатает чек, в котором сумма оплаты значится не как «Электронные» (или «Безналичные»), а как «Последующая оплата» или «Кредит». Это критическая ошибка, так как она искажает данные в фискальном накопителе и налоговой отчетности.

В данной статье мы подробно разберем, почему возникает эта проблема, как подружить старую версию 1С с новыми драйверами и что делать, если перестали сниматься X-отчеты.

Выясним причину подмены типа оплаты

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

Однако в новых прошивках Атол (Платформа 5.0) внутренняя структура таблиц изменилась для соответствия требованиям ФФД 1.05 и 1.1. Теперь типов оплаты стало больше (аванс, кредит, иная форма оплаты), и их нумерация в драйверах разных версий (8.х, 9.х, 10.х) может интерпретироваться по-разному. Когда 1С:Розница 2.2.6 использует старый механизм обмена, она отправляет индекс, который касса новой прошивки считывает как «Кредит».

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

Решение 1: Переход на внешнюю обработку обслуживания

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

  1. Проанализируем состав папки установленного драйвера Атол (обычно в C:\Program Files (x86)\ATOL\Drivers9\1с). Там находятся файлы с расширением .epf.
  2. В настройках торгового оборудования в 1С вместо «Встроенного драйвера» выберем использование внешней обработки обслуживания.
  3. Загрузим актуальный файл обработки из папки драйвера. Это позволит 1С использовать логику формирования чека, соответствующую версии установленного драйвера 9.х или 10.х.

Важный момент: Как показывает практика, драйверы версии 9.х являются переходными и не самыми стабильными. Если после установки 9-й версии у вас возникают ошибки при снятии отчетов, рекомендуется рассмотреть возможность перехода на 10-й драйвер, который на текущий момент является основным и наиболее поддерживаемым.

Решение 2: Корректировка кода обработки (для программистов)

Если обновление драйверов и обработок не помогает, или если вы используете сильно доработанную конфигурацию, потребуется вмешательство в программный код обработки обслуживания ККТ. Нам нужно найти место, где формируется массив оплат перед отправкой в кассу.

Рассмотрим примерный фрагмент кода, который отвечает за сопоставление типов оплат. В модуле обработки обслуживания (обычно это ATOL_KKT.epf или встроенный макет) найдем функцию, где заполняются параметры чека:


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

Необходимо убедиться, что свойство ТипОплаты (или аналогичное в зависимости от версии API драйвера) получает значение, которое касса интерпретирует именно как безналичный расчет. В драйверах 10.х для этого часто используется метод setPaymentType.

Проблема с X-отчетом и отчетом о состоянии расчетов

Многие пользователи отмечают, что при переходе на новые драйверы перестает работать кнопка «Печать X-отчета» в 1С. Выясним причину: в современной нормативной базе 54-ФЗ понятие «X-отчет» официально отсутствует. Его заменил «Отчет о текущем состоянии расчетов».

Если 1С выдает ошибку при попытке снять X-отчет, рассмотрим варианты действий:

Настройка видов оплат в справочниках 1С

Перед тем как приступать к программированию, проанализируем настройки в пользовательском интерфейсе. Иногда проблема решается без правки кода:

  1. Зайдем в раздел Администрирование — Продажи — Оплата.
  2. Найдем справочник «Виды оплат».
  3. Убедимся, что для вида оплаты «Оплата картой» правильно выбран Тип оплаты ККМ.
  4. Попробуем создать новый вид оплаты с типом «Платежная карта» и перевыбрать его в настройках РМК (Рабочего места кассира). При использовании новых драйверов это может инициировать корректную передачу параметров в кассу.

Резюме и рекомендации

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

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

← На главную