Рассмотрим распространенную проблему, с которой сталкиваются пользователи решений «1С:Розница», «1С:Управление торговлей» и других кассовых программ при реализации алкогольной продукции. При попытке пробить чек на кассе ККТ выдает критическую ошибку: «При выполнении операции произошла ошибка: Сервер отклонил запрос: 1: Проверка не пройдена...» и далее следует длинная строка с кодом акцизной марки. Примечательно, что эта ошибка может возникать хаотично — «через раз» или строго в определенные пиковые часы.
Давайте подробно разберем, почему возникает этот сбой, как функционирует механизм проверки марок в ЕГАИС и какими способами можно полностью решить данную проблему.
---
Самой частой и очевидной причиной, по которой ЕГАИС блокирует чек, является попытка повторной продажи одной и той же акцизной марки. Система контроля алкогольного рынка жестко пресекает повторный оборот уникальных идентификаторов. Это может происходить по следующим причинам:
---
Выясним причину странного поведения системы, когда в пиковые часы (например, с 17:00 до 19:00) чеки с новыми марками перестают пробиваться, а затем продажи возобновляются. Дело в алгоритме работы Универсального транспортного модуля (УТМ) и правилах обработки запросов:
---
Проанализируем технический нюанс, связанный с доработкой кода 1С. Иногда ошибка «Проверка не пройдена» в ЕГАИС возникает из-за некорректно рассчитанной цены с учетом скидки, которая передается в XML-пакете. Государство жестко контролирует минимальные розничные цены (МРЦ) на алкоголь. Если кассовая программа передает в УТМ сумму скидки вместо итоговой цены за единицу товара, УТМ расценивает это как продажу ниже МРЦ и отклоняет чек.
Например, в некоторых старых релизах конфигураций «Управление торговлей 10.3» или «Розница» наблюдалась системная ошибка в расчетах. Для исправления ситуации требуется скорректировать программный код в общем модуле ИнтеграцияЕГАИСКлиент.
Рассмотрим пример кода, где была допущена ошибка:
// Ошибочный вариант: в ЕГАИС передавалась некорректная цена
СтрокаЧека.Цена = Окр(СтрокаТаблицы.Цена * СтрокаТаблицы.Скидка * 0.01, 2);
Для исправления алгоритма и передачи корректной итоговой цены за вычетом скидки необходимо заменить эту строку на следующую конструкцию:
// Исправленный вариант расчета итоговой цены для ЕГАИС
СтрокаЧека.Цена = Окр(СтрокаТаблицы.Цена - (СтрокаТаблицы.Цена * СтрокаТаблицы.Скидка * 0.01), 2);
---
Новые типы акцизных марок (поштучный учет, DataMatrix) требуют мгновенного онлайн-взаимодействия с серверами ЕГАИС. В отличие от старых марок, которые могли накапливаться в буфере, новые форматы очень чувствительны к качеству интернет-соединения в момент закрытия чека. Если на торговой точке интернет пропадает хотя бы на доли секунды, УТМ может аварийно прервать сессию проверки, выдав ошибку невалидности марки.
Для диагностики стабильности сетевого подключения мы рекомендуем запустить непрерывный мониторинг связи (пинг) с записью логов в текстовый файл. Для этого выполните команду в консоли Windows (CMD):
ping -t ya.ru > C:\1.txt
Анализ полученного файла поможет выявить скрытые микросбои провайдера или роутера в моменты пиковых нагрузок.
---
Чтобы оперативно устранить ошибку и вернуть кассу в рабочее состояние, выполните следующие действия по шагам:
Прежде чем менять настройки программного обеспечения, необходимо проверить легальность и текущий статус заблокированной марки. Перейдите на официальный портал проверки ЕГАИС (check1.fsrar.ru) в раздел «Проверка статуса штрихкода». Отсканируйте марку и проанализируйте ее историю движения. Если марка имеет статус «В архиве», «Списано актом» или числится проданной по чеку в другом магазине, продавать данную бутылку нельзя — ее необходимо убрать с витрины и составить акт списания.
Для локальной диагностики причин отказа откройте папку транспортного модуля на вашем компьютере, где установлен УТМ (обычно это путь C:\UTM\transporter\xml). Найдите XML-файлы запросов и ответов, созданные в момент ошибки. Откройте их с помощью стандартного блокнота и найдите тег с описанием ошибки. Это позволит точно понять, почему именно УТМ отклонил чек.
Убедитесь, что у вас установлена актуальная версия УТМ. В старых версиях (например, 2.0.4) присутствовал зарегистрированный баг, из-за которого модуль ошибочно признавал уникальные коды повторами. Обновите УТМ до актуальной версии. Перед обновлением обязательно убедитесь, что все входящие документы (ТТН) подтверждены, и сделайте резервную копию базы данных УТМ. Иногда помогает простое обновление настроек в домашней странице УТМ (вкладка «Обновить настройки»).
Если марка физически находится перед вами, статус на портале ФСРАР показывает, что она числится проданной на вашей кассе, но при этом физически чек на ККТ не напечатался (произошел сбой), вам необходимо вернуть марку в оборот. Для этого: