Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

API 1с7.7 V7HttpReader

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №11
 
30.09.2016 15:18

Я думаю, что через Соединение.Send(ФайлЗапроса); вы посылаете на сервер не файл, а содержимое переменной ФайлЗапроса, то есть строчку "КаталогИБ()+"np.xml"", наверное, файл надо считать, залить в строку и отправить и ответ вы получите как строку, которую потом сохраните в файл. По идее, это stream.

Ответили: пост №12 , пост №13
maestro_voln
читатель
офлайн
Дата регистрации: 04.03.2009
Сообщений: 289
Пост №12
 
30.09.2016 16:05
Ответ на пост №11

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

maestro_voln
читатель
офлайн
Дата регистрации: 04.03.2009
Сообщений: 289
Пост №13
 
01.10.2016 00:38
Ответ на пост №11

Thorvardr,спасибо, все работает
весь код, может кому пригодиться
ТекстЗапроса="";
Текст=СоздатьОбъект("Текст");
ФайлЗапроса=КаталогИБ()+"np.xml";
Текст.Открыть(ФайлЗапроса);
Для стр=1 по Текст.КоличествоСтрок() Цикл
       ТекстЗапроса=ТекстЗапроса+Текст.ПолучитьСтроку(стр);
КонецЦикла;
Соединение = СоздатьОбъект("WinHttp.WinHttpRequest.5.1");
Соединение.Open("POST","http://api.novaposhta.ua/v2.0/xml/");
Соединение.Send(ТекстЗапроса);
Ответ = Соединение.ResponseText();
//UTF-8
УТФ = СоздатьОбъект("Adodb.Stream");
УТФ.Type=2;
УТФ.Mode=3;
УТФ.charset="utf-8";
УТФ.Open();
УТФ.WriteText(Ответ);
УТФ.SaveToFile(КаталогИБ()+"np1.xml",2);
УТФ.Close();

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №14
 
01.10.2016 09:21

Экзотика всё это, в идеале надо делать через xdto. Но, боюсь, почту эту не сдвинуть раз даже нет возможности на их стороне строчку добавить на правильное формирование заголовка.
А в этом решении я бы ещё добавил таймаут соединения и проверку корректности полученного потока на предмет целостности в смысле xml модели, вдруг там обрыв соединения случится в момент передачи? Если файл относительно маленький, можно в Попытка...Исключение написать залив его в DOM объект (ТекущийЭлементВВидеОбъекта()), если исключение не случится, то данные, скорее всего, корректны и их можно сохранять как файл или обрабатывать.

Ответили: пост №15
maestro_voln
читатель
офлайн
Дата регистрации: 04.03.2009
Сообщений: 289
Пост №15
 
01.10.2016 12:53
Ответ на пост №14

Thorvardr,xml parser битый файл не обработает, поэтому я думаю нет смысла его проверять

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация