В современных реалиях работы с маркируемой продукцией (система «Честный ЗНАК») пользователи часто сталкиваются с ситуацией, когда товар списывается с остатков организации раньше времени. Особенно остро эта проблема проявилась в релизах 1С:Управление торговлей начиная с версии 11.5.12. В данной статье мы подробно разберем, почему при пробитии чека из документа Реализация товаров и услуг маркируемый товар выводится из оборота, как это связано с форматом фискальных данных 1.2 и что нужно изменить в настройках или коде программы, чтобы сохранить возможность передачи товара через ЭДО.
Рассмотрим стандартный бизнес-процесс: организация продает маркированный товар другому юридическому лицу или ИП. По закону, основным способом передачи прав на такие товары является использование электронного документооборота (ЭДО) и передача универсального передаточного документа (УПД). Однако, если покупатель вносит оплату наличными или картой, продавец обязан пробить кассовый чек.
Проанализируем, что происходит в системе 1С при обновлении на новые релизы. В формате ФФД 1.2 кассовый аппарат (ККТ) и фискальный накопитель обязаны передавать сведения о кодах маркировки в ОФД, который, в свою очередь, транслирует их в «Честный ЗНАК». Как только чек пробит с указанием кода маркировки (тег 1163), система маркировки автоматически фиксирует «Розничную продажу» и выводит код из оборота. Если после этого вы попытаетесь отправить УПД по ЭДО, возникнет ошибка, так как марка уже не принадлежит вашей организации.
В типовой конфигурации 1С:Управление торговлей 11.5 механизм пробития чеков из документа Реализация товаров и услуг для юридических лиц зачастую ограничен программно. Это сделано специально, чтобы разделить процессы фискализации платежа и выбытия маркировки. Разберем по шагам, как определить, не является ли причиной проблемы вмешательство в программный код.
Посмотрим на пример кода, который часто встречается в расширениях для «обхода» типовых ограничений. Если в вашей базе есть расширение, переопределяющее функцию проверки возможности печати чека, это и есть корень проблемы. Проанализируем типичный фрагмент кода:
&Вместо("РазрешеноПробитиеФискальныхЧековПоДокументу")
Функция И11_РазрешеноПробитиеФискальныхЧековПоДокументу(Форма) Экспорт
// Принудительное разрешение печати чека из любого документа
Возврат Истина;
КонецФункции
Когда программист устанавливает безусловный возврат Истина, система начинает считать документ реализации подходящим для розничной фискализации. В итоге, при нажатии кнопки «Пробить чек», 1С собирает все данные о товарах, включая коды маркировки, и отправляет их в драйвер ККТ. Согласно правилам ФФД 1.2, драйвер обязан включить эти коды в состав чека, что и инициирует автоматическое списание в ГИС МТ.
Для решения проблемы нам необходимо разделить фискальный платеж и выбытие марки. Рассмотрим основные способы исправления ситуации:
6 (Передача в кредит) или 5 (Частичная оплата и кредит), для ФФД 1.2 наличие кода маркировки в чеке все равно является триггером для проверки и возможного выбытия. Поэтому простое изменение способа расчета не решит проблему автоматического списания.Рассмотрим подробнее, как программно подавить передачу маркировки в чек. В модулях фискализации 1С существует логика формирования структуры ПараметрыФискализации. Нам необходимо убедиться, что для документов реализации, предназначенных для юрлиц, массив Товары не содержит структуру КодМаркировки.
Проанализируем пример модификации логики перед вызовом печати:
// Пример логики в расширении перед передачей данных в драйвер ККТ
Для Каждого СтрокаТовара Из ПараметрыФискализации.ТаблицаТоваров Цикл
Если ЗначениеЗаполнено(ПокупательЮрЛицо) Тогда
// Очищаем код маркировки, чтобы избежать выбытия через чек
СтрокаТовара.КодМаркировки = Неопределено;
СтрокаТовара.ДанныеМаркировки = Неопределено;
КонецЕсли;
КонецЦикла;
Такой подход позволит пробить чек, соблюдая требования 54-ФЗ об обязательной фискализации расчетов, но при этом «сохранит» маркировку для последующей передачи через ЭДО. В чеке товар будет отображен без признака [M], что является корректным для B2B-сделок, где передача прав собственности не является розничной продажей.
Важно понимать официальную позицию: при расчетах между организациями и ИП через ККТ, если происходит передача товара, сведения о маркировке могут передаваться в чеке (с указанием ИНН покупателя), но на практике этот механизм работает крайне нестабильно из-за сложности поддержки всеми звеньями (1С -> Драйвер -> ККТ -> ОФД -> ГИС МТ). Поэтому эксперты рекомендуют использовать ЭДО как приоритетный канал передачи сведений о смене собственника маркируемого товара. Чек в данном случае должен лишь подтверждать факт приема денежных средств.
Резюмируем: если после обновления 1С:УТ 11.5 вы заметили преждевременное списание марок, первым делом проверьте наличие расширений, влияющих на функцию РазрешеноПробитиеФискальныхЧековПоДокументу. Приведите логику работы системы в соответствие с требованиями ФФД 1.2, исключив передачу кодов маркировки в чеки для B2B-клиентов.