Здравствуйте, подскажите пожалуйста как быть, написал код..работает, но он не успевает весь файл прочитать.
тобишь я получаю рандомно, от 100-550 записей из ~30.000

Может быть есть варианты как лучше сделать.(скриншот с кодом приложил)
---
(9) вы файл полученный смотрите, или пытаетесь его прочитать далее в коде?
И не надо использовать WinHttp.WaitForResponse(120000);
Вот где этот код у меня увидели?
Или WinHttp.WaitForResponse() и асинхронный режим, или синхронный и без WaitForResponse.

И зачем 2 раза инициализируете ?: Stream = Новый COMОбъект("ADODB.Stream");

И проверил код:

```1c
    WinHttp = New COMОбъект("WinHttp.WinHttpRequest.5.1");
    WinHttp.Option(2,"utf-8");
    WinHttp.Open("GET", "http://stripmag.ru/datafeed/p5s_assort.csv", false);
    WinHttp.Send();
    Если WinHttp.Status = 200 Тогда
    Stream = Новый COMОбъект("ADODB.Stream");
    Stream.Type = 1;
    Stream.Mode = 3;
    ВременныйФайл = ПолучитьИмяВременногоФайла("txt");
    Stream.Open();
    Stream.Write(WinHttp.ResponseBody);
    Stream.SaveToFile(ВременныйФайл, 2);
    Stream.Close();
    Stream = Неопределено;
    Сообщить(ВременныйФайл);
    КонецЕсли;
```

Во временный файл сохраняется полностью.
---
переписать код без ком объектов.
---
а через общий модуль не хочет хапать.
---
значит кривая архитектура модуля или вашего кода.
---
сами же указали получать данные асинхронно.
Или указать получение синхронное :
WinHttp.Open("GET", "http://stripmag.ru/datafeed/p5s_assort.csv", false);
или указать ожидание ответа, сразу после Send:
WinHttp.WaitForResponse()
---
не помогло.
---
(9) вы файл полученный смотрите, или пытаетесь его прочитать далее в коде?
И не надо использовать WinHttp.WaitForResponse(120000);
Вот где этот код у меня увидели?
Или WinHttp.WaitForResponse() и асинхронный режим, или синхронный и без WaitForResponse.

И зачем 2 раза инициализируете ?: Stream = Новый COMОбъект("ADODB.Stream");

И проверил код:

```1c
    WinHttp = New COMОбъект("WinHttp.WinHttpRequest.5.1");
    WinHttp.Option(2,"utf-8");
    WinHttp.Open("GET", "http://stripmag.ru/datafeed/p5s_assort.csv", false);
    WinHttp.Send();
    Если WinHttp.Status = 200 Тогда
    Stream = Новый COMОбъект("ADODB.Stream");
    Stream.Type = 1;
    Stream.Mode = 3;
    ВременныйФайл = ПолучитьИмяВременногоФайла("txt");
    Stream.Open();
    Stream.Write(WinHttp.ResponseBody);
    Stream.SaveToFile(ВременныйФайл, 2);
    Stream.Close();
    Stream = Неопределено;
    Сообщить(ВременныйФайл);
    КонецЕсли;
```

Во временный файл сохраняется полностью.
---
Неа, ничего не поменялось, файл на выходе также рандомит, от 60 до 550

Отладкой встаю на временный файл. Смотрю что у него внутри...

А если скачать через браузер и открыть))) то там мягко говоря то и палзунок то минут 10 листать буду, а не за 10 секунд весь файл.))
---
Что скаченный браузером, что кодом из (13) файл получается ~25MB.
---
чем смотрите?
Зачем создаете временный файл с расширением txt?
Попробуйте:
ВременныйФайл = ПолучитьИмяВременногоФайла("csv");

И открыть его.
---
Если у вас прямая ссылка, то проще вообще использовать

Для копирования, перемещения, удаления и прочих действий с файлами, существуют процедуры и функции работы с файлами глобального контекста. В частности, копирование файла может быть выполнено функцией КопироватьФайл():

КопироватьФайл("C:/Test.txt","C:/CopyOfTest.txt");

Эта функция копирует файл-источник в файл-приемник. Допускается перезапись файла-приемника. Файл-приемник при создании будет иметь права доступа, аналогичные назначаемым при создании новых файлов (т.е. права доступа к файлу-источнику не копируются). Допускается использование схем http, https и ftp для адресации файлов. При использовании этих схем в адресах необходимо указывать прямые слеши '/', а не обратные '\'.
А дальше
1) csv-файл читаем через объект ЧтениеТекста
2) Преобразуем в массив строк через СтрРазделить, используя необходимый разделитель (обычно Символы.ПС)
3) зная разделитель колонок, каждую строку раскладываем опять же в массив через СтрРазделить
---
Пробовал не может файл получить.
---
ссылка на файл
http://stripmag.ru/datafeed/p5s_assort.csv
---
Что то не пойму, а для чего АДОДБ для сохранения файла используется. Можно сохранить WinHttp.ResponseText(), а потом уже сохраненный во временном файле документ читать, хоть АДОДБ хоть просто как текст.
---
WinHttp.ResponseText()

Попробовал, он как будто бы и не сохраняет, файл на выходе пустой.
---
```1c
    WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1"); //WinHttpRequest
    Stream = Новый COMОбъект("ADODB.Stream"); //Stream (ADO)
    WinHttp.Option(2, "utf-8");
    WinHttp.Open("GET", "http://stripmag.ru/datafeed/p5s_assort.csv", Ложь);
    WinHttp.Send();
    WinHttp.WaitForResponse(120000);
    Если WinHttp.Status = 200 Тогда
    Stream = Новый COMОбъект("ADODB.Stream");

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

все равно рандомно грузит.
---
Хм...

Процедура Кнопка1Нажатие(Элемент)
 КопироватьФайл("http://stripmag.ru/datafeed/p5s_assort.csv", "d:\1.csv");
КонецПроцедуры

Без потоков и всяких левых объектов...

Скачалось секунд за 5... ЧЯДНТ?
---
ЗЫ. Глянул на содержимое... А если админ увидит и расскажет? Подстава, блин... ))))
---
блин, попробовал на другом компьютере и все окей прошло, видимо это у меня что-то с платформой..) все методы работают и те и те.

Всем спасибо.
---
```1c
    ПрайсПоставщикаСч = ПолучениеФайловИзИнтернета.СкачатьФайлВоВременноеХранилище("https://stripmag.ru/datafeed/p5s_assort.csv");
    ФайПоставщикаСч = ПолучитьИзВременногоХранилища(ПрайсПоставщикаСч.Путь);
    ПолучитьВремФайл = ПолучитьИмяВременногоФайла("csv");
    ФайПоставщикаСч.записать(ПолучитьВремФайл);
```

гружу изначально как писал.)