При работе с торговым оборудованием в среде 1С:Предприятие, особенно после проведения обновлений конфигурации, нередко возникает критическая ошибка: «При печати чека произошла ошибка. Чек не напечатан на фискальном устройстве. Дополнительное описание: ККТ не зарегистрирована с указанной системой налогообложения». Данная ситуация блокирует работу кассира и требует оперативного вмешательства технического специалиста. Рассмотрим подробно причины возникновения этой проблемы и пошаговые алгоритмы её решения на примере конфигурации «1С:Управление торговлей» и оборудования АТОЛ.
Суть ошибки заключается в аппаратном ограничении фискального накопителя (ФН). При фискализации (регистрации) кассового аппарата в налоговой инспекции в память устройства жестко записывается список систем налогообложения (СНО), по которым разрешена работа данной кассы (например, ОСНО, УСН доход, Патент). Когда 1С отправляет команду на печать чека, она передает специальный тег, содержащий код СНО. Если этот код не совпадает ни с одним из тех, что были указаны при регистрации ККТ, драйвер возвращает ошибку, и чек аннулируется.
Проанализируем ситуацию, когда ошибка появляется именно после обновления. Обновление конфигурации часто вносит изменения в метаданные, регистры сведений и логику формирования XML-пакета, который передается драйверу ККТ. В результате настройки, которые ранее работали корректно, могут «сброситься» к значениям по умолчанию или начать интерпретироваться программой иначе.
Первым делом нам необходимо проверить, какая система налогообложения установлена для организации в самой программе 1С. Выясним, не изменились ли эти данные в процессе обновления.
Если настройки в 1С кажутся верными, нам необходимо убедиться, какие именно системы налогообложения «прошиты» в самой кассе. Для этого воспользуемся утилитой «Тест драйвера ККТ» (для устройств АТОЛ это обычно ДТО 10).
Сравним полученный список с тем, что выбрано в 1С. Если в кассе зарегистрирована только «УСН Доход», а 1С пытается пробить чек по «ОСНО», ошибка неизбежна. В таком случае требуется либо изменить настройки в 1С, либо проводить перерегистрацию ККТ в налоговой (если СНО действительно изменилась официально).
В некоторых случаях 1С может не передавать СНО явно, полагаясь на настройки драйвера. Проанализируем параметры подключения оборудования в 1С.
Если визуальные настройки не помогают, рассмотрим проблему на уровне программного кода. Выясним, какой именно код СНО передается в составе XML-пакета. Для этого можно поставить точку останова в общем модуле, отвечающем за фискализацию чеков (обычно это модули типа МенеджерОборудованияВызовСервера или обработки обслуживания драйверов).
Посмотрим на пример структуры данных, которую 1С подготавливает перед отправкой на драйвер:
// Пример структуры параметров чека
ДанныеЧека = Новый Структура;
ДанныеЧека.Вставить("СистемаНалогообложения", Перечисления.ТипыСистемНалогообложения.УпрощеннаяДоход);
// При формировании XML это значение преобразуется в цифровой код (тег 1055)
// 0 - ОСН, 1 - УСН доход, 2 - УСН доход минус расход и т.д.
Проанализируем ситуацию: если после обновления в коде произошла подмена сопоставления (например, вместо кода 1 начал передаваться код 2), ККТ выдаст ошибку. Проверьте актуальность используемой Обработки обслуживания ККТ. Часто после обновления конфигурации требуется также обновить и саму компоненту драйвера (DLL), которая идет в комплекте с релизом 1С.
Иногда настройки применены, но ошибка сохраняется. Проанализируем возможные причины задержки обновления параметров:
Подводя итог, можно выделить основную последовательность действий при возникновении данной ошибки:
Как показал опыт обсуждения на форуме, в конфигурациях семейства 11.4 наиболее частым решением является восстановление «слетевших» флагов в регистрах сведений, отвечающих за применение систем налогообложения в рознице. После внесения правок обязательно проведите пробную печать чека (например, чека внесения или X-отчета), чтобы убедиться в восстановлении связи с устройством.