Добрый день! Подскажите, где можно найти последние релизы определенной конфигурации? У меня есть регламент по закачке обновлений, мне нужен список нескольких последний обновлений.
---
По прежнему они все перечислены в XML тут: downloads.1c.ru/ipp/ITSREPV/V8Update/Configs/HRM/31/83/v8upd11.zip
---
Релизы 1с
---
Мне нужно парсить список, может есть ссылка, где версии идут списком или текстом?
---
Вот тут можно в HTML взять https://releases.1c.ru/project/HRM30
---
А как вычленить оттуда сами версии?
---
там будет текст
                        <tr>
                            <td class="versionColumn">
 3.1.18.151
                            </td>
или находите все варианты 3.14.<число>, смотрите у которого самое большое <число>,
или просто первый 3.14.<число> берёте, он по идее и должен быть последним.
---
Нет, надо получить просто последние 10 релизов, без привязки к 3.1.14. Это сейчас 3.1.14 не скачивается, а 3.1.18 скачивается. А полгода назад тоже самое было с 3.1.10 и 3.1.14. Даже опять что то поменяют.
---
Тогда ещё проще - первые 10 кусков начинающихся с <td class="versionColumn"><a href=
---
Я открыла тот файл, у меня самые свежие с конца, так и должно быть?
---
да - там по убыванию даты публикации
---
Подскажите, а где проще искать последние версии в html или xml? Я еще такого не делала.
---
ИМХО, проще в XML - можно использовать объекты для него предназначенные ( если в 1с), но сайт его отдаёт в ZIP архиве - значит надо будет его ещё распаковать.
---
Ок, спасибо! Я не знаю как распаковывать и читать в xml. Создам лучше новую тему.
---
По прежнему они все перечислены в XML тут: downloads.1c.ru/ipp/ITSREPV/V8Update/Configs/HRM/31/83/v8upd11.zip
---
Вопрос по этой ссылке. Точно ли в ней будут отображаться выходы всех версий? И устаревших тоже? В данном случае это 3.1.14. Посмотрела в xml там вроде как только 3.1.18. А на сайте с релизами https://releases.1c.ru/project/HRM30 между ними был еще и 3.1.14.
Сейчас проверить не могу, т.к. последняя 3.1.18.
---
Да, в XML они по возростанию:

 <v8u:update configuration="ЗарплатаИУправлениеПерсоналом">
  <v8u:vendor>Фирма "1С"</v8u:vendor>
  <v8u:file>1c/HRM/3_1_14_615/1cv8.zip</v8u:file>
  <v8u:size>35120122</v8u:size>
  <v8u:version platform="8.3.14.1976">3.1.14.615</v8u:version>
  <v8u:target>3.1.14.587</v8u:target>
  <v8u:target>3.1.14.586</v8u:target>
 </v8u:update>
