При работе с ФГИС «Меркурий» (ВетИС) через программные продукты 1С пользователи часто сталкиваются со специфическими ошибками при гашении ветеринарно-сопроводительных документов (ВСД). Особенно остро эта проблема проявляется при оформлении входящих транспортных операций внутри одного хозяйствующего субъекта (например, когда продукция перемещается с таможенного терминала на городской склад организации). В этой ситуации отправитель и получатель — одно и то же юридическое лицо.
В процессе гашения такого ВСД система 1С может выдавать сразу несколько критических ошибок валидации API Меркурия:
Давайте подробно разберем, почему возникают эти ошибки, проанализируем архитектурное несовпадение систем и рассмотрим все возможные варианты решения — от оперативного изменения программного кода до штатных обходных путей без привлечения программиста.
Для того чтобы понять природу ошибки, проанализируем логику работы обеих систем:
В итоге получается замкнутый круг: 1С очищает реквизиты ТТН, так как это внутреннее перемещение, а веб-сервис Меркурия отклоняет операцию гашения, потому что присланные сервером 1С данные ТТН (пустые) не совпадают с исходным ВСД.
Если вы хотите раз и навсегда решить проблему автоматического гашения таких документов непосредственно из рабочего места 1С, потребуется внести небольшие изменения в конфигурацию через механизм расширений или напрямую (если база снята с поддержки).
Шаг 1. Отключение автоматической очистки данных ТТН
Выясним, где именно в коде происходит сброс параметров транспортного документа. Нам необходим модуль формы документа ВходящаяТранспортнаяОперацияВЕТИС. В процедуре НастроитьЗависимыеЭлементыФормы найдем фрагмент кода, отвечающий за заполнение признака ТТН, и закомментируем его. Это позволит сохранить исходные данные ТТН, полученные из ФГИС «Меркурий», даже если отправитель и получатель совпадают.
Найдите и закомментируйте следующие строки кода:
//Объект.ТТНУказан = Ложь;
//Если Объект.ТТНУказан И Объект.ТипТТН.Пустая() Тогда
// Объект.ТипТТН = ПредопределенноеЗначение("Перечисление.ТипыДокументовВЕТИС.ТТН");
//ИначеЕсли Не Объект.ТТНУказан Тогда
// Объект.ТипТТН = ПредопределенноеЗначение("Перечисление.ТипыДокументовВЕТИС.ПустаяСсылка");
//КонецЕсли;
После этого изменения 1С перестанет стирать данные о типе, номере и дате накладной, и первая группа ошибок валидации (MERC14575, MERC14257, MERC14258) перестанет появляться.
Шаг 2. Исправление ошибки парсинга «Неправильное имя колонки»
После исправления ТТН вы можете столкнуться со следующей проблемой: ВСД успешно гасится в самом Меркурии, однако документ 1С «Входящая транспортная операция ВЕТИС» не может завершить обработку транзакции. При разборе входящего XML-пакета от веб-службы система падает со служебной ошибкой «Неправильное имя колонки».
Причина кроется в общем модуле ОбменДаннымиВЕТИС в процедуре ЗагрузитьЗаписиСкладскогоЖурналаПоРезультатамЗапросаВЕТИС. Разработчики интеграционного модуля 1С забыли добавить проверку типа документа при заполнении параметров отбора складского журнала. Мы можем исправить это, обернув добавление параметров в условие проверки типов документов.
Найдите указанную процедуру и скорректируйте код следующим образом:
Если ТипЗнч(Документ) = Тип("ДокументСсылка.ИнвентаризацияПродукцииВЕТИС")
ИЛИ ТипЗнч(Документ) = Тип("ДокументСсылка.ПроизводственнаяОперацияВЕТИС") Тогда
// Здесь располагается типовой код добавления параметров отбора колонок журнала
КонецЕсли;
Данная проверка гарантирует, что параметры отбора будут применяться только к тем документам, которые содержат соответствующие колонки в своей структуре метаданных. После применения этих двух доработок гашение в 1С:КА заработает в штатном автоматическом режиме.
Если у вас нет возможности оперативно изменить программный код конфигурации, вы можете обойти жесткие требования проверки ТТН с помощью стандартного функционала системы.
Рассмотрим, как это сделать по шагам:
Важное примечание: При наличии заполненного блока «Акт о несоответствии» транспортный модуль 1С передает в ФГИС «Меркурий» специальный управляющий тег. Получив его, сервер Меркурия игнорирует несовпадение номеров ТТН и успешно закрывает ВСД. Использование таких актов при внутренних операциях абсолютно легитимно и не влечет за собой штрафных санкций со стороны контролирующих органов Россельхознадзора.
Дополнительно проанализируем правильность заполнения реквизитов доставки. Перед отправкой транзакции обязательно убедитесь, что в документе гашения корректно выставлен тип операции.
В поле «Способ перехода права собственности» или аналогичном реквизите типа перевозки должно быть строго установлено значение: «Перевозка без смены владельца». Для данного типа перевозки веб-интерфейс и шлюз Меркурия используют более мягкие алгоритмы проверки сопроводительных документов, что может снизить вероятность возникновения ошибок сопоставления.
Если вам нужно срочно погасить зависшую на балансе партию товара, а времени на программирование или разбор документов в 1С нет, используйте официальный веб-интерфейс государственной системы: