С 1 сентября 2022 года, с введением объемно-сортового учета (ОСУ) для молочной продукции, многие оптовые компании, использующие 1С:Комплексная автоматизация 2.5 (КА 2.5), столкнулись с неожиданной проблемой — для решения подобных задач есть сервис сверки остатков маркировки с Честным знаком. При попытке пробить кассовый чек из Приходного кассового ордера (ПКО) после получения наличной оплаты от розничных клиентов, программа выдает ошибку: "Пробитие чеков при объемно-сортовом учете не поддерживается". Разберем эту ситуацию подробнее, выясним причины возникновения ошибки и рассмотрим возможные пути ее решения.
Мы понимаем, что как оптовики, вы работаете по следующей стандартной схеме: получаете маркированную продукцию от поставщиков, оформляете ее приемку (в т.ч. через маркировку на ТСД), а затем оформляете документ Реализация товаров и услуг (РТиУ) и отправляете Универсальный Передаточный Документ (УПД) по ЭДО своим клиентам — для этого есть автоматическое формирование УПД для ЭДО с маркировкой. Оператор ЭДО, в свою очередь, передает данные о движении маркированной продукции (GTIN и количество) в систему "Честный знак" (в этом поможет выгрузка УПД в ЭДО Лайт). Однако, если клиент рассчитывается наличными или банковской картой, возникает необходимость пробить кассовый чек в соответствии с 54-ФЗ, детализируя наименования отпущенного товара.
Конфликт возникает из-за того, что данные о выбытии или передаче маркированных товаров уже были переданы в "Честный знак" через ЭДО. Если кассовый чек, помимо фискальных данных об оплате, будет содержать сведения о маркировке (GTIN), это может привести к повторному выводу товара из оборота в системе "Честный знак", что является некорректным. Именно для предотвращения такого дублирования система 1С в текущей реализации блокирует пробитие чеков с маркировкой при ОСУ.
Фирма "1С" признает эту проблему, и ее официальный ответ подтверждает, что "Пробитие Чеков ККТ с ОСУ законодательно не поддержано" в текущем виде — решается через обработка для обслуживания онлайн-касс с ФФД 1.2. Наша задача – найти решение, которое позволит соблюдать законодательство о ККТ, не нарушая правила оборота маркированных товаров.
Для сценария, когда оптовая продажа осуществляется с наличной оплатой или оплатой банковской картой, и при этом УПД оформляется по ЭДО, существуют следующие рекомендации:
1. Использование ЭДО как основного канала передачи данных в "Честный знак":
2. Оформление кассового чека без кодов маркировки (только как подтверждение оплаты):
Рассмотрим, как это можно реализовать в 1С:КА 2.5.
Фирма "1С" предлагает использовать определенные сценарии оформления документов, которые позволяют пробивать кассовые чеки без передачи кодов маркировки. Основная идея заключается в том, чтобы чек фиксировал только факт оплаты, а не отгрузку товара с маркировкой. Для этого рекомендуется использовать чеки с признаком способа расчета "Оплата кредита" или "Предоплата", так как в таких чеках передача кодов маркировки не предусмотрена.
Рассмотрим пошагово несколько сценариев:
Сценарий 1: Отдельное оформление РТиУ и ПКО в один день (без Заказа клиента)
Реализация товаров и услуг. В этом документе мы отражаем отгрузку маркированной молочной продукции и передаем коды GTIN через ЭДО в "Честный знак".Приходный кассовый ордер для фиксации наличной оплаты.Сценарий 2: Отдельное оформление РТиУ и ПКО в разные дни
Этот сценарий аналогичен первому, но с временным разрывом между отгрузкой и оплатой.
Реализация товаров и услуг, отражая отгрузку и передавая маркировку через ЭДО.Приходный кассовый ордер на основании ранее созданного Реализация товаров и услуг.Сценарий 3: Продажа по Заказу клиента с предварительной оплатой
Этот вариант подходит, если вы работаете через механизм заказов.
Заказ клиента.Заказу клиента, оформляем документ Реализация товаров и услуг, который фиксирует отгрузку и передает коды маркировки в УПД по ЭДО в "Честный знак".При использовании этих сценариев, в чеках на оплату без отгрузки (виды расчетов – "Аванс", "Предоплата", "Оплата кредита") передача кодов маркировки не предусмотрена. Однако, мы должны признать, что использование признака "Оплата кредита" может показаться "корявым", если отсутствует соответствующий чек на "Передачу в кредит". Тем не менее, это является рекомендуемым способом обхода текущего ограничения.
Если стандартные механизмы не устраивают или необходим более прямой способ решения, можно рассмотреть доработку конфигурации 1С. Цель такой доработки – принудительно исключить передачу штрихкода (GTIN) маркированной продукции в параметры фискального чека, когда он пробивается из ПКО для оптовой продажи.
Пользователи подтвердили, что ошибка "Пробитие чеков при объемно-сортовом учете не поддерживается" на самом деле возникает на стороне кассы или ее драйвера, когда она пытается обработать полученный штрихкод в неподдерживаемом для ОСУ режиме. Следовательно, если мы предотвратим передачу этого штрихкода в кассу, проблема исчезнет.
Мы можем реализовать это, модифицировав модуль, отвечающий за формирование параметров фискального чека. Для 1С:Комплексная автоматизация (КА), а также для некоторых других конфигураций, таким модулем может быть:
ФормированиеПараметровФискальногоЧекаСерверПереопределяемый
В этом модуле нам потребуется найти процедуру, отвечающую за обновление параметров позиций чека для единого чека или связанного документа. Например:
ОбновитьПараметрыФискальногоЧекаПозицийЧекаЕдиныйЧек(...)
Внутри этой процедуры или в связанной с ней логике, нам необходимо найти место, где происходит присвоение штрихкода или GTIN к параметрам позиции чека. Наша задача – занулить или очистить это значение перед передачей в кассу, но только для случаев, когда речь идет о пробитии чека из ПКО для маркированной молочной продукции при ОСУ и когда данные уже ушли по ЭДО.
Пример концептуальной доработки (требует детального анализа вашей конкретной версии конфигурации и механизма формирования чеков):
// Предполагаемый фрагмент кода в процедуре формирования параметров чека
// ...
Если ПараметрыЧека.ДокументОснование.Метаданные().Имя = "ПриходныйКассовыйОрдер" Тогда
// Проверяем, является ли товар маркированным молоком и используется ли ОСУ
Для Каждого ПозицияЧека Из ПараметрыЧека.Позиции Цикл
// Дополнительная логика для определения, является ли это молочной продукцией
// и не была ли маркировка уже выведена через ЭДО
Если ПозицияЧека.ЭтоМаркируемыйТоварМолоко И Не ПозицияЧека.МаркировкаУжеОтправленаЧерезЭДО Тогда
// Если да, то оставляем штрихкод
Иначе
// В противном случае, для маркированного молока по ОСУ, зануляем штрихкод
ПозицияЧека.Штрихкод = "";
ПозицияЧека.КодМаркировки = ""; // Возможно, также потребуется занулить КодМаркировки
КонецЕсли;
КонецЦикла;
КонецЕсли;
// ...
Важные моменты при доработке:
Один из пользователей форума предложил простой, но эффективный обходной путь, который не требует модификации кода, но имеет свои особенности. Суть метода заключается в изменении даты Приходного кассового ордера:
Приходного кассового ордера (ПКО) после получения наличной оплаты, мы искусственно меняем его дату на вчерашнюю.Нюансы этого обходного пути:
Понимание правовой базы поможет нам глубже осознать причины проблемы и правильность предложенных решений:
Проблема невозможности пробития кассовых чеков при объемно-сортовом учете маркированной молочной продукции в 1С:КА 2.5 является известным ограничением, возникшим на стыке законодательных требований и реализации функционала. Мы рассмотрели несколько подходов к ее решению:
Приходного кассового ордера на "вчерашнюю", что обходит логику передачи штрихкода, но может иметь последствия для кассовой дисциплины.Каждый из этих методов имеет свои преимущества и недостатки. Выбирайте тот, который наиболее соответствует вашим бизнес-процессам, внутренним регламентам и возможностям по доработке системы. Главное, помните, что для оптовых продаж маркированной молочной продукции данные в "Честный знак" о движении товара в первую очередь должны поступать через ЭДО, а кассовый чек должен подтверждать лишь факт оплаты.