Чеки ККМ для расчетов с ИП по безналу. Новые обязательные реквизиты в чеке

Публикация № 1096360

Программирование - Практика программирования

печать чеков для юридических лиц вывод новых реквизитов в чеках подключение интеграционной компоненты ДТО 10.5.0

27
Новые требования законодательства по пробитию чеков ККМ при расчетах с индивидуальными предпринимателями по безналу. Нюансы подключения интеграционной компоненты ДТО 10.5.0 на примере кассы ККТ АТОЛ 11Ф и конфигурации 1С УТ 11.4. Необходимые доработки типовой конфигурации УТ 11.4 для вывода на печать новых обязательных реквизитов: покупатель, ИНН, ГТД, страна происхождения.

Уже наверно многие в курсе, что с 01.07.2019, законодательство обязало юридических лиц пробивать чеки ККМ при расчетах с индивидуальными предпринимателями по безналу. Если быть точнее, при оплате ИП не со своего расчетного счета. Например: бизнес-карта, телефон, операционист в банке. Но понять, как платил ИП достаточно сложно. По этому, многие организации вынуждены пробивать чеки на все безналичные платежи от ИП.

В общем, тем, кто раньше спокойно жил, теперь необходимо пробивать целую уйму чеков ККМ:

  • На аванс – поступление денег, без привязки к заказу,
  • На предоплату – поступление денег по заказу, в чеке должен быть перечень товаров,
  • На зачет аванса – отгрузка товаров с зачетом ранее полученного аванса,
  • На зачет предоплаты – отгрузка товаров по заказу с зачетом предоплаты,
  • На отгрузку в кредит – отгрузка не оплаченного товара,
  • На поступление денег по кредиту – поступление денег за отгруженные ранее товары, зачет кредита.

Но это еще половина беды. Теперь в чеке должны присутствовать дополнительные обязательные реквизиты:

  • Покупатель (клиент), реквизит с кодом 1227,
  • ИНН покупателя, реквизит с кодом 1228.

Если товар является импортным, то еще и:

  • Код страны происхождения товара, реквизит с кодом 1230,
  • Номер ГТД товара, реквизит с кодом 1231.

Федеральный закон от 03.07.2018 № 192 ФЗ.

Давайте разбираться, что же реализовано из всего этого и что нужно доработать на примере кассы ККМ АТОЛ 11Ф и 1С УТ 11.4.8.

Компания АТОЛ одна из первых реализовала поддержку печати новых реквизитов в чеках. На сегодняшний день, последняя версия драйвера для ККТ ДТО 10.5.0.0 и интеграционная компонента для 1С позволяют печатать в чеках и передавать в ОФД новые реквизиты.  

Что же касается 1С, то нововведения реализованы не полностью. И это мы говорим об одном из флагманских продуктов: УТ 11.4. В конфигурациях прошлого поколения: УТ 10.3, УПП, ситуация еще хуже.

В данной статье мы говорим об УТ 11.4. Я не проверял, но скорее всего, это будет актуально и для конфигураций КА 2.4 и ЕРП 2.4.

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

Первое

Драйвер для работы с кассовым оборудованием представляет из себя основную поставку драйвера, и так называемую интеграционную компоненту. Она необходима для взаимодействия 1С с основным драйвером.

Так вот, эта интеграционная компонента ВСТРОЕНА в конфигурацию 1С. Она находится в ZIP архиве в общем макете: «ДрайверАТОЛККТ54ФЗ10X»:

Шаблон с драйвером

О чем это говорит?

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

Предопределенный драйвер из конфигурации

А, если вы думаете, что в последнем релизе конфигурации в общем макете находится интеграционная компонента версии 10.5.0, вы глубоко ошибаетесь. На текущий момент, там находится версия 10.4.4. Данная версия, как вы понимаете, не поддерживает печать и передачу в ОФД новых реквизитов.

Так что, если вы используете предопределенный драйвер «АТОЛ:ККТ с передачей данных в ОФД (54-ФЗ) 10.Х», даже если вы будете видеть новые реквизиты в форме предпросмотра чека, на печати и в ОФД их не будет.

Второе

Казалось бы, ничего нет проще, открываешь список драйверов оборудования, и создаешь новый с загрузкой из файла, с указанием каталога интеграционной компоненты 10.5.0:

Загрузка драйвера из файла

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

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

Какая будет использоваться при печати чека – не понятно. Соответственно, если будет использоваться старая, новые реквизиты по-прежнему печататься не будут.

Почему это происходит?

Чтобы ответить на этот вопрос, давайте разбираться, что происходит при нажатии на кнопку «Установить драйвер»:

Кнопка: установить драйвер

Весь основной код приведен ниже:

Если ДанныеДрайвера.ВСоставеКонфигурации Тогда            
   Если ДанныеДрайвера.ПоставляетсяДистрибутивом Тогда            
      ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru='Данный драйвер не может быть установлен из дистрибутива.'"));                                     
   Иначе                                                
      НачатьУстановкуВнешнейКомпоненты(ОповещениеИзАрхиваПриЗавершении, "ОбщийМакет." + ДанныеДрайвера.ИмяМакетаДрайвера);                                    
   КонецЕсли;                        
