Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Загрузка банков с сайта ЦБ в формате XML

v7: Загрузка банков с сайта ЦБ в формате XML
Я
   Bigbro
 
02.06.20 - 05:55
кто то делал?
до недавнего жил используя старый формат dbf сейчас в нем выкладывать данные перестали. посмотрел новый XML с наскоку разобраться и переписать не выйдет.
если есть поделитесь наработкой.
   Aleksey
 
1 - 02.06.20 - 06:30
   Aleksey
 
2 - 02.06.20 - 06:31
   Aleksey
 
3 - 02.06.20 - 06:32
Хотя в текстовом виде дата изменения 02.06.2020 2:31. Т.е. вроде как актуальны
   Bigbro
 
4 - 02.06.20 - 06:54
(1) рбк и 1с не подойдут.
(2) да, этот надо будет парсить.
   Aleksey
 
5 - 02.06.20 - 07:06
(4) почему?
   Aleksey
 
6 - 02.06.20 - 07:08
по ссылки XML актуален на 02.06.2020. Текстовые файлы тоже от этой даты,т.е. вопрос явно не в актуальности данных а в чем? В религии?
   Bigbro
 
7 - 02.06.20 - 07:13
(6) только в источнике данных. к сожалению без подробностей.
   Bigbro
 
8 - 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";
но получал в ответ что данные перемещены на другой урл.
почему рубит файл, как исправить?
   Bigbro
 
9 - 02.06.20 - 12:49
кто-нибудь может попробовать скачать?
не могу понять на сайте проблема или у меня локально что-то.
вручную по ссылкам файл скачивается.. там 620кб
   Djelf
 
10 - 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);

   Djelf
 
11 - 02.06.20 - 14:59
Вот в чем дело то: https://ru.wikipedia.org/wiki/Chunked_transfer_encoding
v7plus это не поддерживает и записывает только первый кусок, а сервер http://www.cbr.ru на любой другой протокол обмена возвращает 501.
   Bigbro
 
12 - 02.06.20 - 15:06
Спасибо, проклятый веб со своими подколами, будь он неладен! )
   victuan1
 
13 - 03.06.20 - 04:42
(12) Тут наверное, использовать устаревшую и глючную v7plus - не самая лучшая идея.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.