Как настроить передачу ИНН кассира в ОФД в 1С: Управление торговлей 10.3?

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

При работе с онлайн-кассами в конфигурации «1С: Управление торговлей 10.3» многие сталкиваются с проблемой: ИНН кассира не передается оператору фискальных данных (ОФД), хотя это является требованием законодательства (54-ФЗ, тег 1085). Даже после обновления драйверов оборудования и самой конфигурации проблема может сохраняться. Разберемся, почему так происходит и как это исправить.

Проанализируем ситуацию: основная причина кроется в том, что в типовой конфигурации «УТ 10.3» исторически не было предусмотрено поле для хранения ИНН в справочнике физических лиц. Соответственно, программа просто не знает, откуда брать эти данные для передачи на кассу. Для решения этой задачи потребуется комплексный подход: сначала выполним предварительные проверки, а затем доработаем конфигурацию.

Шаг 1. Предварительная диагностика и базовые настройки

Прежде чем вносить изменения в код, убедимся, что все остальные компоненты системы настроены корректно. Часто проблема может быть в устаревшем ПО или неверных настройках.

  1. Обновление конфигурации и драйверов. Убедитесь, что у вас установлена одна из последних версий «УТ 10.3» (например, релиз 10.3.53.2 или новее), так как в них были внесены изменения, связанные с работой торгового оборудования. Также критически важно использовать свежие драйверы для вашей онлайн-кассы. Например, для касс «Атол» рекомендуется использовать драйверы версии 10.x.
  2. Настройка пользователя в 1С. Проверьте карточку пользователя, от имени которого пробиваются чеки. В ней должны быть заполнены два ключевых поля:
    • Физ. лицо: К пользователю должно быть привязано соответствующее физическое лицо из справочника Физические лица.
    • Основной ответственный: В настройках пользователя должен быть указан ответственный. Именно через эту связку система определяет, чьи данные использовать.
  3. Проверка электронного чека. Важный момент, который часто вводит в заблуждение: ИНН кассира является обязательным реквизитом электронной версии чека, которая передается в ОФД. На печатной бумажной форме этот реквизит может отсутствовать. Поэтому для проверки корректности передачи данных нужно смотреть информацию о чеке в личном кабинете вашего ОФД, а не на бумажной ленте.

Если после всех этих проверок ИНН кассира все равно не передается, значит, проблема именно в отсутствии необходимых данных в самой конфигурации. Перейдем к ее доработке.

Шаг 2. Доработка конфигурации для хранения ИНН

Поскольку в справочнике Физические лица нет поля для ИНН, нам нужно его добавить. Эта операция выполняется в режиме «Конфигуратор».

Внимание! Перед внесением изменений в конфигурацию обязательно сделайте резервную копию информационной базы.

  1. Откройте вашу базу в режиме «Конфигуратор».
  2. В дереве конфигурации найдите ветку Справочники и раскройте ее.
  3. Найдите справочник ФизическиеЛица и откройте его двойным щелчком.
  4. Перейдите на вкладку «Данные». В окне «Реквизиты» добавьте новую строку.
  5. Задайте имя нового реквизита — ИНН.
  6. Укажите тип данных: Строка, длина — 12.
  7. Сохраните изменения конфигурации (нажмите F7 или кнопку «Обновить конфигурацию базы данных»).

После этого шага в карточке каждого физического лица в режиме «1С:Предприятие» появится новое поле «ИНН». Теперь необходимо его заполнить для всех сотрудников, которые работают с кассой.

Шаг 3. Изменение общего модуля для передачи ИНН в драйвер

Мы добавили поле для хранения ИНН, но теперь нужно «научить» программу брать из него данные и передавать их драйверу кассы в момент печати чека. Для этого внесем изменения в общий модуль, отвечающий за работу с оборудованием.

  1. Вернитесь в «Конфигуратор».
  2. В дереве конфигурации найдите ветку Общие модули.
  3. Найдите модуль ПодключаемоеОборудованиеУниверсальныйДрайверКлиент и откройте его.
  4. Найдите в модуле функцию ВыполнитьКоманду.
  5. Внутри этой функции найдите следующий блок кода:
    
    Если ВходныеПараметры = Неопределено Тогда
        ...
    КонецЕсли;
    
  6. Замените этот блок на модифицированный код, который будет получать ИНН текущего пользователя и добавлять его в параметры, передаваемые драйверу.

    Важно: этот код добавляет ИНН кассира, получая его из данных авторизованного пользователя. Он проверяет, есть ли в структуре параметров свойство КассирИНН, и если есть, заполняет его.

    
    Если ВходныеПараметры = Неопределено Тогда
        ВходныеПараметры = МенеджерОборудованияКлиентСервер.ПараметрыВыполненияОперации;
        АвторизованныйПользователь = ПользователиКлиентСервер.АвторизованныйПользователь;
        ВходныеПараметры.Кассир = АвторизованныйПользователь.Наименование;
        ВходныеПараметры.КассирИНН = АвторизованныйПользователь.ФизЛицо.ИНН;
    Иначе
        КассирИНН = ПользователиКлиентСервер.АвторизованныйПользователь.ФизЛицо.ИНН;
        Если ТипЗнч(ВходныеПараметры) = ТИП("Массив") Тогда
            Для каждого ЭлементМассива Из ВходныеПараметры Цикл
                Если ТипЗнч(ЭлементМассива) = ТИП("Структура") Тогда
                    Если ЭлементМассива.Свойство("КассирИНН") Тогда
                        ЭлементМассива.КассирИНН = КассирИНН;
                    КонецЕсли;
                КонецЕсли;
            КонецЦикла;
        ИначеЕсли ТипЗнч(ВходныеПараметры) = ТИП("Структура") Тогда
            Если ВходныеПараметры.Свойство("КассирИНН") Тогда
                ВходныеПараметры.КассирИНН = КассирИНН;
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;
    
  7. После внесения изменений снова сохраните и обновите конфигурацию базы данных.

Теперь система готова к работе. При пробитии чека она будет брать ИНН из карточки физического лица, привязанного к текущему пользователю, и передавать его в составе фискальных данных в ОФД.

Что делать, если у кассира нет ИНН?

Согласно разъяснениям ФНС, если у кассира отсутствует ИНН (например, он не является резидентом РФ и не состоит на налоговом учете), то этот реквизит в чеке можно не указывать. В этом случае поле «ИНН» в карточке физического лица следует оставить пустым. Однако для граждан РФ, работающих кассирами, наличие и указание ИНН является обязательным.

Таким образом, решив проблему на уровне конфигурации, вы обеспечите полное соответствие требованиям законодательства и корректную передачу всех необходимых данных в налоговую службу.

← На главную