АЦРК: Загрузка ставок ЦБ РФ прямо с сайта / чтение HTML страниц



Очередной парсинг HTML-страниц плюс загрузка ставок ЦБ РФ прямо с соответствующей HTML-страницы сайта ЦБ РФ. Ставки загружаются в регистр сведений "Ставка рефинансирования ЦБ", то есть практически во все типовые конфигурации 1С. Обработку можно запускать как в обычном, так и в управляемом режиме.

В строку вводится адрес веб-страницы. Возможно придется немного подождать, пока веб-страница полностью загрузится. После загрузки станет доступной кнопка «Прочитать».

По кнопке «Прочитать» собственно и происходит парсинг веб-страницы, в результате которого формируется дерево HTML-документа на закладке «Дерево». Закладка «Текст HTML» содержит собственно текст HTML-страницы. При переключении на эту закладку также возможно придется подождать, текст может оказаться весьма большим и переключение будет долгим.

Если обработка обнаружит, что это страница со ставками ЦБ РФ, станет доступна кнопка «Загрузить ставки ЦБ РФ». По этой кнопке происходит чтение информации из дерева и запись недостающих записей в регистр сведений «Ставка рефинансирования ЦБ». Если в регистре есть запись на дату, но с другой ставкой, то выдается сообщение, но ставка не меняется. На всякий случай, вдруг она сознательно изменена пользователем.

Конечно для обработки информации надо знать структуру HTML-страницы, которую можно изучить по дереву. И конечно загрузка ставок может перестать работать, если структура страницы изменится. Будем надеяться, что это произойдет не скоро.

11 Comments

  1. adhocprog

    А на cbr.ru нет загрузки курсов в формате xml?

    Reply
  2. acrk

    (1) adhocprog,

    Нет, наверное. А зачем Вам?

    В 1С же есть загрузка курсов с сайта РБК.

    Reply
  3. Nevermore

    <<…И конечно загрузка ставок может перестать работать, если структура страницы изменится. Будем надеяться, что это произойдет не скоро>>

    Увы, наверное, оно всё-таки произошло ;(

    Не грузится….

    Reply
  4. acrk

    (3) Nevermore, Да, надо немножко подправить. В обработках расчета процентов я подправлял.

    Но теперь это смысла не имеет, потому что на этой странице после 01.01.2016 их больше не будет.

    Их вообще больше не будет, потому что с 01.01.2016 ставка рефинансирования приравнена к ключевой ставке ЦБ РФ. На сайте ЦБ РФ ее можно найти.

    На 01.01.2016 она было 11 %.

    Так что теперь за ней надо следить, а в программах вручную устанавливать.

    Reply
  5. acrk

    (3) Nevermore, Решил все-таки обработку подправить, чтоб загружалось. Для истории. Регистр СтавкаРефинансированияЦБ из БП 3.0 удалили.

    Reply
  6. m_aster

    Обработка потеряла свое значение, регистр ставок удален, интересно где сейчас хранится ключевая ставка в БП 3.0, например?

    Reply
  7. acrk

    (6) m_aster, я так понимаю, что нигде. Разработчикам она нигде не нужна, в типовой конфигурации она нигде не используется.

    Я с линией консультаций общался по этому поводу, они передали ответ разработчиков — типа, мы разработчики, как считаем нужным, так и делаем, имеем право (по праву автора).

    Видимо молодежь пришла новая.

    Я им возразил, что раз сделали структуру, включили в интерфейс, дали право легально ее данными наполнять, то удалять уже не имеют права, потому что данные там уже не их, а пользователя.

    Но дело-то уже сделано, удаленного не вернешь.

    Reply
  8. Светлый ум

    Будем заводить свой регистр))

    Reply
  9. acrk

    (8) Важное свойство обработки — возможность не снимать конфигурацию с поддержки. Поэтому пока не будем. Говорят в 11-й платформе можно в расширении новые метаданные добавлять. Вот она стабилизируется, подумаем.

    Reply
  10. Gnej

    Данная обработка в актуальном состоянии, или ее нужно дорабатывать? Ссылка на сайт ЦБ или еще что то поменялось?

    Reply
  11. acrk

    (10) Обработка-то актуальная.

    Только с 2016 ЦБ отказался от ставки рефинансирования и прировнял ее к ключевой ставке. Поэтому на соответствующей странице ЦБ РФ ставки рефинансирования только до 01.01.2016.

    А аналогичной страницы с ключевой ставкой я на сайте ЦБ РФ не нашел 🙂

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *