Проанализируем ситуацию: клиент перешел с нестандартной или устаревшей учетной системы (например, самописной или сторонней программы) на типовую конфигурацию 1С (часто это облачная версия 1С:Розница). В ходе настройки мы загрузили количественные остатки ЕГАИС по торговым точкам через стандартный запрос, однако при попытке продажи алкогольной продукции 1С выдает ошибку «неверный статус ЕГАИС». Заглянув в регистр сведений АкцизныеМаркиЕГАИС, мы обнаруживаем, что он абсолютно пуст.
Разберем по шагам, почему возникает данная проблема и какие существуют пути ее решения без остановки продаж в торговой точке.
Для начала выясним причину такого поведения системы. Самому контуру ЕГАИС безразлично, что именно хранится в регистрах вашей 1С, главное — чтобы эти марки числились за вашей организацией на балансе во ФСРАР. Однако 1С ведет собственный строгий учет.
Когда вы выполняете стандартный запрос остатков из ЕГАИС, система загружает только количественные данные в разрезе справок формы 2 (РФУ2). Сам ЕГАИС не отдает список марок единым массивом. Получить список марок программно можно только запрашивая остатки по каждой конкретной справке, причем частота таких запросов жестко лимитирована (например, один раз в 10 минут). Если у вас тысячи бутылок, автоматический поштучный опрос займет колоссальное количество времени.
При этом для корректного оформления продажи типовая 1С должна убедиться, что сканируемая акцизная марка имеет в локальной базе статус «В наличии». Если марки в регистре нет, появляется упомянутая ошибка. Рассмотрим подробнее, как мы можем легально и быстро заполнить этот регистр.
Посмотрим на самый надежный метод — помарочную инвентаризацию. Поскольку сканирование тысяч бутылок на кассе парализует работу магазина, мы применим хитрость с фоновой загрузкой марок.
.txt или .csv). Этот процесс можно выполнять параллельно с работой магазина, стараясь не затрагивать те бутылки, которые покупатели уже несут на кассу.После проведения этих документов регистр 1С заполнится нужными статусами, и продажи пойдут без ошибок.
Если алкоголь уже числится у вас на партионном балансе (Регистр 1), но цифровые идентификаторы отсутствуют на помарочном учете (Регистр 3) в системе 1С, мы можем воспользоваться специальным документом.
Разберем алгоритм работы:
ЕГАИС на своей стороне проверит эти марки. Если они ранее не были проданы или списаны, он зафиксирует их за вашей организацией на 3-м регистре. Как только придет положительный тикет (ответ) от УТМ, 1С автоматически запишет в свой регистр АкцизныеМаркиЕГАИС статус «В наличии» для каждой отсканированной бутылки.
Этот вариант отлично подходит, если вы точно знаете, что большинство бутылок на полках — это недавние поступления, по которым можно легко восстановить входящие накладные. Поскольку обычный запрос остатков не тянет марки, мы заставим 1С заново «прочитать» XML-файлы накладных.
Этот способ позволяет восстановить базу марок вообще без физического сканирования бутылок, однако он может не покрыть старые запасы, которые висят на остатках годами.
Если вы используете локальную (не облачную) версию 1С и конфигурация не является базовой (где закрыт конфигуратор), можно временно отключить проверку на уровне кода 1С. Важно: мы не рекомендуем этот способ для постоянной работы, так как это нарушает логику контроля, но в экстренной ситуации это может спасти магазин от простоя.
В типовых конфигурациях, поддерживающих маркировку в целом, часто есть настройка вроде «Контролировать статус марок при продаже». Однако для ЕГАИС такая галочка выведена не везде. Программист может найти функцию, отвечающую за проверку, и закомментировать код, принудительно возвращая Истина.
// Пример модификации функции проверки в расширении
&Вместо("ПроверитьСтатусМаркиЕГАИС")
Функция Расш1_ПроверитьСтатусМаркиЕГАИС(ШтрихкодМарки, Организация)
// Отключаем строгую проверку по локальным регистрам
// Возвращаем Истина, доверяя проверке на стороне УТМ
Возврат Истина;
КонецФункции
При таком подходе контроль перекладывается исключительно на локальную базу самого УТМ (так называемый Query-фильтр). Если связи с серверами ФСРАР нет, УТМ проверит марку по своей зашифрованной кэш-базе. Но если марка реально не числится за вашей организацией в ЕГАИС, при пробитии чека от УТМ всё равно придет отказ (отлуп), и продажа не состоится. Поэтому ЕГАИС в любом случае вас подстрахует.
В облачных версиях 1С (как у автора вопроса) доступ к конфигуратору закрыт, поэтому этот путь недоступен, и необходимо использовать способы 1, 2 или 3.
При пересканировании магазина вы неизбежно столкнетесь с бутылками, у которых повреждена или выцвела акцизная марка (особенно на старых запасах). Система 1С позволяет решить и эту проблему.
Создадим документ Запрос акцизных марок ЕГАИС. Указав данные Справки 2 (РФУ2), к которой привязана эта бутылка, мы можем отправить запрос на сервер ФСРАР. В ответ ЕГАИС пришлет электронный идентификатор штрихкода (саму последовательность символов). После этого прямо из 1С можно будет распечатать дубликат штрихкода на принтере этикеток и успешно пробить этот товар на кассе.
Подведем итоги. При переходе с другой учетной системы на 1С пустой регистр акцизных марок — это нормальная ситуация, так как ЕГАИС не хранит историю для выгрузки единым пакетом. Оптимальным решением будет пересканирование фактических остатков торгового зала в текстовый файл с последующей загрузкой в Инвентаризацию ЕГАИС, а также параллельный перезапрос недавних ТТН через личный кабинет ФСРАР. Это позволит быстро синхронизировать локальную базу с ЕГАИС и начать продажи в рамках законодательства.