При работе с онлайн-кассами в конфигурации «1С: Управление торговлей 10.3» многие сталкиваются с проблемой: ИНН кассира не передается оператору фискальных данных (ОФД), хотя это является требованием законодательства (54-ФЗ, тег 1085). Даже после обновления драйверов оборудования и самой конфигурации проблема может сохраняться. Разберемся, почему так происходит и как это исправить.
Проанализируем ситуацию: основная причина кроется в том, что в типовой конфигурации «УТ 10.3» исторически не было предусмотрено поле для хранения ИНН в справочнике физических лиц. Соответственно, программа просто не знает, откуда брать эти данные для передачи на кассу. Для решения этой задачи потребуется комплексный подход: сначала выполним предварительные проверки, а затем доработаем конфигурацию.
Прежде чем вносить изменения в код, убедимся, что все остальные компоненты системы настроены корректно. Часто проблема может быть в устаревшем ПО или неверных настройках.
Физические лица.Если после всех этих проверок ИНН кассира все равно не передается, значит, проблема именно в отсутствии необходимых данных в самой конфигурации. Перейдем к ее доработке.
Поскольку в справочнике Физические лица нет поля для ИНН, нам нужно его добавить. Эта операция выполняется в режиме «Конфигуратор».
Внимание! Перед внесением изменений в конфигурацию обязательно сделайте резервную копию информационной базы.
ФизическиеЛица и откройте его двойным щелчком.ИНН.После этого шага в карточке каждого физического лица в режиме «1С:Предприятие» появится новое поле «ИНН». Теперь необходимо его заполнить для всех сотрудников, которые работают с кассой.
Мы добавили поле для хранения ИНН, но теперь нужно «научить» программу брать из него данные и передавать их драйверу кассы в момент печати чека. Для этого внесем изменения в общий модуль, отвечающий за работу с оборудованием.
ПодключаемоеОборудованиеУниверсальныйДрайверКлиент и откройте его.ВыполнитьКоманду.
Если ВходныеПараметры = Неопределено Тогда
...
КонецЕсли;
Важно: этот код добавляет ИНН кассира, получая его из данных авторизованного пользователя. Он проверяет, есть ли в структуре параметров свойство КассирИНН, и если есть, заполняет его.
Если ВходныеПараметры = Неопределено Тогда
ВходныеПараметры = МенеджерОборудованияКлиентСервер.ПараметрыВыполненияОперации;
АвторизованныйПользователь = ПользователиКлиентСервер.АвторизованныйПользователь;
ВходныеПараметры.Кассир = АвторизованныйПользователь.Наименование;
ВходныеПараметры.КассирИНН = АвторизованныйПользователь.ФизЛицо.ИНН;
Иначе
КассирИНН = ПользователиКлиентСервер.АвторизованныйПользователь.ФизЛицо.ИНН;
Если ТипЗнч(ВходныеПараметры) = ТИП("Массив") Тогда
Для каждого ЭлементМассива Из ВходныеПараметры Цикл
Если ТипЗнч(ЭлементМассива) = ТИП("Структура") Тогда
Если ЭлементМассива.Свойство("КассирИНН") Тогда
ЭлементМассива.КассирИНН = КассирИНН;
КонецЕсли;
КонецЕсли;
КонецЦикла;
ИначеЕсли ТипЗнч(ВходныеПараметры) = ТИП("Структура") Тогда
Если ВходныеПараметры.Свойство("КассирИНН") Тогда
ВходныеПараметры.КассирИНН = КассирИНН;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Теперь система готова к работе. При пробитии чека она будет брать ИНН из карточки физического лица, привязанного к текущему пользователю, и передавать его в составе фискальных данных в ОФД.
Согласно разъяснениям ФНС, если у кассира отсутствует ИНН (например, он не является резидентом РФ и не состоит на налоговом учете), то этот реквизит в чеке можно не указывать. В этом случае поле «ИНН» в карточке физического лица следует оставить пустым. Однако для граждан РФ, работающих кассирами, наличие и указание ИНН является обязательным.
Таким образом, решив проблему на уровне конфигурации, вы обеспечите полное соответствие требованиям законодательства и корректную передачу всех необходимых данных в налоговую службу.