---
У меня эта версия(3.1ю14)в середине файла. Я планировала взять в конце строку или несколько. Просто сложность в том, что сейчас 1С выпускает не по номеру. Ну т.е. по логике 3.1.14 будет в середине файла, но по сути это может завтра оказаться самым свежим обновлением если его 1 с выпустит. И как его искать - не понятно. Там нет ни даты, ни другой пометки..
---
По максимальному приведённому к числу тексту после 3.1.14. в поиске по тэгу v8u:version
---
Тут тоже будет не айс потому что как я выше писала, 1с они меняют актуальный и не актуальные версии. Ну т.е. полгода назад это были 3.1.10 и 3.1.14. 3.1.10 была уже неактуальная, а 3.1.14 рабочая. Сейчас это уже 3.1.14 и 3.1.18. И это не конец. В ЗУП так дальше и будет. Можно конечно завести констатнту, где писать все эти версии, но это же мы узнаем постфактум, когда какое то количество версий не обновится. Может все таки как то прочитать https://releases.1c.ru/project/HRM30? Брать последнюю версию и все.
---
просто идет поддержка сразу нескольких версий баз. Соответственно новые релизы (не по номеру версий) показываются выше.
Можно выбрать все вхождения номера 3.1.14 и выбирать с наибольшим номером.
Или искать с начала до совпадения с нужным началом номера. Это и будет крайний релиз.
---
Выше уже писала, что 1с меняют актуальный и не актуальные версии. Ну т.е. полгода назад это были 3.1.10 и 3.1.14. 3.1.10 была уже неактуальная, а 3.1.14 рабочая. Сейчас это уже 3.1.14 и 3.1.18. В xml нет ни даты, ничего чтобы помогло. Может все таки как то прочитать https://releases.1c.ru/project/HRM30? Брать последнюю версию и все.
---
искать крайнюю версию, в которой
<v8u:target>3.0.25.125</v8u:target> содержит текущую версию.
---
3.0.25.125
Почему так? Получается, что нужная мне версия это 3_1_1_61?
---
это означает, что обе версии обновления позволяют обновить текущую версию. Соответственно выбираете более новую (с наибольшим номером релиза)
---
Смысл в том, что нужны 2 версии. Все можно на все обновить, но не всегда надо.
---
если выберите для обновления 3.1.1.60, то потом нужно будет еще раз обновиться на 3.1.1.61.
Если выберете сразу 3.1.1.61, то пропустите промежуточное обновление. По этому сразу ищете наибольший номер релиза, который поддерживает обновление с текущего номера и на него обновляете, пропуская промежуточные обновления. Это стандартное поведение.
---
и еще, 3.0.25.125 это для примера. Вместо него ищете свой текущий установленный номер релиза.
---
у конфигурации 2 ветки : длительного сопровождения и обычная. Обычная - максимальная из файла XML.
а длительного сопровождения - объявляется вручную (1. Версия длительного сопровождения 3.1.14.) и для неё лучше просто завести константу.
---
Я про константу писала выше. Минус, что - "Можно конечно завести констатнту, где писать все эти версии, но это же мы узнаем постфактум, когда какое то количество версий не обновится"
---
покажите, как вы парсили TXT может действительно проще будет из html определить версию.
---
Да очень просто. По ссылке http://downloads.1c.ru/ipp/ITSREPV/V8Update/Configs/HRM/31/83/UpdInfo.txt получаем версию. В данный момент это 3.1.18.151. И скачиваем по пути к нему.
"1c/" + ИмяКонфигурации + Версия + "1cv8.zip";
И все.
---
и наступаем на грабли, если это обновление не поддерживает текущее. Пропустили несколько обновлений и больше не обновить так.
---
Я не говорю, что я сразу обновляю. Нужны только скачанные в папку обновления. Т.е. есть спец. папка на сервере, где нужны все свежие обновления. Там уже люди сами смотрят что надо обновить и когда.
---
в HTML тоже самое.
---
Сейчас для xml у меня такой код

```1c
    Имя = ПолучитьИмяВременногоФайла("zip");
    КопироватьФайл("http://downloads.1c.ru/ipp/ITSREPV/V8Update/Configs/HRM/31/83/v8upd11.zip", Имя);
    ЧтениеZIP = Новый ЧтениеZipФайла(Имя);
    ЧтениеZIP.ИзвлечьВсе(КаталогВременныхФайлов(), РежимВосстановленияПутейФайловZIP.Восстанавливать);
    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.ОткрытьФайл(КаталогВременныхФайлов() + "v8cscdsc.xml");
    ЧтениеXML.Прочитать();
```

Я так понимаю извлечений из zip не нужно. Можно сразу читать из html?
---
да, причём можно как простой текстовый файл.
---
Тоже никогда не делала.
Это через ЧтениеHTML надо делать?
---
нет, просто читайте его как UpdInfo.txt , и ищите первое a href="/version_files?nick=HRM30&ver=
---
Просто так не получается. Я получаю именно файл txt, а в случае со страницей как получить сам текст?
---
абсолютно так-же
---
Может и так, но у меня возвращается с ошибкой :-(
---
Чтобы его скачать надо авторизоваться, может это пропустили?
---
Вы имеете в ввиду пароль и логин? Не было, я добавила, но все равно не работает. Буду переделывать на http запрос.
---
Наберите в поисковике калькулятор обновлений 1С
или
https://www.freesc.ru/1spredpriyatie/calc-update.html
---
Как все сложно. Наверное надо начинать новую тему. Как получить последний релиз из html..