gifts2017

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

Опубликовал vx_gas vx_gas (vx_gas) в раздел Администрирование - Системное

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

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

 

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

 

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

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

 

код ниже:

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

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

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

 

Попытка

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

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

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

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

 

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

 

Скачать файлы

Наименование Файл Версия Размер
Проверка версии конфигурации (актуальная / не актуальная) 1
.epf 6,29Kb
07.03.15
1
.epf 1.0 6,29Kb Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение
Комментарии
1. Алексей 1 (AlX0id) 18.03.15 18:30
Сдается мне, именно эта обработка и послужит руководством к действию изменить еще разик сей непостоянный сайт 1с ))
Не знал, что можно без авторизации получать информацию о релизах, не знал..
3. Алексей 1 (AlX0id) 19.03.15 09:19
(2) webester,
О, а вот это, похоже, более подходящий кандидат для парсинга. Спасибо %)
4. Кирилл Кремянский (xsazar) 19.03.15 13:07
Пример с ЗУП 2,5 синоним у конфы "Зарплата и Управление Персоналом, редакция 2.5" на сайте "Зарплата и Управление Персоналом ред. 2.5" итог: НачалоПозицииРелиза =0)
Хорошая попытка! Думай дальше))