Внешняя обработка, демонстрирующая обмен данными с УТМ ЕГАИС на платформе 1С 7.7





Реализованы отправка на сервер ЕГАИС запросов: контрагентов, продукции, остатков, справок А и Б,
чтение ответов на запросы, чтение входящих XML, чтение ответов на исходящие XML, удаление из базы данных УТМ.
Реализовано без использования утилиты CURL, используются объекты из встроенной в Windows библиотеки MSXML.

Предлагаю Вашему вниманию внешнюю обработку, демонстрирующую обмен данными c Универсальным транспортным модулем Единой государственной автоматизированной информационной системы на платформе 1С 7.7.

Реализованы следующие функции:

  • Удаленное подключение к службе УТМ по ip-адресу
  • Отправка на сервер ЕГАИС запросов: контрагента по ИНН, продукции по ИНН производителя/импортера, своих остатков, справок А и Б
  • Чтение полученных ответов на запросы
  • Чтение входящих XML (ТТН, справок Б, актов, подтвеждений т.п.)
  • Чтение ответов на исходящие XML (квитанции)
  • Удаление ссылок из базы данных УТМ
  • Ведение лога работы обработки
  • Читабельный вид входящих XML "кирпичей"

Поскольку встроенный язык 1С 7.7 не содержит инструменты для работы с HTTP и XML, все запросы к УТМ реализованы на объекте ServerXMLHTTP из библиотеки MSXML.
Это решение обладает рядом преимуществ:
+ не требуются внешние библиотеки типа v7plus.dll, объект встроен в операционую систему Windows
+ результатом запроса является XML объект DOMDocument из той же библиотеки MSXML со встроенным интерфейсом его обработки,
т.е. для дальнейшего распознавания XML ответа на запрос также не требуются внешние библиотеки.

Документация на используемые объекты размещена на сайте "мелкомягкого"
https://msdn.microsoft.com/en-us/library/windows/desktop/ms760218%28v=vs.85%29.aspx

Для корректной работы примера необходима библиотека MSXML не ниже 4.0
При необходимости обновить с того же источника https://support.microsoft.com/ru-ru/kb/324460
Определить, какая версия библиотеки у вас установлена, можно по версиям объектов MSXML в ветке реестра HKEY_CLASSES_ROOT

Обработка может использоваться в качестве альтернативы встроенному в УТМ веб-интерфейсу
(http://localhost:8080/opt/in, http://localhost:8080/opt/out) инструмента для отправки запросов в ЕГАИС, чтения полученных XML, удаления ненужных данных из УТМ,
примера для написания собственных программ обмена данными с УТМ — код открыт.

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *