При работе со старыми конфигурациями на платформе 1С 7.7, такими как «Штрих-М: Кассир 1.10», в связке с современными онлайн-кассами (например, Атол 22Ф), часто возникает проблема: ФИО кассира печатается, а его ИНН не передается в ОФД. Это происходит даже в тех случаях, когда все данные корректно заполнены в таблицах драйвера ККТ. Разберем подробно, почему так происходит и как обеспечить выполнение требований законодательства по форматам фискальных данных (ФФД).
В ранних версиях кассового ПО и протоколов обмена было достаточно один раз прописать данные кассиров в энергонезависимую память кассового аппарата (в так называемые «Таблицы»). При открытии чека касса просто брала ФИО из соответствующей строки. Однако с переходом на ФФД 1.05 и выше правила игры изменились.
Проанализируем ситуацию: современные прошивки ККТ ориентированы на получение полных данных о кассире непосредственно в момент формирования фискального документа. Если управляющая программа (1С) не передает Тег 1203 (ИНН кассира) в электронном виде, касса может просто игнорировать то, что записано в ее внутренних таблицах. Это связано с тем, что в рамках одной смены могут работать разные сотрудники, и налоговая служба требует жесткой привязки конкретного чека к конкретному ИНН физического лица.
Для корректной отчетности перед налоговой необходимо различать два реквизита:
Если ваше ПО передает только имя, но не передает ИНН, чек будет считаться оформленным с нарушениями, что может привести к предписаниям со стороны ФНС. Рассмотрим, как реализовать программную передачу этих данных.
Если вы используете драйвер Атол (например, версии 8.16), стандартный метод записи в таблицу WriteTable() может не давать результата для ОФД. Вместо этого необходимо использовать механизм передачи низкоуровневых тегов перед закрытием чека. Выясним, как это реализовать в коде.
Рассмотрим пример кода, который позволяет передать ФИО кассира (тег 1021) напрямую через объект драйвера:
Объект.Password = "30"; // Пароль администратора ККТ
Объект.TagNumber = 1021; // Номер тега "Кассир"
Объект.TagType = 7; // Тип тега (7 - строка)
Объект.TagValueStr = "Иванов И.И."; // ФИО кассира
Объект.FNSendTag(); // Команда отправки тега в ФН
По аналогии с этим примером, для передачи ИНН кассира необходимо использовать Тег 1203. Обратите внимание, что тип значения для ИНН также должен соответствовать требованиям драйвера (обычно это строка из 12 цифр).
Объект.TagNumber = 1203; // Номер тега "ИНН кассира"
Объект.TagType = 7; // Тип тега (строка)
Объект.TagValueStr = "123456789012"; // Реальный ИНН сотрудника
Объект.FNSendTag();
Важный нюанс: Данные команды FNSendTag() должны вызываться в процессе открытия чека или непосредственно перед его закрытием (командой CloseCheck), но обязательно ПОСЛЕ того, как касса вошла в режим формирования чека.
В конфигурации «Штрих-М: Кассир 1.10» большая часть логики работы с торговым оборудованием вынесена в защищенные модули или скомпилированные компоненты. Если программа жестко закодирована под использование старых методов Атол (через таблицы), то простое изменение настроек в интерфейсе не поможет.
В такой ситуации у нас есть три пути:
.ert), которая будет перехватывать процесс печати чека и добавлять нужные теги.Иногда программный код написан верно, но касса все равно «режет» ИНН. Проанализируем техническую составляющую оборудования Атол 22Ф. Для корректной работы с тегами требуются актуальные версии внутреннего ПО ККТ.
Если ваша касса работает на Платформе 2.5 (старая архитектура Атол), убедитесь, что версия прошивки не ниже 5199. На более старых прошивках поддержка передачи тега 1203 через драйверы 8-й серии работала нестабильно. Однако лучшим решением сегодня является переход на Платформу 5.0 и использование Драйвера ККТ 10.x.
В 10-й версии драйвера работа с кассиром выглядит иначе. Вместо FNSendTag используются свойства объекта LIBFPTR_PARAM_CASHIER_NAME и LIBFPTR_PARAM_CASHIER_INN. Посмотрим на логику работы с новым драйвером:
Драйвер.setParam(65530, "Иванов И.И."); // LIBFPTR_PARAM_CASHIER_NAME
Драйвер.setParam(65531, "123456789012"); // LIBFPTR_PARAM_CASHIER_INN
Драйвер.operatorLogin();
Эта команда регистрирует кассира в текущем сеансе работы драйвера, и данные будут автоматически подставляться в каждый чек.
Подведем итог. Если вы столкнулись с тем, что ИНН кассира не уходит в ОФД на 1С 7.7:
FNSendTag для тега 1203.Помните, что отсутствие ИНН кассира в электронном чеке — это формальное нарушение порядка применения ККТ, и своевременное исправление этой ошибки убережет вашу организацию от лишнего внимания со стороны налоговых органов.