Автопроверка обновлений релиза конфигурации


Как то продинамил я обновление для клиента, глаз замылился и 61.2 с 62.1 попутал. Клиент, к счастью, понимающий оказался, и после того, как я все быстро и незаметно поправил, замечать моей оплошности не стал, а вот у меня осадочек остался, ну и решил я к такому делу набросать себе кода, для того чтобы само все проверялось, а мне только результат — актуальный релиз или нет

Разрабатывалось все под 8.2, по идее должно подходить к любой типовой конфигурации на обычных формах, на управляемых тоже прикрутится с некоторыми правками: Код простейший до безобразия, но на стабильность могут быть жалобы, ввиду того, что в данном коде присутствует неуправляемый и потенциально нестабильный элемент, а именно сайт 1С 🙂

 

Это зарисовка для встраивания, поэтому лицензия вида бери-дари и товар обмену и возврату не подлежит…

 

Как работает:

открыл в типовой конфигурации (обычные формы), нажал кнопку Выполнить, получил сообщение «Актуальный релиз» (все норм, можно не трепыхаться) или «Вышел новый релиз и номер релиза» (пора браться за работу).

 

код ниже:

//соединяемся

Соединение = Новый HTTPСоединение("downloads.1c.ru");

Запрос = Новый HTTPЗапрос("release_info/categ_js.jsp?GroupID=88");



Попытка

Ответ = Соединение.Получить(Запрос);

//получаем ответ, не особо люблю файлы плодить, поэтому в память получаем
Исключение
Сообщить("Не удалось получить версию!!!");
возврат;
КонецПопытки;

ТекстХТМЛ = Ответ.ПолучитьТелоКакСтроку(КодировкаТекста.ANSI);
//Сообщить(ТекстХТМЛ);
НачалоПозицииРелиза = Найти(ТекстХТМЛ, Метаданные.Синоним);
Если НачалоПозицииРелиза = 0 Тогда
Сообщить("Не удалось получить версию!!!");
возврат;
Иначе

НачалоПозицииРелиза = НачалоПозицииРелиза + СтрДлина(Метаданные.Синоним)+ 55;
НовыйРелиз = Сред(ТекстХТМЛ, НачалоПозицииРелиза, 8);
ТекущийРелиз = Метаданные.Версия;
Если НовыйРелиз = ТекущийРелиз Тогда
Сообщить("Актуальный релиз");
Иначе
Сообщить("ВЫШЕЛ НОВЫЙ РЕЛИЗ !!! "+НовыйРелиз);
КонецЕсли;
КонецЕсли;

 

Для особо ленивых обработка прилагается…

 

4 Comments

  1. AlX0id

    Сдается мне, именно эта обработка и послужит руководством к действию изменить еще разик сей непостоянный сайт 1с ))

    Не знал, что можно без авторизации получать информацию о релизах, не знал..

    Reply
  2. webester
  3. AlX0id

    (2) webester,

    О, а вот это, похоже, более подходящий кандидат для парсинга. Спасибо %)

    Reply
  4. xsazar

    Пример с ЗУП 2,5 синоним у конфы «Зарплата и Управление Персоналом, редакция 2.5» на сайте «Зарплата и Управление Персоналом ред. 2.5» итог: НачалоПозицииРелиза =0)

    Хорошая попытка! Думай дальше))

    Reply

Leave a Comment

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