В практике работы с ЕГАИС часто возникает неприятная ситуация: розничные продажи успешно проходят, алкогольная продукция списывается с Регистра 3 (поштучный учет марок), но при этом остатки на Регистре 1 (склад) продолжают висеть. В результате возникает «рассинхрон», который мешает корректному ведению учета и может привести к претензиям со стороны контролирующих органов. Рассмотрим подробнее, почему это происходит и как исправить ситуацию, когда стандартный акт списания не принимается системой.
Проанализируем ситуацию: при попытке отправить акт списания с причиной «Иные цели» без указания марок, УТМ (Универсальный транспортный модуль) возвращает ошибку: «Количество указанных марок не соответствует количеству списываемой продукции». Это происходит из-за того, что для продукции, переведенной на поштучный учет (новые марки), ЕГАИС требует жесткого соответствия каждой единицы товара конкретной марке в XML-файле.
Если мы заглянем в структуру XML-документа, который вызывает ошибку, мы увидим следующее:
-<awr:Position>
<awr:Identity>1</awr:Identity>
<awr:Quantity>1</awr:Quantity>
-<awr:InformF1F2>
-<awr:InformF2>
<pref:F2RegId>FB-00000ххххххххххх</pref:F2RegId>
</awr:InformF2>
</awr:InformF1F2>
-<awr:MarkCodeInfo>
<ce:amc/>
</awr:MarkCodeInfo>
</awr:Position>
В данном примере тег <ce:amc/> пуст. Для системы это выглядит как логическое противоречие: в поле Quantity указана 1 единица, а в блоке MarkCodeInfo передано 0 марок. Поскольку продукция числится как поштучная, УТМ блокирует такой документ еще на этапе валидации.
Прежде чем пытаться «протолкнуть» списание, нам необходимо убедиться, что марки действительно отсутствуют на 3-м регистре. Иногда учетная система показывает отсутствие марок, хотя в базе ЕГАИС они еще числятся за справкой 2. Выясним это, отправив запрос QueryRestBCode.
Для этого в вашей программе (1С:Розница, 1С:УТ или сторонний софт) нужно сформировать запрос остатков марок по конкретному идентификатору F2RegId (справка FB). Если ответ придет пустым, значит, ситуация подтверждается: на Р1 товар есть, на Р3 — нет. Если же марки вернутся в ответе, их нужно просто скопировать и вставить в акт списания — тогда проблема решится стандартным способом.
Разберем технический нюанс формирования XML. Некоторые версии УТМ позволяют списать продукцию по причине «Иные цели» без марок, если блок MarkCodeInfo полностью отсутствует в структуре файла, а не просто пуст. Попробуем скорректировать файл, удалив упоминание о марках совсем:
<awr:Position>
<awr:Identity>1</awr:Identity>
<awr:Quantity>1</awr:Quantity>
<awr:InformF1F2>
<awr:InformF2>
<pref:F2RegId>FB-00000XXXXXXXXXX</pref:F2RegId>
</awr:InformF2>
</awr:InformF1F2>
<!-- Блок MarkCodeInfo полностью удален -->
</awr:Position>
Важный момент: Если товар имеет признак «поштучный», этот метод может не сработать, и УТМ выдаст ошибку о необходимости указания штрихкодов. Однако для партионной продукции или переходных периодов это является рабочим решением.
Если программные методы не помогают, и система продолжает требовать марки, которых нет, необходимо обратиться к функционалу Личного кабинета ФСРАР (service.fsrar.ru). Посмотрим, что можно сделать там:
QueryRestBCode.Рассмотрим рекомендации, которые часто дает техподдержка: списывать с причиной «Иные цели». На практике это работает только если оператор ЕГАИС на стороне сервера временно снимает проверку марок для вашей организации после обращения.
Проанализируем правильный алгоритм взаимодействия с госорганами в этой ситуации:
Чтобы минимизировать появление таких проблем в будущем, рекомендуем:
Ситуация с зависшими остатками на первом регистре при пустом третьем — это классическая ошибка синхронизации баз данных ЕГАИС. Самостоятельно «обмануть» систему, подсунув ей пустой блок марок, в современных реалиях поштучного учета практически невозможно. Основной путь решения — это фиксация ошибки и получение разрешения от техподдержки на ручную корректировку или списание через специальный тип документа.