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

22.07.19

Разработка - Механизмы типовых конфигураций

Новые требования законодательства по пробитию чеков ККМ при расчетах с индивидуальными предпринимателями по безналу. Нюансы подключения интеграционной компоненты ДТО 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С.

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

См. также

СКД Механизмы типовых конфигураций Запросы Программист Платформа 1С v8.3 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

Работая с типовыми отчетами в конфигурациях «Зарплата и управление персоналом, редакция 3», «Зарплата и кадры государственного учреждения, редакция 3» и подобных, в схемах компоновки данных можно встретить конструкции запросов, которые обращаются к некоторым виртуальным таблицам.

20.08.2024    1737    PROSTO-1C    0    

18

Механизмы типовых конфигураций Программист Платформа 1С v8.3 1С:Комплексная автоматизация 2.х Россия Бесплатно (free)

Эта ошибка была обнаружена мной в типовой конфигурации 1С:Комплексная автоматизация 2 (2.5.16.115), БСП версия 3.1.9.302. Возникает она после того, как вы добавляете в расширение бизнес-процесс или задачу, выполняете обновление идентификаторов метаданных расширений, но ошибка при записи любого элемента справочника "Профили групп доступа" всё равно остаётся.

01.07.2024    1746    Vidz    0    

11

Механизмы типовых конфигураций Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Очень часто в написании кода требуется обращаться к предопределённым значениям. Если идёт обращение к типовым предопределённым значениям, то проблем не возникает.

24.06.2024    1106    olja-ljaaa    0    

3

Механизмы типовых конфигураций Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Статистическая выборка сценариев и точек изменения отчетов на общей форме ФормаОтчета в типовых конфигурациях. Примеры кода.

03.06.2024    4891    Serg2000mr    32    

108

Механизмы типовых конфигураций Ценообразование, анализ цен Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Россия Абонемент ($m)

Продолжение темы вынесения кусков повторно-используемого кода в запрос. В прошлый раз мы сделали это с вычислением пользовательских формул. Здесь замахнулись на формулы, задаваемые пользователем запросами.

1 стартмани

11.04.2024    1058    tango    5    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. RustIG 1747 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 8535 23.07.19 09:41 Сейчас в теме
(1)Спасибо за дополнение
2. RustIG 1747 23.07.19 09:08 Сейчас в теме
(0)
По заявлению компании 1С в релизе УТ 11.4.8.79 от 26.07.2019 реализован механизм печати новых реквизитах в чеках ККМ.

26 июля еще не наступил...
3. ids79 8535 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 8535 25.07.19 21:35 Сейчас в теме
(6)Вроде же и так все понятно. Но могу выложить, если нужно.
8. пользователь 26.07.19 14:52
Сообщение было скрыто модератором.
...
9. Lapitskiy 1061 27.07.19 16:47 Сейчас в теме
+100500 наконец-то нормальная статья на эту тему
10. ids79 8535 27.07.19 21:35 Сейчас в теме
11. Vintik-vint 10.09.19 12:25 Сейчас в теме
Вот так всегда, сначала придумают где то и кто то, а потом только делают. Всех бы за это на кол. :-) Кругом сплошные не доработки, а потом удивляемся почему нам выписывают не те таблетки.
Спасибо.
12. user900554 19.09.19 16:58 Сейчас в теме
Непонятно, зачем делать доработку печати ИНН в чеке при безналичных расчетах (как в статье)? Читаем внимательно закон 192-ФЗ от 03.07.2018:

Новые обязательные реквизиты в чеки ККТ (наименование и ИНН покупателя) должны заполняться в чеке ККТ, начиная с 01.07.19, при расчетах наличными с юридическими лицами и индивидуальными предпринимателями. А также оплате по платежной карте.
13. ids79 8535 19.09.19 17:27 Сейчас в теме
(12)Есть много способов оплаты НЕ с расчетного счета клиента, по которым НЕОБХОДИМО печатать чеки. Эти оплаты поступают к нам на расчетный счет, и являются для нас безналичным поступленим. Иногда сложно определить, как именно заплатил клиент. По этому некоторые компании пробивают чеки на все поступления.
14. and_r 03.10.19 08:12 Сейчас в теме
Большое спасибо за статью, благодаря Вам смог решить проблему с печатью данных контрагента в чеке из документа "Корректировка долга", БП3
15. ids79 8535 03.10.19 09:24 Сейчас в теме
16. zamaza 15.10.19 12:56 Сейчас в теме
(15)Все круто, действительно после удаления файла получается установить новую компоненту. Но после нового запуска 1с компонента не установлена. И при установке снова ставится старая версия. в папке \Roaming\1C\1cv8\ExtCompT снова появляется старый файл. Что я делаю не так?
17. ids79 8535 15.10.19 18:06 Сейчас в теме
(16)Сложно сказать не видя. Возможно Вы устанавливаете компоненту из старого шаблона.
Оставьте свое сообщение