Как получить боевой доступ к API Меркурий (ВетИС) в 1С:УТ 11: пошаговое руководство по выполнению обязательных операций

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Торговля и дистрибуция
← На главную

Переход с тестового контура (T2) на продуктивный (боевой) API системы «Меркурий» — это не просто смена адреса сервера в настройках. Техническая поддержка Россельхознадзора требует от разработчиков и интеграторов подтверждения того, что их информационная система корректно формирует запросы и обрабатывает ответы. Для этого необходимо выполнить ряд обязательных операций в тестовой среде.

В этой статье мы разберем, как с помощью типовой подсистемы ВетИС в 1С:Управление торговлей 11 (начиная с версий 11.4.9.хх и выше) выполнить задачи, поставленные службой поддержки, и получить заветный доступ к боевому шлюзу.

Постановка задачи от техподдержки ВетИС

Обычно для подтверждения квалификации интегратора специалисты ВетИС просят предоставить идентификаторы заявок (applicationId), подтверждающие успешное выполнение следующих действий через API:

  1. Регистрация или сопоставление площадок (предприятий).
  2. Привязка площадок к хозяйствующему субъекту (ХС).
  3. Оприходование продукции на одну из площадок (занесение остатков в журнал).
  4. Проведение транзакции (перемещения) продукции между двумя вашими площадками.

Рассмотрим подробнее, как реализовать каждый пункт в среде 1С.

Шаг 1: Подготовка инфраструктуры и создание площадок

Проанализируем работу со справочниками. В 1С:УТ подсистема ВетИС находится в разделе Склад и доставка — Управление ВетИС. Перед началом работы убедитесь, что в настройках интеграции выбран «Тестовый контур».

Создание и привязка площадок в 1С осуществляется через справочник Предприятия ВетИС. Если площадки уже созданы в веб-интерфейсе тестового контура «Цербер», их нужно загрузить в 1С. Если же требуется создать их именно через API (как того требует поддержка), используется механизм обмена с системой «Цербер».

Разберем логику: в 1С для этого используется запрос submitEnterpriseProductionBusinessEntityService. При создании нового элемента в справочнике Предприятия ВетИС и выполнении команды «Подготовить к отправке», система формирует XML-пакет. После отправки запроса в техподдержку нужно будет передать UUID созданной площадки.

Шаг 2: Занесение остатков (Инвентаризация)

Чтобы занести продукцию в журнал предприятия, в 1С предусмотрен документ Инвентаризация продукции ВетИС. В API Меркурия это соответствует операции resolveDiscrepancyOperation. Рассмотрим алгоритм действий:

  1. Создаем новый документ Инвентаризация продукции ВетИС.
  2. Выбираем организацию (ХС) и предприятие (площадку), на которую хотим «положить» товар.
  3. На вкладке «Товары» добавляем строку. Важно выбрать операцию Добавление.
  4. Заполняем данные о продукции: вид продукции, наименование, объем, дата выработки и срок годности.
  5. Проводим документ и нажимаем ссылку «выполните обмен».

В этот момент 1С формирует SOAP-запрос. После успешного ответа в журнале 1С и в веб-интерфейсе Меркурия должна появиться запись складского журнала. Для отчета перед техподдержкой вам понадобится applicationId этого обмена, который можно найти в форме «Журнал сообщений ВетИС».

Шаг 3: Проведение транзакции между площадками

Выясним причину, по которой это требование является ключевым: оно проверяет умение системы работать с идентификаторами партий и формировать транспортные ВСД. В 1С это реализуется через документ Исходящая транспортная операция ВетИС.

Рассмотрим порядок оформления:

  1. Создаем документ, где в качестве Грузоотправителя указываем первую площадку, а в качестве Грузополучателя — вторую свою площадку.
  2. В табличную часть подбираем продукцию, которую мы ранее создали документом инвентаризации.
  3. Указываем транспорт и тип перевозки.
  4. Переводим документ в статус «К оформлению» и выполняем обмен.

Важный момент: после оформления исходящего ВСД со стороны первой площадки, его необходимо «погасить» на стороне второй площадки документом Входящая транспортная операция ВетИС. Это завершит цикл движения товара в системе.

Техническая реализация: SOAP и HTTPS

Если штатных средств 1С недостаточно или требуется кастомизация, разработчику необходимо понимать, как отправляются «сырые» запросы. Обмен идет по протоколу HTTPS, данные передаются в формате SOAP-пакетов.

Посмотрим на пример структуры запроса для получения данных (упрощенно):


// Пример формирования заголовков для HTTP-запроса в 1С
ЗаголовокHTTP = Новый Соответствие;
ЗаголовокHTTP.Вставить("Content-Type", "text/xml;charset=utf-8");
ЗаголовокHTTP.Вставить("SOAPAction", "http://api.vetrf.ru/schema/cdm/v2/ApplicationService");

// Использование защищенного соединения
НТТРСоединение = Новый HTTPСоединение("api.vetrf.ru", 443, , , , , Новый ЗащищенноеСоединениеOpenSSL());
НТТРЗапрос = Новый HTTPЗапрос("/platform/services/2.1/ApplicationService", ЗаголовокHTTP);
НТТРЗапрос.УстановитьТелоИзСтроки(ТекстXMLЗапроса);

Ответ = НТТРСоединение.ОтправитьДляОбработки(НТТРЗапрос);

Проанализируем ситуацию с импортными грузами (СВХ). Как отмечалось в обсуждении, пакетное гашение через API 2.1 в упрощенном виде недоступно. Каждый сертификат должен обрабатываться индивидуально. Операция ProcessIncomingConsignment_v2.0 требует передачи полных сведений о партии. Если вы планируете автоматизировать гашение на СВХ, приготовьтесь к тому, что 1С придется перебирать каждый ВСД в цикле, отправляя отдельные запросы и ожидая ответы по каждому из них.

Особенности перехода на продуктив

Когда техподдержка одобрит ваши тестовые операции и выдаст логин/пароль/API-Key для боевого сервера, помните о следующих правилах:

Изоляция контуров: Все UUID из теста (площадки, товары, ХС) не работают в боевом режиме. Вам придется заново загрузить все справочники из продуктивного контура и сопоставить их с объектами в 1С (склады, номенклатура, контрагенты).

Лимиты (Throttling): На боевом API действуют жесткие ограничения на частоту запросов (обычно несколько запросов в секунду). В 1С:УТ рекомендуется использовать регламентные задания для обмена, чтобы не перегружать шлюз и избегать блокировок. Если вы пишете свой код, обязательно добавьте паузы между итерациями отправки.

Версии API: В настоящее время актуальной является версия 2.1, но идет постепенный переход на 3.0. При настройке в 1С убедитесь, что ваша конфигурация обновлена до актуального релиза, поддерживающего современные XSD-схемы ВетИС.

Таким образом, для получения боевого доступа достаточно выполнить стандартный цикл товародвижения в тестовой базе 1С:УТ, зафиксировать applicationId и отправить их в техподдержку ВетИС вместе с заявкой на переход.

← На главную