Сбои в работе государственной системы ветеринарной сертификации «Меркурий» (ВетИС) могут полностью парализовать логистику предприятия, особенно если речь идет о скоропортящейся продукции. Рассмотрим алгоритм действий в ситуации, когда сервера системы недоступны, возникают ошибки HTTP 503 Service Unavailable или наблюдается значительная задержка в обработке запросов через API.
Прежде чем предпринимать радикальные меры, нам необходимо убедиться, является ли проблема массовой или она локализована на стороне нашей информационной системы. Разберем основные инструменты мониторинга:
503 обычно означает перегрузку или технические работы на стороне Россельхознадзора, тогда как ошибки серии 4xx могут указывать на проблемы с авторизацией или некорректность запроса нашей базы 1С.Проанализируем правовую базу. Приказом Минсельхоза №589 предусмотрен так называемый «аварийный режим». Рассмотрим основные правила работы в этот период:
Если доступ к системе «Меркурий» невозможен по техническим причинам (отсутствие интернета, сбой на стороне ВетИС), допускается оформление документов на бумажных носителях. Важно помнить:
Важный нюанс: после восстановления работы системы у нас есть ровно 7 рабочих дней для того, чтобы оформить все эВСД «задним числом» и синхронизировать данные в системе.
Выясним, как минимизировать зависимость от серверов ВетИС. Опытные разработчики рекомендуют использовать архитектуру с локальным кэшированием складского журнала. Разберем, как это работает:
Вместо того чтобы при каждой отгрузке запрашивать актуальные остатки из «Меркурия», мы можем хранить дубликат записей складского журнала (ЗЖ) в нашей базе 1С. Рассмотрим пример логики обработки данных:
// Пример логики работы с локальным кэшем при недоступности API
Если ТекущийСтатусСистемы = "Аварийный" Тогда
// Используем данные из локального регистра остатков ВетИС
ЗаписьЖурнала = РегистрыСведений.ЛокальныйСкладскойЖурналВетИС.НайтиПоНоменклатуре(Товар);
ИдентификаторПартии = ЗаписьЖурнала.GUID;
// Формируем внутренний документ "ОтложеннаяТранзакция"
НоваяТранзакция = Документы.ТранзакцияВетИС.СоздатьДокумент();
НоваяТранзакция.Статус = Перечисления.СтатусыВетИС.ОжидаетОтправки;
НоваяТранзакция.Записать();
Иначе
// Работаем в штатном режиме через запрос к серверу
ВыполнитьЗапросКВетИС(ЗапросДанных);
КонецЕсли;
Использование локальных данных позволяет продолжать выписку документов во внутренней базе. Как только связь восстановится, мы сможем отправить накопленный пакет транзакций в систему.
Посмотрим на ситуацию, когда система начинает «оживать». Часто администраторы ВетИС включают функции поэтапно. Рассмотрим типичную ситуацию:
list (получение списка ВСД или записей журнала) могут быть заблокированы для снижения нагрузки.UUID или GUID партии могут продолжать работать.В этом случае, если в нашей системе 1С сохранены идентификаторы партий, мы можем оформлять исходящие транспортные эВСД, даже если общий список остатков в интерфейсе «Меркурия» не отображается.
Разберем, как поступить с входящими документами. Если API-интерфейс выдает ошибки при попытке получить список новых эВСД, рекомендуется использовать веб-интерфейс Меркурий.ХС. Проанализируем последовательность действий:
Транзакции -> Входящие оформленные.Проанализируем ситуацию с торговыми сетями. Несмотря на официальные письма Россельхознадзора об аварийном режиме, некоторые приемщики могут отказывать в приемке без QR-кода. В таких случаях мы рекомендуем:
1. Заранее разработать форму «Удостоверения о качестве и безопасности», которая будет содержать ссылки на протоколы лабораторных испытаний.
2. Сохранять скриншоты с официальных страниц мониторинга ВетИС с подтверждением даунтайма (времени недоступности) для последующего обоснования отсутствия документов перед проверяющими органами.
3. Если поставщик прислал товар без электронного ВСД, обязательно запросите у него UUID транзакции. Часто документ уже создан в системе, но просто не «долетел» до вашей базы из-за сбоя API. Имея идентификатор, вы сможете подтянуть его вручную, как только система станет доступна.
Таким образом, системный подход к хранению данных (дублирование ЗЖ локально) и знание регламентов аварийного режима позволяют предприятию продолжать работу даже в условиях полной недоступности серверов «Меркурия».