Почему 1С Управление торговлей просит обновить драйвер ККМ при частичной оплате и как это исправить?

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

При оформлении частичной предоплаты или авансового платежа через документ Приходный кассовый ордер или Чек ККМ в программе 1С:Управление торговлей 11 пользователи часто сталкиваются со следующим предупреждением: программа сообщает о необходимости обновить прошивку ККТ или драйвер устройства для поддержки формата фискальных данных (ФФД) версии 1.05. Проанализируем, почему возникает эта ошибка, как Библиотека подключаемого оборудования (БПО) проверяет параметры кассового аппарата и какими способами можно оперативно решить проблему.

Причина возникновения предупреждения при частичной оплате

Формат фискальных данных ФФД 1.0 изначально не предусматривал детального разделения признаков способа расчета для сложных торговых операций — таких как предоплата, частичная оплата, передача в кредит или зачет аванса. Для корректной передачи в ОФД и ФНС структуры чека с авансовыми платежами требуется поддержка формата ФФД 1.05 или выше, где присутствуют теги 1214 (Признак способа расчета) и 1212 (Признак предмета расчета).

Если в системе зафиксировано, что касса или фискальный накопитель работают по стандарту 1.0, БПО 1С блокирует пробитие чека с частичной оплатой, чтобы уберечь пользователя от формирования некорректного фискального документа.

Как 1С определяет версию ФФД (анализ алгоритма)

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

Посмотрим на пример кода из модуля Библиотеки подключаемого оборудования, показывающий логику определения итоговой версии ФФД:


Функция ВерсияФФД(ПараметрыККТ) Экспорт
    ВерсияФФДККТ = Неопределено;
    ВерсияФФДФН = Неопределено;
    ПараметрыККТ.Свойство("ВерсияФФДККТ", ВерсияФФДККТ);
    ПараметрыККТ.Свойство("ВерсияФФДФН" , ВерсияФФДФН);
    
    Если ВерсияФФДККТ = Неопределено Тогда
        Если ВерсияФФДФН = Неопределено Тогда
            Результат = "1.0";
        Иначе
            Результат = ВерсияФФДФН;
        КонецЕсли;
    Иначе
        Если ВерсияФФДФН = Неопределено Тогда
            Результат = ВерсияФФДККТ;
        Иначе
            Результат = Мин(ВерсияФФДККТ, ВерсияФФДФН);
        КонецЕсли;
    КонецЕсли;
    
    Возврат Результат;
КонецФункции

Из данного алгоритма видно: 1С берет минимальное значение из двух параметров (версия ФФД устройства и версия ФФД фискального накопителя). Если хотя бы один из этих параметров возвращает значение 1.0 или пустую структуру (Неопределено), итоговый результат принимается равным "1.0". Соответственно, для успешного пробития чека частичной оплаты условие поддержки ФФД 1.05 должно одновременно выполняться и на стороне прошивки ККТ, и на стороне ФН.

Способы решения проблемы

Выяснив причины поведения системы, разберем по шагам варианты устранения ошибки.

1. Проверка и обновление прошивки ККТ и драйвера

  1. Убедимся, что фискальный накопитель и сама касса (например, Атол или Штрих-М) переведены на работу с ФФД 1.05. При необходимости выполним процедуру перерегистрации ККТ через утилиту производителя (без замены ФН), выбрав режим работы ФФД 1.05.
  2. Установим свежий драйвер ККТ в операционной системе (для ККТ Атол рекомендуется использовать актуальные версии драйверов 10-й серии).

2. Обновление интеграционной компоненты драйвера в 1С

Внешний драйвер в ОС и компонента, загруженная в справочник 1С — это разные вещи. Если физически касса переведена на ФФД 1.05, но в 1С загружен старый архив компоненты, программа продолжит обращаться к ККТ по старому протоколу.

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

3. Очистка кэша внешних компонент и перезапрос параметров

Часто в базе 1С сохраняются закэшированные настройки оборудования, считанные до перерегистрации кассы.

  1. Зайдем в настройки карточки экземпляра подключаемого оборудования.
  2. Нажмем кнопку Тест связи или перезапросим параметры ККТ, после чего обязательно сохраним настройки по кнопке Записать и закрыть.
  3. Если параметры не обновляются, закроем 1С и очистим каталог внешних компонент текущего пользователя Windows по пути: AppData\Roaming\1C\1cv8\ExtCompT. При следующем запуске 1С принудительно заново инициализирует компоненту и запросит данные у кассы.

4. Временный обходной путь (без перепрошивки)

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

  1. Создадим в справочнике номенклатуры элемент с типом Услуга и наименованием Предоплата (или Частичная оплата).
  2. При оформлении авансового чека подставим созданную номенклатуру в табличную часть документа на сумму фактически полученной предоплаты.
  3. При окончательном расчете и отгрузке товара выполним зачет аванса согласно регламенту предприятия.
← На главную