Иначе                                    
   Если ДанныеДрайвера.ПоставляетсяДистрибутивом Тогда            
      ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru='Данный драйвер не может быть установлен и использован.'"));                                     
   Иначе                                               
      СсылкаНаДрайвер = ПолучитьНавигационнуюСсылку(ДанныеДрайвера.ДрайверОборудования, "ЗагруженныйДрайвер");            
      НачатьУстановкуВнешнейКомпоненты(ОповещениеИзАрхиваПриЗавершении, СсылкаНаДрайвер);
   КонецЕсли;
КонецЕсли;

Выполняется метод «НачатьУстановкуВнешнейКомпоненты». Если устанавливается драйвер из конфигурации, методу передается общий макет интеграционной компоненты, если это внешний драйвер – передается навигационная ссылка на реквизит справочника «Драйверы оборудования», в котором храниться архив загруженной компоненты.

Метод «НачатьУстановкуВнешнейКомпоненты» доставляет dll интеграционной компоненты с сервера на клиент и размещает его в специальной папке профиля текущего пользователя: «\AppData\Roaming\1C\1cv8\ExtCompT».

Соответственно, если мы установили обе версии драйвера: из конфигурации и загруженный из файла, пака будет содержать две интеграционные компоненты одной и той же поставки основного драйвера:

Файлы интеграционных компонент

Вот именно из-за этого и возникает выше описанная ситуация. Я думаю, это связано с тем, что обе версии драйвера имеют один и тот же идентификатор.

Если Вы все-таки установили обе версии интеграционной компоненты, решить проблему очень просто. Нужно просто удалить файл со старой версией из папки «ExtCompT», и все.

И так, корректная версия интеграционной компоненты у нас установлена, теперь перейдем непосредственно к самой конфигурации УТ 11.4.

По заявлению компании 1С в релизе УТ 11.4.8.79 от 26.06.2019 реализован механизм печати новых реквизитах в чеках ККМ.

В целом это действительно так, но есть нюансы.

Если печать чека выполняется из документа «Реализация товаров и услуг», реквизиты: «Покупатель» и «ИНН» выводятся только в том случае, если вид покупателя - юридическое лицо. Вот код получения данной информации из процедуры «ПараметрыОперацииФискализацииЧека» модуля менеджера документа реализации:

ВЫБОР  
   КОГДА Контрагенты.ЮрФизЛицо = ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.ЮрЛицо)  
   ТОГДА ДанныеДокумента.Контрагент  
   ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)  
КОНЕЦ КАК Контрагент,

Я думаю, эта ошибка. Исправить ее можно как в тексте запроса, так и дополнить результирующие данные «ПараметрыФискализацииЧека». Доработки можно сделать в основной конфигурации или в расширении.

Кстати, в этом же методе в релизе УТ 11.4.8.84 обнаружена еще одна ошибка. Она не связана с печатью новых реквизитов, но распечатать чек не позволяет. В тексте последнего запроса пакета отсутствует реквизит «Упаковка», к которому потом выполняется обращение.

Ниже исправленный запрос:

ВЫБРАТЬ            
   Товары.НомерСтроки,  
   Товары.СверхЗаказа,          
   Товары.Заказ,
   Товары.АналитикаУчетаНоменклатуры,
   Товары.ТипНоменклатуры,
   Товары.ПодакцизныйТовар,
   Товары.НоменклатураНаименование,
   Товары.ХарактеристикаНаименование,
   Товары.УпаковкаНаименование,
   Товары.КоличествоУпаковок,
   Товары.Упаковка,                        //ИДС_1198_11.07.2019
   Товары.Цена,
   Товары.СуммаСкидки,
   Товары.СтавкаНДС,
   Товары.СуммаСНДС,
   Товары.АлкогольнаяПродукция,
   Товары.ТабачнаяПродукция
ИЗ 
   Товары

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

Есть еще один нюанс. Он связан с выводом кода страны происхождения. Дело в том, что код выводится в чек из специальной колонки справочника стран мира «Код Альфа-3»:

Справочник стран мира

Данная колонка может быть не заполнена. Соответственно, нужно ее заполнить.

В остальном, чеки из документа «Реализация товаров и услуг», печатаются корректно.

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

С платежными документами все обстоит несколько хуже. Рассмотрим на примере документа «Поступление безналичных ДС».

Во-первых

Рспечатать чек можно только для тех клиентов у которых вид контрагента равен «Физическое лицо». Для всех остальных клиентов, например с видом «Индивидуальный предприниматель», ссылка для печати чека отсутствует:

Поступление безналичных ДС

Соответственно, все контрагенты должны иметь вид «Физическое лицо».

Во-вторых

Информация о покупателе и ИНН не передается вообще! Видимо, не доработали. Исправить это не сложно, нужно добавить в расширение функцию «ПараметрыОперацииФискализацииЧека» общего модуля «ДенежныеСредстваСервер» со следующим кодом:

