Имя: Пароль:
1C
1C 7.7
v7: Загрузка банков с сайта ЦБ в формате XML
0 Bigbro
 
02.06.20
05:55
кто то делал?
до недавнего жил используя старый формат dbf сейчас в нем выкладывать данные перестали. посмотрел новый XML с наскоку разобраться и переписать не выйдет.
если есть поделитесь наработкой.
1 Aleksey
 
02.06.20
06:30
2 Aleksey
 
02.06.20
06:31
3 Aleksey
 
02.06.20
06:32
Хотя в текстовом виде дата изменения 02.06.2020 2:31. Т.е. вроде как актуальны
4 Bigbro
 
02.06.20
06:54
(1) рбк и 1с не подойдут.
(2) да, этот надо будет парсить.
5 Aleksey
 
02.06.20
07:06
(4) почему?
6 Aleksey
 
02.06.20
07:08
по ссылки XML актуален на 02.06.2020. Текстовые файлы тоже от этой даты,т.е. вопрос явно не в актуальности данных а в чем? В религии?
7 Bigbro
 
02.06.20
07:13
(6) только в источнике данных. к сожалению без подробностей.
8 Bigbro
 
02.06.20
10:57
помогите лучше господа хорошие.
что то я совсем плох стал, не могу победить.

        HTTPСоединение=СоздатьОбъект("AddIn.V7HttpReader");

        URL ="http://www.cbr.ru/Queries/XsltBlock/File/101478?fileId=0";;
        Каталог = КаталогИБ();
        ИмяФ = Каталог + "bik.zip";

        Попытка
            HTTPСоединение.ПолучитьКакФайл(URL,ИмяФ);
        Исключение
            Ответ = HTTPСоединение.СтрокаСостоянияОтвета;
    
            Сообщить(Ответ);
    
            Если Найти(Ответ, "400") <> 0 Тогда
                Сообщить("данные не найдены.");
            ИначеЕсли Найти(Ответ, "200") <> 0 Тогда
                Сообщить("Информация не получена");
            КонецЕсли;
    
            Возврат;
        КонецПопытки;

ошибок не выдает, но сохраняет на диск не весь файл, а кусок разного размера, от 5 кб до 500+ кб.
который после этого естественно не хочет разархивироваться.
в урл изначально писал        URL ="http://www.cbr.ru/s/newbik";
но получал в ответ что данные перемещены на другой урл.
почему рубит файл, как исправить?
9 Bigbro
 
02.06.20
12:49
кто-нибудь может попробовать скачать?
не могу понять на сайте проблема или у меня локально что-то.
вручную по ссылкам файл скачивается.. там 620кб
10 Djelf
 
02.06.20
13:24
(9) V7HttpReader редкостная гадость, читай через WinHttpRequest.

    URL ="http://www.cbr.ru/Queries/XsltBlock/File/101478?fileId=0";;
    Каталог = КаталогИБ();
    ИмяФайла = Каталог + "bik.zip";
    WinHttpRequest = СоздатьОбъект("WinHttp.WinHttpRequest.5.1");
    WinHttpRequest.Open("GET",URL, 0);
    WinHttpRequest.Send();
    Скрипт = СоздатьОбъект("MSScriptControl.ScriptControl");
    Скрипт.language = "vbscript";
    stream = CreateObject("ADODB.Stream");
    stream.Mode = 3;
    stream.Type = 1;
    stream.Open();
    Скрипт.AddObject("stream",stream);
    Скрипт.AddObject("WinHttpRequest",WinHttpRequest);
    Скрипт.Eval("stream.Write(WinHttpRequest.responseBody)");
    stream.SaveToFile(ИмяФайла, 2);
11 Djelf
 
02.06.20
14:59
Вот в чем дело то: https://ru.wikipedia.org/wiki/Chunked_transfer_encoding
v7plus это не поддерживает и записывает только первый кусок, а сервер http://www.cbr.ru на любой другой протокол обмена возвращает 501.
12 Bigbro
 
02.06.20
15:06
Спасибо, проклятый веб со своими подколами, будь он неладен! )
13 victuan1
 
03.06.20
04:42
(12) Тут наверное, использовать устаревшую и глючную v7plus - не самая лучшая идея.
AdBlock убивает бесплатный контент. 1Сергей