Уже наверно многие в курсе, что с 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С.