&Вместо("ПараметрыОперацииФискализацииЧека")
Функция ИСП_ПараметрыОперацииФискализацииЧека(ДокументСсылка, СуммаПредоплатыКорректировка, ВерсияФФД)            
   Результат = ПродолжитьВызов(ДокументСсылка, СуммаПредоплатыКорректировка, ВерсияФФД);
   Если ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.ПоступлениеБезналичныхДенежныхСредств") 
        И НЕ ЗначениеЗаполнено(Результат.Получатель) Тогда                        
      Результат.Получатель = ДокументСсылка.Контрагент.НаименованиеПолное;                        
      Результат.ПолучательИНН = ДокументСсылка.Контрагент.ИНН;            
   КонецЕсли;              
   Возврат Результат;
КонецФункции

Дополняем параметры фискализации данными по покупателю в случае, если они не заполнены.

В-третьих

Нет возможности проставить «вручную» номера ГТД и страну происхождения. Например, в бухгалтерии 3.0 это реализовано. О том, как это сделать, можно посмотреть на ИТС.

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

В УТ 11.4 возможности вывода на печать номеров ГТД в чеках на предоплату - нет. Так что, опять же, это нужно дорабатывать. Хотя, на мой взгляд, выводить номера ГТД в чеках на предоплату – это не корректно. Так как реальные ГТД, которые будут при проведении документа «Реализация товаров и услуг» могут отличаться от тех, которые мы укажем вручную в документе оплаты или в заказе. Получится ситуация, что в чеке на предоплату будут одни ГТД, а в Счет-фактуре и в чеке на зачет предоплаты - другие.

Честно говоря, остается только догадываться, чем руководствовались те люди, которые разрабатывали эти нововведения.  

Теперь, что касается печати чеков на зачет авансов.

Компания 1С анонсировала, что данный функционал будет реализован в УТ 11.4.9. Так что ждем нового релиза, и буем пробовать.

Опять же, в Бухгалтерии 3.0 этот функционал был реализован аж в прошлом году.

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

Ну а те, кто уже столкнулся с проблемами, описанными в статье, и успешно их решил, могут просто улыбнуться. Буду рад, если напишите о своем опыте в комментариях к статье.

Для тех, кто использует кассы НЕ АТОЛ или другие конфигурации 1С, вот ссылка на подробное обсуждение этого вопроса. Может быть найдете там нужную Вам информацию.

Ну и ссылка на решение Андрея Карпова. Как обычно, функционал его обработки опережает компанию 1С.

27

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. Rustig 1172 23.07.19 08:58 Сейчас в теме
(0)
На сегодняшний день, последняя версия драйвера для ККТ ДТО 10.5.0.0 и интеграционная компонента для 1С позволяют печатать в чеках и передавать в ОФД новые реквизиты.

Что же касается 1С, то нововведения реализованы не полностью. И это мы говорим об одном из флагманских продуктов: УТ 11.4. В конфигурациях прошлого поколения: УТ 10.3, УПП, ситуация еще хуже.


Разработчики 1с не смогли реализовать преемственность версий - если обновить обработку обслуживания ККТ с сайта 1с, то в 1с начнут выходить ошибки. Проверял на УТ 10.3.
Рекомендация - сохранить рабочую версию обработки обслуживания себе на диск, и держать под рукой...

П.С. Возможно, разработчики 1с рекомендуют обновить УТ 10.3, чтобы обработка обслуживания "взлетела".
Но не всем же это надо....

Я бы пожелал, чтобы в описании обработки обслуживания появилась информация - для каких версий УТ обработка предназначена. И чтобы на сайте 1с были выложены обе обработки - до обновления и после.
4. ids79 3202 23.07.19 09:41 Сейчас в теме
2. Rustig 1172 23.07.19 09:08 Сейчас в теме
(0)
По заявлению компании 1С в релизе УТ 11.4.8.79 от 26.07.2019 реализован механизм печати новых реквизитах в чеках ККМ.

26 июля еще не наступил...
3. ids79 3202 23.07.19 09:41 Сейчас в теме
5. Buldog57 23.07.19 13:54 Сейчас в теме
Нашел статью после того как перепилил код в 1с. А так это конечно ужас. Что так все реализовано.
6. Oleg_N 24 25.07.19 21:10 Сейчас в теме
Спасибо за статью, все описанные методы исправления собрать в одно расширении для последней УТ11 и выложить не планируете?
7. ids79 3202 25.07.19 21:35 Сейчас в теме
(6)Вроде же и так все понятно. Но могу выложить, если нужно.
8. ids79 3202 26.07.19 14:52 Сейчас в теме
Прикрепляю расширение с описанными исправлениями для УТ 11.4.8.84
Прикрепленные файлы:
Исправления для пробития чеков УТ 11.4.8.84.cfe
9. Lapitskiy 902 27.07.19 16:47 Сейчас в теме
+100500 наконец-то нормальная статья на эту тему
10. ids79 3202 27.07.19 21:35 Сейчас в теме
Оставьте свое сообщение