При работе с контрольно-кассовой техникой (ККТ) АТОЛ в связке с программой 1С, особенно при продаже маркированных товаров дробными количествами, пользователи могут столкнуться с ошибкой "[148] Ошибка программирования реквизита 2108". Эта проблема особенно актуальна для таких товаров, как разливное автомасло. Давайте рассмотрим эту ошибку подробнее, выясним ее причины и разберем по шагам, как ее устранить.
Прежде чем углубляться в решение, важно понять, что такое реквизит 2108 и почему он является критически важным. Реквизит 2108, также известный как "мера количества предмета расчета", является обязательным полем в фискальных документах, формируемых в соответствии с форматом фискальных данных (ФФД) версии 1.2. Этот реквизит предназначен для указания единицы измерения товара, например, "шт.", "кг", "л", "м" и так далее. Для маркированных товаров, вне зависимости от того, продаются они штучно или дробно, его заполнение строго обязательно.
Налоговая служба, начиная с 9 ноября 2023 года, прекратила принимать кассовые чеки, сформированные по ФФД 1.2 без заполненного тега 2108. Игнорирование этого требования может привести к административным штрафам. Таким образом, появление ошибки "[148] Ошибка программирования реквизита 2108" означает, что в фискальном чеке либо не указана единица измерения, либо она указана некорректно или в неподдерживаемом формате.
Когда возникает ошибка программирования реквизита 2108, первым делом необходимо убедиться в корректности базовых настроек. Часто проблема кроется в очевидных, но упущенных из виду деталях.
Для разливных товаров, таких как автомасло, крайне важно правильно указать единицу измерения. По умолчанию, многие товары могут иметь единицу "шт." (штука). Однако для разливных жидкостей это будет некорректно. Мы должны использовать единицу измерения, которая отражает дробное количество, например, "литр" или "л".
Наши коллеги столкнулись с проблемой, когда при использовании "шт." для разливного автомасла возникала ошибка. Однако переход на "литр" также не сразу решил проблему, что указывает на более глубокие причины, которые мы рассмотрим далее. Тем не менее, это первый и обязательный шаг.
В некоторых случаях драйвер ККТ может иметь специальный флаг или настройку, отвечающую за передачу тега 2108. Мы можем попытаться найти эту опцию в настройках драйвера АТОЛ (обычно это утилита "Настройка свойств" драйвера) и убедиться, что она активна. Хотя в нашем случае это не привело к полному решению (сообщение 8), это важный шаг для исключения простой недонастройки драйвера. Часто проблема не в самом факте передачи тега, а в корректности передаваемых данных.
Одна из наиболее частых причин возникновения подобных ошибок — использование устаревших версий программного обеспечения. Требования к маркировке и ФФД 1.2 постоянно обновляются, и производители ККТ, драйверов и программ 1С выпускают соответствующие обновления. Мы должны убедиться, что все компоненты нашей системы актуальны.
Прошивка фискального регистратора — это его "мозг". Устаревшая прошивка может не поддерживать новые требования ФФД 1.2 или некорректно обрабатывать тег 2108. В нашем случае, первоначально использовалась прошивка 5.12, затем 5.8.12, которая также была названа устаревшей. Мы должны обновить прошивку ККТ АТОЛ до самой последней актуальной версии, например, 5.8.20 или новее, если таковая доступна. Обновление прошивки обычно выполняется через утилиты от производителя ККТ.
Драйвер ККТ — это "переводчик" между программой 1С и физическим фискальным регистратором. Он отвечает за правильное формирование команд и передачу данных в ККТ. Драйверы АТОЛ версии 10.10.6.0 и выше уже содержат необходимые изменения для поддержки ФФД 1.2 и корректной работы с тегом 2108. Мы должны скачать и установить последнюю версию драйвера с официального сайта АТОЛ.
Компонента 1С (обычно внешняя обработка или библиотека) отвечает за взаимодействие непосредственно из программы 1С с драйвером ККТ. Если драйвер и прошивка обновлены, но компонента 1С осталась старой, она может передавать данные в устаревшем формате или неверно интерпретировать ответы драйвера. Мы должны убедиться, что компонента 1С, используемая для связи с ККТ АТОЛ, также соответствует последней версии, которая поставляется вместе с актуальным драйвером или доступна на сайте АТОЛ. Версия компонента 10.10.6.0, упомянутая в логе, должна быть актуальной, но важно убедиться, что она корректно интегрирована и используется программой 1С.
Еще одной распространенной причиной ошибки 2108 может быть несоответствие версий ФФД. Мы должны убедиться, что версия ФФД, на которую зарегистрирован наш фискальный регистратор в налоговой службе, совпадает с версией, указанной в настройках подключаемого оборудования в нашей программе 1С.
Эту информацию можно получить из регистрационной карточки ККТ или в личном кабинете налогоплательщика на сайте ФНС. Убедитесь, что ККТ зарегистрирована на ФФД 1.2.
В программе 1С, в разделе "Администрирование" -> "Подключаемое оборудование" -> "ККТ с передачей данных", мы должны открыть настройки нашего фискального регистратора и убедиться, что там также указана версия ФФД 1.2. Если обнаружено несоответствие, необходимо привести настройки в 1С в соответствие с регистрацией ККТ.
Одно из самых ценных наблюдений в ходе обсуждения этой проблемы — это разница в поведении между "Тестом драйвера" АТОЛ и работой через компоненту 1С. Когда наши коллеги обновили прошивку и драйверы ККТ до последних версий, они обнаружили, что чеки на разливные автомасла успешно пробиваются через "Тест драйвера" АТОЛ, но продолжают выдавать ошибку "[148] Ошибка программирования реквизита 2108" при попытке пробития через 1С. Это наблюдение является критически важным, поскольку оно сужает область поиска проблемы.
Если "Тест драйвера" работает, мы должны внимательно изучить, как именно программа 1С (в нашем случае 1С АА 4.1, основанная на УНФ) взаимодействует с драйвером ККТ. Компонента 1С должна:
fptr1C.log). Строки, предшествующие ошибке, могут содержать полезную информацию о том, какие данные пыталась передать 1С и что вызвало сбой. Мы ищем несоответствия или пустые значения в полях, относящихся к единице измерения или количеству.Проблема, которую мы рассматриваем, тесно связана с системой маркировки "Честный Знак". Важно знать следующие аспекты:
Обобщая все вышесказанное, предлагаем комплексный план действий для устранения ошибки программирования реквизита 2108:
fptr1C.log).Если после всех этих шагов проблема сохраняется, и мы точно уверены, что "Тест драйвера" работает корректно, а 1С выдает ошибку, это однозначно указывает на проблему в реализации компоненты 1С или специфике конфигурации. В таком случае, мы рекомендуем обратиться к поддержке разработчика вашей конфигурации 1С (в нашем случае 1С АА, основанной на УНФ) или к специалистам АТОЛ для более глубокой диагностики и возможного исправления кода.
Если до устранения ошибки были пробиты чеки без корректного тега 2108, ФНС рекомендует формировать чеки коррекции для исправления этих нарушений и избежания штрафов.
Решение проблемы "[148] Ошибка программирования реквизита 2108" требует системного подхода и поэтапной проверки всех компонентов: от прошивки ККТ до настроек в 1С. Учитывая, что "Тест драйвера" показал работоспособность ККТ, ключевой фокус должен быть на правильности формирования и передачи данных из вашей конфигурации 1С. В качестве альтернативного решения можно использовать инструмент для независимой печати чеков на ККМ АТОЛ напрямую через драйвер.