При автоматизации розничной торговли продукцией животного происхождения перед каждым предпринимателем и системным администратором встает задача интеграции учетной системы с государственной системой «Меркурий» (компонент ФГИС «ВетИС»). В процессе настройки обмена данными в конфигурации «1С:Розница» пользователи часто сталкиваются с неочевидными техническими барьерами. Самые распространенные из них — непонимание, откуда брать параметры APIKey и IssuerID, а также внезапное появление системной ошибки APLM0012 при попытке загрузить начальные остатки или ветеринарные сопроводительные документы (ВСД).
В этой статье мы подробно разберем, как устроен механизм авторизации в интеграционном шлюзе ВетИС.API, пошагово пройдем процесс получения необходимых ключей доступа, настроим подключение в программе «1С:Розница» и выясним, как победить ошибку перегрузки шлюза.
Давайте разберем эту ситуацию по шагам и выясним причины возникающих сложностей.
Первая и самая частая ошибка при настройке обмена — попытка использовать для подключения в «1С» те реквизиты, под которыми вы заходите в личный кабинет «Меркурий.ХС» через обычный интернет-браузер. Проанализируем разницу между этими типами доступа:
имя_фамилия) и пароль. Эти данные вводятся на форме авторизации «ВетИС.Паспорт» и не подходят для программной стыковки стороннего софта с серверами Россельхознадзора.Для успешной авторизации вашей программы «1С:Розница» в интеграционном шлюзе требуется пройти трехэтапную цепочку проверок безопасности. Для этого вам понадобятся четыре уникальных параметра:
e0a12345-67b8-90c1-d234-e5f6789012a3). Этот ключ однозначно идентифицирует вашу конкретную информационную систему в интеграционном шлюзе ВетИС. Выдается один раз на всю организацию или конкретное программное решение.Рассмотрим подробнее, как и где получить этот комплект технических реквизитов.
Регистрация личного кабинета в веб-интерфейсе «Меркурий.ХС» не означает автоматическое предоставление доступа к API-интерфейсу. Интеграционный шлюз требует подачи отдельного заявления.
Чтобы получить необходимые данные для «1С:Розница», выполним следующие действия:
Срок рассмотрения заявки обычно составляет от 1 до 5 рабочих дней. После успешного одобрения на электронную почту, указанную в заявлении, придет официальное письмо от отправителя Россельхознадзора с темой «Предоставление доступа к Ветис.API».
Внимательно изучим содержимое этого письма. В нем будут находиться блоки со следующей информацией:
Теперь, когда все параметры у нас на руках, мы можем приступить к настройке нашей учетной системы.
Перейдем непосредственно в программу «1С:Розница» (интерфейс на управляемых формах) для завершения настройки интеграции. Разберем этот процесс по шагам:
После этого нам останется сопоставить наши склады и торговые точки в «1С:Розница» со справочником предприятий (площадок) в ВетИС, после чего программа будет готова к отправке и приему запросов.
Иногда даже при абсолютно правильном вводе всех реквизитов авторизации в процессе получения начальных остатков или синхронизации документов программа возвращает критическую ошибку следующего содержания:
Заявка отклонена по причине: APLM0012: An unexpected error has occurred while invoking target service operation.
Выясним причину этого сбоя. Данное сообщение переводится как: «Произошла непредвиденная ошибка при вызове операции целевой службы». Многие пользователи ошибочно думают, что это блокировка со стороны разработчиков программы или ошибка в программном коде самой «1С».
На самом деле, корень проблемы кроется в ограничении пропускной способности интеграционного шлюза ВетИС. Ошибка APLM0012 возвращается государственным сервером в тот момент, когда ваша «1С:Розница» посылает слишком тяжелый, объемный или сложный запрос, обработать который СУБД ВетИС в данный момент не может по соображениям производительности (таймаут обработки транзакции).
Чаще всего это происходит именно при первой настройке обмена, когда программа пытается загрузить абсолютно весь исторический массив ВСД и все архивные остатки продукции (записи журнала) за несколько месяцев или даже лет работы магазина. Сервер ВетИС считает такой запрос потенциальной спам-атакой или просто зависает на этапе выборки гигантского объема данных.
Проанализируем эффективные методы решения этой проблемы:
Если вы только начинаете вести автоматизированный учет в «1С:Розница», нет никакой технической необходимости выкачивать из «Меркурия» всю историю движения партий за прошлые периоды. Актуальные остатки подконтрольной продукции будут формироваться в базе данных «1С» автоматически в процессе гашения новых, вновь поступающих входящих ветеринарных документов. Начните учет с «чистого листа».
В настройках регламентных заданий обмена или при ручном запуске синхронизации перейдите в параметры запроса документов и сузьте временной интервал. Не запрашивайте данные за месяц. Ограничьте период запроса последними 1–2 днями. Запрос за столь малый интервал отработает практически мгновенно и не вызовет перегрузки на стороне сервера.
По умолчанию «1С» может пытаться забрать все документы одним большим пакетом. Измените настройки обмена, ограничив количество запрашиваемых документов в одной транзакции (рекомендуемое ограничение — не более 100-200 записей за один сеанс связи). Если документов за выбранные сутки все равно слишком много, разбейте этот день в настройках на несколько часовых интервалов и запрашивайте их последовательно.
Поскольку шлюз ВетИС обслуживает сотни тысяч торговых точек по всей стране, нагрузка на него распределяется неравномерно. Пики активности приходятся на периоды с 10:00 до 14:00 и с 17:00 до 19:00 по московскому времени. Попробуйте выполнить первоначальную синхронизацию и сопоставление номенклатуры в утренние, вечерние или ночные часы, когда государственные серверы не так сильно загружены запросами крупных торговых сетей и дистрибьюторов.
Избегайте одновременной работы операторов в личном кабинете на сайте «Меркурия» и запущенных сеансов обмена в «1С:Рознице» под одними и теми же учетными записями. Это приводит к рассинхронизации статусов документов и провоцирует повторные тяжелые запросы на сверку остатков, что гарантированно вызывает ошибку APLM0012.
Применяя эти несложные правила оптимизации обмена, вы сможете обеспечить стабильную, бесперебойную и быструю работу интеграции вашей программы «1С:Розница» с государственной системой ветеринарного контроля.