В процессе работы с версиями 1С:Управление торговлей 11.4.7 и выше многие технические специалисты и бухгалтеры столкнулись с проблемой: при оформлении расчетов между организациями или индивидуальными предпринимателями в кассовом чеке не печатались реквизиты покупателя (ИНН и наименование). Даже если данные были корректно заполнены в карточке контрагента, "каменный цветок" не выходил. Проанализируем ситуацию, разберем причины и выясним, как правильно настроить систему для соответствия законодательству.
Для начала разберем законодательный контекст. Обязанность указывать в чеке наименование покупателя (юрлица или ИП) и его ИНН была введена Федеральным законом № 192-ФЗ от 03.07.2018. Рассмотрим основные моменты этого требования:
Именно из-за этих сроков разработчики компании 1С внедрили в код типовых конфигураций программную проверку. Разберем подробнее, как это реализовано технически.
Как отметили участники обсуждения, в типовых решениях (УТ 11, БП 3.0) была обнаружена жесткая привязка к дате. Посмотрим на логику, которую используют разработчики в модулях формирования фискальных данных:
// Пример логики в общем модуле МенеджерОборудованияВызовСервера
Если ТекущаяДата() >= '20190701000000' Тогда
// Заполняем структуру данных для чека реквизитами покупателя
ДанныеЧека.Вставить("Покупатель", СведенияОПокупателе.Наименование);
ДанныеЧека.Вставить("ИННПокупателя", СведенияОПокупателе.ИНН);
КонецЕсли;
Проанализируем эту ситуацию: до наступления 1 июля 2019 года, даже если вы установили самый свежий релиз 11.4.7 или 11.4.8, программа намеренно игнорировала данные покупателя при формировании параметров чека. Это было сделано для предотвращения ошибок на стороне ОФД, так как передача "лишних" тегов до официального вступления закона в силу могла быть расценена как нарушение формата фискальных данных (ФФД).
Если дата уже наступила, а ИНН в чеке так и не появился, нам необходимо проверить техническую цепочку передачи данных. Для корректной работы требуются три составляющие:
Рассмотрим пошагово, что нужно проверить в самой программе 1С, чтобы данные попали в чек:
ИНН и выбран вид контрагента "Юридическое лицо" или "Индивидуальный предприниматель". Для физических лиц (без статуса ИП) эти теги в чеке не заполняются по закону.Выясним причину частого вопроса: "Почему при нажатии кнопки 'Пробить чек' непосредственно в РТУ данные не всегда выходят?". В некоторых релизах УТ 11 логика была завязана на вид операции. Если чек пробивается как авансовый или по документу, где не выбран конкретный контрагент-получатель (например, розничный покупатель), данные не заполнятся.
Также стоит обратить внимание на общий модуль МенеджерОборудованияВызовСервера. В нем происходит сборка структуры ПараметрыЧека. Если вы занимаетесь доработкой системы, проверьте наличие следующего фрагмента кода:
Если ПараметрыРегистрации.Свойства().Покупатель Тогда
ПараметрыЧека.Покупатель = ПараметрыРегистрации.Покупатель;
КонецЕсли;
Если ПараметрыРегистрации.Свойства().ИННПокупателя Тогда
ПараметрыЧека.ИННПокупателя = ПараметрыРегистрации.ИННПокупателя;
КонецЕсли;
Если эти строки отсутствуют или закомментированы условием по дате (которое уже неактуально), их необходимо актуализировать.
Подводя итог, для вывода ИНН и наименования юрлица в чеке необходимо обеспечить выполнение трех условий:
Проанализировав все вышеперечисленное, мы видим, что проблема "невыхода каменного цветка" чаще всего заключалась либо в программном ожидании даты вступления закона в силу, либо в использовании устаревших драйверов, которые не поддерживали новые теги ФФД 1.05/1.1.