Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Формирование файла по HTTP запросу          
svv1979 Подменю пользователя
сообщение 15.07.20, 6:25
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Добрый день

Есть ссылка [необходимо зарегистрироваться для просмотра ссылки]

При выполнении в браузере по ней открывается форма отчета и сразу формируется Exel файл

СерверИсточник = "sait2";
Адрес = Новый HTTPЗапрос("/pls/info/REESTR_PERSONS_TO_1C.run?rep_user=IVANOV&p_com=30274&p_reestr_format=xls&p_action=Пуск");
ИмяВходящегоФайла = C:\1\1.xls;
НТТР = Новый HTTPСоединение(СерверИсточник);
НТТР.Получить(Адрес, ИмяВходящегоФайла);
ВходящийФайл = Новый Файл(ИмяВходящегоФайла);


При выполнении, в файл сохраняется только форма с параметрами, а не сам готовый отчет

Надо что бы при запуске из один 1С формировался файл отчета и сохранялся на диск

В чем может быть проблема?

Сообщение отредактировал Vofka - 15.07.20, 8:28

Vofka Подменю пользователя
сообщение 15.07.20, 8:41
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Надо более конкретно смотреть что по конкретной ссылке происходит, потому что просто по описанию сложно понять.

svv1979 Подменю пользователя
сообщение 15.07.20, 12:18
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Vofka @ Сегодня, 11:41 * ,

Вставляю ссылку в интернет эксплоер и сразу идет формирование файла

если пытаюсь сделать из 1С то в файл сохраняются только параметры для выполнения

Это ссылка на получение отчета из базы оракл и
и в базе так же происходит работа через internet explorer

может надо другим способом запускать формирование файла отчета?

Так в самой ссылке заполнены все параметры и команда запуска формирования отчета в файл

Vofka Подменю пользователя
сообщение 15.07.20, 13:21
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

А что вы имеете ввиду под
Цитата(svv1979 @ 15.07.20, 13:18) *
идет формирование файла

? Начинается скачивание?

svv1979 Подменю пользователя
сообщение 16.07.20, 5:29
Сообщение #5

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Vofka @ Вчера, 16:21 * ,
если вручную делать нажимаешь ПУСК формируется файл и сохраняется(в експлоере выходит предложение сохранить или сохранить как)

а по ссылке сразу формируется файл и сохраняется(в експлоере выходит предложение сохранить или сохранить как)

Vofka Подменю пользователя
сообщение 16.07.20, 8:01
Сообщение #6

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Цитата(svv1979 @ 16.07.20, 6:29) *
если вручную делать

"Вручную" это не переход по этой ссылке, по которой вы программно пытаетесь скачать файл?

svv1979 Подменю пользователя
сообщение 16.07.20, 13:42
Сообщение #7

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Vofka @ Сегодня, 11:01 * ,

Открыл в браузере страницу формирования отчета

URL-адрес запроса: [необходимо зарегистрироваться для просмотра ссылки]
Метод запроса: GET
Код состояния: 200 / OK

- Заголовки запроса

Accept: image/gif, image/jpeg, image/pjpeg, application/x-ms-application, application/xaml+xml, application/x-ms-xbap, */*
Accept-Encoding: gzip, deflate
Accept-Language: ru-RU
Connection: Keep-Alive
Host: sait2
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; InfoPath.3)

- Заголовки ответа

Connection: Keep-Alive
Content-Type: text/html; charset=WINDOWS-1251
Date: Thu, 16 Jul 2020 09:35:20 GMT
Keep-Alive: timeout=150, max=99
Server: Oracle HTTP Server Powered by Apache/1.3.12 (Win32) ApacheJServ/1.1 mod_ssl/2.6.4 OpenSSL/0.9.5a
Transfer-Encoding: chunked
X-DB-Content-length: 9975

Поставил нужный формат файла XLS и Нажал ПУСК

URL-адрес запроса: [необходимо зарегистрироваться для просмотра ссылки]

Метод запроса: POST

- Заголовки запроса

Accept: image/gif, image/jpeg, image/pjpeg, application/x-ms-application, application/xaml+xml, application/x-ms-xbap, */*
Accept-Encoding: gzip, deflate
Accept-Language: ru-RU
Cache-Control: no-cache
Connection: Keep-Alive
Content-Length: 110
Content-Type: application/x-www-form-urlencoded
Host: sait2
Referer: [необходимо зарегистрироваться для просмотра ссылки]
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; InfoPath.3)

