Автоматизация выбытия маркированных медикаментов при розничной продаже через ККМ — это сложный процесс, который требует не только правильной настройки оборудования, но и корректной передачи фискальных данных. Давайте вместе разберемся, как реализовать этот механизм и почему возникают основные сложности при обмене данными с системой «Честный ЗНАК».
Первое, что необходимо уяснить: выбытие через ККМ — это не мгновенное списание товара из вашего личного кабинета в системе маркировки. Процесс строится на цепочке передачи данных: ККТ -> ОФД -> ИС МДЛП (Честный ЗНАК). Система маркировки обрабатывает чеки в асинхронном режиме. Поэтому первым делом, если вы видите, что товар не списался в тот же день, не спешите перенастраивать код — вполне вероятно, что данные находятся в очереди на обработку.
Для отслеживания статуса выбытия используйте раздел «Реестр КИЗ, ожидающих вывода из оборота по ОФД» в личном кабинете «Честного ЗНАКа». В этом реестре данные могут появляться с задержкой от нескольких дней.
Для корректного выбытия лекарственных препаратов через кассу необходимо правильно формировать фискальный пакет. Важно корректно передавать теги, отвечающие за идентификацию товара и налоговые ставки. Рассмотрим пример реализации на языке 1С:
// Пример корректной передачи тегов маркировки после операции
Если Маркировка = 1 Тогда
ДрайверККМ.TagNumber = 1084;
ДрайверККМ.FNBeginSTLVTag;
my_TagID = ДрайверККМ.TagID;
ДрайверККМ.TagNumber = 1085;
ДрайверККМ.TagType = 7;
ДрайверККМ.TagValueStr = "mdlp";
ДрайверККМ.FNAddTag;
ДрайверККМ.TagNumber = 1086;
ДрайверККМ.TagType = 7;
ДрайверККМ.TagValueStr = "sid" + Отдел.ИД + "&";
ДрайверККМ.FNAddTag;
ДрайверККМ.FNSendSTLVTag;
Маркировка = 0;
КонецЕсли;
Если ПустоеЗначение(СГТИН) = 0 Тогда
гтин = Сред(СокрЛП(СГТИН), 1, 14);
серия = Сред(СокрЛП(СГТИН), 15, 13);
ДрайверККМ.MarkingType = 17485; // Тип маркировки для лекарств
ДрайверККМ.GTIN = гтин;
ДрайверККМ.SerialNumber = серия;
ДрайверККМ.FNSendItemCodeData;
// Тег 1191 для передачи данных о маркировке
ДрайверККМ.TagNumber = 1191;
ДрайверККМ.TagType = 7;
ДрайверККМ.TagValueStr = "mdlp";
ДрайверККМ.FNSendTagOperation;
КонецЕсли;
Одной из частых причин отказа системы маркировки в списании товара является отсутствие данных об НДС. Даже если ваша организация работает на спецрежиме (например, УСН) и не является плательщиком НДС, система «Честный ЗНАК» при обработке чеков по схеме 10511 ожидает получения информации о ставке и сумме налога.
Чтобы решить эту проблему, необходимо следовать следующим правилам:
1199 (ставка НДС) установите значение 6, что соответствует статусу «НДС не облагается».1200 (сумма НДС) передавайте не ноль, а полную стоимость предмета расчета.Важно помнить, что при таких значениях сумма НДС в ИС МДЛП не передается как налоговый платеж, но обязательна для самого факта завершения цепочки выбытия. Если кассовый аппарат или драйвер не позволяют передать эти теги, проверьте актуальность прошивки ККТ и версию используемого драйвера (рекомендуется использование версий АТОЛ 10.8 и выше).
Если вы столкнулись с тем, что выбытие не происходит, выполните следующие шаги:
items присутствуют все необходимые поля, а теги 1199 и 1200 заполнены согласно требованиям.SGTIN через документы может привести к ошибкам дублирования или отказам.Следуя этим рекомендациям и правильно настроив вызов функций FNSendTagOperation и FNSendItemCodeData, вы сможете добиться стабильного выбытия лекарственных препаратов через ККТ. Помните, что основной ключ к успеху — это корректное заполнение всех обязательных тегов и ожидание обработки данных со стороны оператора маркировки.