Получение данных отчета в http-сервисе (JSON) через расширение






Механизм получения статистических данных отчета для обмена по http GET запросам. Реализовано на примере ЗУП 3.1. Через расширение.

Задача: реализовать прием-передачу статистических данных для сторонней Информационной базы. Базы находятся на разных серверах. Обмен информацией должен происходить по требованию и быть наиболее быстрым.

Реализация: для реализации данной задачи был выбран механизм http обмена через get запросы, так как при тестировании COM соединение и получение данных показало плохие результаты по производительности. Также было принято решение реализовать задачу "сбоку", для целостности типовой конфигурации. 

  1. Для начала формируем необходимый вариант отчета в пользовательском режиме.
  2. Обдумываем, как должна выглядеть структура для передачи и какие данные должна возвращать
  3. Получаем Уникальные идентификаторы необходимого отчета как объекта метаданных и нужного варианта отчета (с помощью обработки)
  4. Создаем HTTP-сервис в расширении
  5. Прописываем в расширении HTTP-сервиса ГУИДы из пункта 3, а также логику парсера (в примере приведена реализация)
  6. Публикуем наш сервис и тестируем

Подобный метод можно применить к любому отчету!

Реализовано для ЗУП 3.1.8.216.

P.S.

Обработка получения идентификаторов нехитрая, просто вспомогательная

на скриншотах виден код

9 Comments

  1. ig-efrem

    Интересное решение

    Reply
  2. Marts77788

    (1)Большое спасибо за отзыв) это моя первая публикация

    Reply
  3. tvm

    можно сразу таб документ формировать, передавать и там показать

    Reply
  4. Marts77788

    (3)да, но задача у нас стояла в том, чтобы интегрировать его с отчетом, формируемым в другой базе на другом сервере. там мы получаем json и парсим его в таблицу значений

    Reply
  5. astracrypt

    А в каком виде передается отчет в json, числа или двоичные данные ?

    Reply
  6. tvm

    (4) а, раз так то да.

    (5) числа, строки. На последнем скриншоте видно

    Reply
  7. Marts77788

    (5)после получения таблицы значений можно делать с ней все что угодно, было принято решение парсить ее в массив структур и записать в json — обработчик присутствует в расширении. В виде двоичных данных тоже можно, но последующая обработка на стороне Приемника(инициатора запроса) возможно будет затруднительна, по причине разности конфигураций, данных итд

    Reply
  8. denic73

    https://infostart.ru/public/885287 здесь все то же самое подробно расписано и с примерами кода.

    Reply
  9. Marts77788

    (8)тоже интересная публикация)

    Reply

Leave a Comment

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