Сформировался файл нажал сохранить

- Заголовки ответа

Connection: Keep-Alive
Content-Disposition: attachment; filename="%D0%A1%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%BE%20%D0%BF%D1%80%D0%BE%D0%B6%D0%B8%D0%B2% D0%B0%D1%8E%D1%89%D0%B8%D1%85%20%D0%B2%20%D0%B6%D0%B8%D0%BB%D0%BE%D0%BC%20%D1%84%D0%BE%D0%BD%D0%B4%D0%B5.xls"
Content-Type: application/vnd.ms-excel
Date: Thu, 16 Jul 2020 09:38:37 GMT
Keep-Alive: timeout=150, max=100
Server: Oracle HTTP Server Powered by Apache/1.3.12 (Win32) ApacheJServ/1.1 mod_ssl/2.6.4 OpenSSL/0.9.5a
Transfer-Encoding: chunked
X-DB-Content-length: 91614751

Сообщение отредактировал Vofka - 17.07.20, 9:11

Vofka Подменю пользователя
сообщение 16.07.20, 14:13
Сообщение #8

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Вместо
НТТР.Получить(Адрес, ИмяВходящегоФайла);

попробуйте
НТТР.ОтправитьДляОбработки(Адрес, ИмяВходящегоФайла);

svv1979 Подменю пользователя
сообщение 17.07.20, 5:06
Сообщение #9

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Vofka @ Вчера, 17:13 * ,

Делал

2 способ не помог

ИмяВходящегоФайла1 = "\\192.168.113.7\работа\555.xls";
    Ссылка = "http://sait2/pls/info/REESTR_PERSONS_TO_1C.run?rep_user=IVANOV&p_com=30274&p_reestr_format=xls&p_action=Пуск";
    
    WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1"); //WinHttpRequest
    
    WinHttp.Open("GET", Ссылка, Ложь);  //POST Тоже пробовал
    WinHttp.Send();

    Если WinHttp.Status = 200 Тогда
        Stream = Новый COMОбъект("ADODB.Stream");

        Stream.Type = 1;
        Stream.Mode = 3;

        Stream.Open();
        Stream.Write(WinHttp.ResponseBody);
        Stream.SaveToFile(ИмяВходящегоФайла1, 2);
        Stream.Close();
        Stream = Неопределено;
        Сообщить("1");
    Иначе
        //Сообщить("HTTP " + WinHttp.Status + " " + WinHttp.StatusText);
        //Возврат;
    КонецЕсли;


Сообщение отредактировал Vofka - 17.07.20, 9:12

svv1979 Подменю пользователя
сообщение 17.07.20, 7:40
Сообщение #10

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Как его можно реализовать в 1С

Пример на C#:

 private void button1_Click(object sender, EventArgs e)
        {
            WebClient webClient = new WebClient();
            string link = @"http://dezvgr2/pls/info/REESTR_SOB_TO_1C.run?rep_user=TVERETINA&p_com=30274&p_reestr_format=xls&p_action=Start";
            string downloadFileName = System.IO.Path.GetFileName("test.xls");
            webClient.DownloadFile(new Uri(link), @"F:\tmp\test\" + downloadFileName);
        }


Сообщение отредактировал Vofka - 17.07.20, 9:12

svv1979 Подменю пользователя
сообщение 21.07.20, 14:00
Сообщение #11

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0


Проблема в сервисе была переделали p_action=­­Start ("Пуск" Русские буквы некорректно передавались ) и убрали зависимость от регистра
из 1С все отработало хорошо

ИмяВходящегоФайла = Объект.ПутьКФайлу;

HTTP = Новый HTTPСоединение(Объект.Сервер);
HTTPЗапрос = Новый HTTPЗапрос(Объект.АдресЗапроса);
HTTP.ОтправитьДляОбработки(HTTPЗапрос,ИмяВходящегоФайла); //POST запрос

//HTTP.Получить(HTTPЗапрос,ИмяВходящегоФайла); //GET Запрос тоже

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 19:49
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!