1С и ВЕТИС API (Меркурий): SubmitApplicationRequest и сопоставление номенклатуры
Архитектура обмена 1С и ФГИС ВЕТИС
Интеграция конфигураций 1С (ERP, УТ, КА, Розница) с государственной информационной системой в области ветеринарии (ФГИС ВЕТИС / "Меркурий") осуществляется через универсальный шлюз (ВЕТИС.API). Метод SubmitApplicationRequest является базовым конвертом SOAP-запроса, внутрь которого упаковываются бизнес-транзакции (гашение ВСД, инвентаризация, производственные партии). Бизнес-риски сбоев: штрафы от Россельхознадзора, невозможность отгрузки подконтрольной продукции (мясо, молоко), блокировка ХС (Хозяйствующего субъекта) в системе Меркурий.
Типовые статусы ошибок SubmitApplicationRequest
| Код / Сообщение ВЕТИС | Локализация в 1С | Причина |
|---|---|---|
APPL_REJECTED | Входящее ВСД не гасится | Объем гасимой партии превышает остаток по журналу продукции. |
MERC_14169 | Ошибка сопоставления номенклатуры | Попытка привязать локальную номенклатуру 1С к неверному уровню справочника ВЕТИС (продукция 4-го уровня). |
Access Denied | Ошибка подключения (SOAP) | Неверный логин/пароль к API или истек срок действия ключа (issuerID / APIKey). |
Алгоритм работы с транзакциями ВЕТИС в 1С
Сценарий 1: Исправление ошибок сопоставления номенклатуры
ВЕТИС требует жесткой иерархии продукции: Вид -> Продукция -> Подпродукция (3-й уровень) -> Номенклатура производителя (4-й уровень). Ошибка возникает, если в 1С нарушена эта связка.
- Перейдите в рабочее место "Обмен с ВЕТИС" (Интеграция с ВЕТИС).
- Откройте классификатор Продукция ВЕТИС.
- Если статус продукции "Не сопоставлено", создайте связь: выберите элемент номенклатуры 1С и сопоставьте его с 4-м уровнем (GUID) из справочника Меркурия.
- Обязательно проверьте Коэффициент пересчета (если в 1С учет в штуках, а в ВЕТИС строго в кг/литрах).
Сценарий 2: Обработка зависших транзакций (SubmitApplicationRequest)
Иногда запрос отправлен, но ответ от ВЕТИС не загружается в 1С (завис в статусе "Обрабатывается").
// Программный вызов проверки статуса зависших заявок (консоль кода)
МодульВЕТИС = Обработки.ОбменСВЕТИС.Создать();
МассивСообщений = Новый Массив;
МассивСообщений.Добавить(УзелОбменаВЕТИС); // Ссылка на настройку обмена
МодульВЕТИС.ПолучитьОтветыНаЗапросы(МассивСообщений);- Если заявка зависла на стороне ВЕТИС более чем на 2 часа (сбой шлюза), ее необходимо программно пометить как "Отклоненная" в 1С и сформировать новый
SubmitApplicationRequest(создать новый документ ВСД).
Типовые ошибки администраторов
- Оформление ВСД будущей датой: ВЕТИС жестко валидирует даты. Попытка погасить ВСД до даты производства или оформить отгрузку после истечения срока годности вернет ошибку логики Меркурия.
- Заведение дублей площадок: Администраторы часто создают новые ХС/Площадки в 1С вместо поиска существующих по GUID из глобального справочника. Это приводит к рассинхронизации остатков.
Частые вопросы (FAQ)
Что такое GUID в ВЕТИС и почему он важен?
GUID (Глобальный уникальный идентификатор) — это 36-значный код, который ВЕТИС присваивает каждому ХС, Площадке и Номенклатуре. 1С общается с сервером ВЕТИС исключительно с помощью этих GUID, игнорируя текстовые наименования.
Как обновить классификатор ВЕТИС в 1С, если продукция не найдена?
В рабочем месте обмена с ВЕТИС нажмите 'Запросить классификатор'. Если нужна конкретная позиция, используйте команду 'Загрузить по идентификатору' и введите GUID, выданный производителем.
Что означает ошибка MERC_01469 'Не указан объем продукции'?
Эта ошибка возникает при расхождении единиц измерения. Убедитесь, что в документе 1С (например, 'Реализация товаров') корректно заполнен вес брутто/нетто, и он пересчитывается в базовую единицу ВЕТИС (кг, л, шт).
Где посмотреть сырые XML-запросы (SOAP), которые 1С отправляет в ВЕТИС?
В регистре сведений 'Журнал сообщений ВЕТИС' (если включено логирование в настройках обмена). Вы можете выгрузить файлы Request.xml и Response.xml для детального анализа ошибки.