В этом расширении вы найдете HTTP-сервис и вспомогательную обработку. В форме обработки можно сгенерировать нужные ссылки, переходя по которым можно в браузере открыть нужный вариант отчета.
Логин и пароль сохраняются браузером, поэтому вводить их нужно только один раз. Так же с помощью сервиса можно отдавать данные в любую другую систему, которая может выполнить http-запрос.
Для правильного формирования ссылки из обработки необходимо, чтобы была заполнена константа АдресПубликацииИнформационнойБазыВИнтернете. Проще всего ее правильно заполнить, зайдя в базу через веб-клиент. Но можно и захардкорить прям в коде.
Что происходит внутри?
В качестве обязательного параметра url передается уникальный идентификатор варианта отчета. А в качестве необязательного параметра - формат ответа (HTML, XLSX или JSON).
Если по уникальному идентификатору удалось получить вариант отчета и на него достаточно прав пользователю, под которым авторизовались в сервисе, то строится выбранный отчет. Для json результат сохраняется в таблицу значений, а затем преобразуется собственно в json. Все не примитивные типы приводятся к строке.
Для остальных типов сохраняется отчет сохраняется в табличный документ, а затем конвертируется в html или в xlsx.
Устанавливаются соответствующие заголовки и возвращается ответ.
Пример генерирования ссылки и обращение к этому сервису программно из другой 1Ски можно посмотреть в обработке HttpСсылкиПоВариантуОтчета
Программистам
Это расширение можно подключить по стандартному и сразу начать пользоваться, немного пошаманив с публикацией, а можно так же добавить в форму отчета команду для быстрого формирования ссылки.
Так же в этом расширении вы можете подсмотреть примеры:
- Работа с HTTP-Сервисом
- Программная работа с отчетами
- Конвертация результатов отчетов
- Обращение к HTTP-сервисам
- Работа с расширениями
- Работа с JSON
Что делать, если в моей конфигурации нет БСП?
Достаточно внедрить БСПОт БСП в этом расширении используются только варианты отчетов, т.к. это очень удобный контейнер с данными по отчету - ссылкой на отчет и сохраненными пользователем настройками. Можно сохранять настройки в другом месте и как-то по идентификатору их восстанавливать.
Почему это сделано расширением?
А прост. Захотелось попробовать новую фишку от 1С. Единственное огорчение - я так и не смог придумать способа добавить в форму отчета свою кнопку, по которой можно было б прям из отчета получить ссылки. В 8.3.9 с возможностью переопределять методы в общих модулях это должно получится без проблем.
Полезные ссылки
Зазеркалье: Средства работы с JSON
Зазеркалье: Web и HTTP сервисы в расширениях
ИТС: Пример создания HTTP-сервисов на платформе "1С:Предприятие"
HOWTO: создание и отладка HTTP-сервиса в 1С:Предприятие