С 1 июля 2019 года в соответствии с требованиями Федерального закона № 54-ФЗ при осуществлении расчетов между организациями и (или) индивидуальными предпринимателями с использованием наличных денег или предъявлением электронных средств платежа в кассовом чеке обязательно должны указываться дополнительные реквизиты: наименование покупателя (тег 1227) и ИНН покупателя (тег 1228).
При переходе на эти требования пользователи конфигурации 1С:Бухгалтерия предприятия 3.0, использующие кассовую технику АТОЛ (например, популярную модель АТОЛ 11Ф), массово столкнулись с проблемой: новые реквизиты упорно не выводятся на печать в чеках, либо сама программа выдает критические ошибки при попытке пробить чек. В этой статье мы подробно разберем причины этой проблемы и по шагам пройдем весь путь ее решения.
Для того чтобы новые теги корректно передавались из программы 1С на чековую ленту и далее в ОФД, должна бесперебойно работать вся цепочка интеграции:
БПО).Если хотя бы одно звено этой цепи работает некорректно, реквизиты покупателя в чеке не появятся. Как показывает практика реальных внедрений того периода, основными источниками проблем стали сырые версии драйверов АТОЛ ДТО 10 и ошибки в поставляемых интеграционных компонентах 1С.
Рассмотрим ситуацию, с которой сталкивались многие системные администраторы. При попытке настроить связку драйвера версии 10.5.0.0 и интеграционной компоненты 10.4.6 в 1С возникал конфликт версий. При этом попытка установить официальную на тот момент компоненту 10.5.0 приводила к критическому багу.
Суть бага смены: при отправке команды на печать чека компонента возвращала в 1С ложное состояние ККТ — "Смена всегда закрыта" (статус 1), даже если смена на кассе была фактически открыта. 1С блокировала дальнейшую работу, и чек не пробивался.
Для обхода этой проблемы пользователи были вынуждены откатываться на компоненту 10.4.6. Но в версии 10.4.6 механизмы вывода новых тегов (ИНН и наименования покупателя) не были реализованы в полной мере, из-за чего чеки печатались, но без обязательных реквизитов контрагента.
Чтобы полностью исправить ситуацию, восстановить печать всех обязательных реквизитов и избежать ошибок блокировки смены, выполним следующие шаги.
Прежде чем настраивать программное обеспечение на компьютере, убедимся, что фискальный регистратор физически готов к работе с новыми тегами. Прошивка ККТ должна поддерживать работу с ФФД 1.05 в части тегов 1227 и 1228:
Если прошивка старая, касса будет просто игнорировать команды записи ИНН покупателя, приходящие от драйвера.
Очень важно соблюдать последовательность действий при смене версий драйверов во избежание системных сбоев:
Если вы вынуждены использовать драйвер версии 10.5.0.0, вам необходимо заменить дефектную компоненту на исправную версию. Для этого:
ATOL_KKT_10.zip (содержащем библиотеку fptr10_1c_win32_0_0_0_237.dll или аналогичную стабильную сборку).Рассмотрим пример того, как программно в коде 1С (в БПО) формируется XML-пакет с передачей необходимых реквизитов покупателя. Это позволяет понять, как именно компонента транслирует данные в ККТ:
// Пример формирования структуры чека с тегами покупателя в БПО
ПараметрыЧека = Новый Соответствие;
ПараметрыЧека.Вставить("ДанныеПокупателя", Новый Структура("Наименование, ИНН", "ИП Иванов Иван Иванович", "770102030405"));
// В XML-пакет чека будут добавлены соответствующие атрибуты:
// <Receipt CustomerName="ИП Иванов Иван Иванович" CustomerINN="770102030405">
Для того чтобы исключить необходимость ручной подмены файлов DLL в системных папках (таких как %APPDATA%\1C\1Cv8\ExtCompT\), самым надежным решением является обновление конфигурации. В релизе 3.0.72.66 и выше механизмы БПО были штатно обновлены. Новые версии конфигураций поставляются с уже встроенной сертифицированной и стабильной компонентой интеграции с АТОЛ ДТО 10, которая без ошибок определяет статус смены ККТ и корректно выводит ИНН и наименование покупателя на печать.