При работе с алкогольной продукцией в программе 1С:Розница пользователи часто сталкиваются с ситуацией, когда штатный обмен с ЕГАИС прерывается критической ошибкой. Текст ошибки обычно выглядит так: При загрузке документа с типом ReplyRestsShop_v2 возникла ошибка: Не найден документ с идентификатором запроса.... Рассмотрим подробнее, почему возникает эта проблема и как её решить несколькими способами.
Прежде чем приступать к лечению, проанализируем ситуацию. Система взаимодействия 1С и ЕГАИС работает по принципу «запрос — ответ». Когда вы нажимаете кнопку «Запросить остатки» или «Выполнить обмен», 1С генерирует уникальный идентификатор (GUID) сообщения и отправляет его в УТМ (Универсальный транспортный модуль). УТМ передает запрос на сервер Росалкогольрегулирования, получает ответ и сохраняет его во входящей очереди.
Когда 1С инициирует следующий сеанс обмена, она просматривает входящую очередь УТМ. Если во входящих лежит ответ на запрос, который 1С не отправляла (или о котором она «забыла»), программа не может сопоставить этот ответ ни с одним внутренним объектом и выдает ошибку. Выделим основные сценарии возникновения этой коллизии:
Запрос остатков ЕГАИС из информационной базы до того, как пришел ответ.Рассмотрим пошагово способы устранения этой ошибки.
Это самый эффективный и быстрый метод. Нам необходимо принудительно удалить из очереди УТМ сообщение, которое вызывает сбой. Для этого мы воспользуемся утилитой curl, которая встроена в современные версии Windows (10 и 11).
Сначала внимательно прочитаем текст ошибки в 1С. Нам нужна ссылка, указанная в сообщении, например: http://localhost:8080/opt/out/ReplyRestsShop_v2/187.
Выполним следующие действия:
cmd и нажмите Enter.
curl -X DELETE http://localhost:8080/opt/out/ReplyRestsShop_v2/187
Важно: Адрес ссылки (цифры в конце) должен полностью соответствовать тому, что написано в вашей ошибке. После нажатия Enter сообщение будет удалено из УТМ, и при следующем обмене 1С больше не будет на него «спотыкаться».
Если вы не хотите удалять ответ (например, это важные остатки), мы можем «обмануть» 1С, создав запись о том, что этот запрос якобы был инициирован текущей базой. Проанализируем, как это сделать.
f4b690af-97cc-486f-a51f-90826728bb57.Транспортные сообщения.Идентификатор запроса вставим наш GUID из ошибки.После создания такой записи 1С увидит, что ответ пришел на «знакомый» запрос, и успешно загрузит документ Остатки ЕГАИС.
Этот метод считается радикальным и применяется, если сообщений с ошибками накопилось слишком много. Разберем алгоритм действий:
C:\UTM\transporter\transportDB.transportDB.Внимание: После этой процедуры очередь УТМ станет пустой. Если в ней находились ТТН от поставщиков, которые вы еще не успели загрузить в 1С, их придется переотправлять через личный кабинет ЕГАИС.
В конфигурации 1С:Розница предусмотрены механизмы для обслуживания обмена. Посмотрим, где их найти:
Перейдем в раздел Администрирование — Обслуживание — Корректировка данных. Там может находиться ссылка на обработку «Удаление чеков и документов ЕГАИС». В некоторых версиях доступ к ней возможен только через поиск в функциях технического специалиста по ключевому слову Удаление.
Эта обработка позволяет выбрать организацию и очистить очередь входящих сообщений непосредственно из интерфейса 1С без использования командной строки.
Проанализируем ситуацию с остатками. Ошибка часто возникает при запросе ReplyRestsShop_v2 — это остатки торгового зала (Регистр №2). Стоит помнить, что согласно методологии ЕГАИС, использование второго регистра для крепкого алкоголя сейчас практически прекращено. Весь учет ведется на Регистре №1 (склад) поштучно.
Если ошибка возникает именно на запросе остатков по второму регистру, в большинстве случаев это сообщение можно просто удалить через curl, так как оно не несет актуальной информации для ведения учета в современных условиях.
Рассмотрим несколько правил гигиены при работе с ЕГАИС:
Соблюдение этих несложных правил позволит избежать конфликтов идентификаторов и обеспечит стабильную работу обмена с государственными информационными системами.