Функция РазложитьДатуОбновления(СтрокаДаты)
Год = Сред(СтрокаДаты, 7, 4);
Месяц = Сред(СтрокаДаты, 4, 2);
День = Лев(СтрокаДаты, 2);
Часы = Сред(СтрокаДаты, 12, 2);
Минуты = Прав(СтрокаДаты, 2);
Возврат Дата(Год + Месяц + День + Часы + Минуты + "00");
КонецФункции
Процедура КнопкаВыполнитьНажатие(Кнопка)
Дерево.Строки.Очистить();
АдресСервера = "downloads.1c.ru";
АдресСТранички = "/release_info/categ_js.jsp?GroupID=88";
Соединение = Новый HTTPСоединение(АдресСервера);
Запрос = Новый HTTPЗапрос;
Запрос.АдресРесурса = АдресСТранички;
Ответ = Соединение.Получить(Запрос);
Тело = Ответ.ПолучитьТелоКакСтроку();
Тело = СтрЗаменить(Тело, "document.write('", "");
Тело = СтрЗаменить(Тело, "');", "");
Тело = СтрЗаменить(Тело, Символы.ПС, "");
ЧтениеHTML = Новый ЧтениеHTML;
ЧтениеHTML.УстановитьСтроку(Тело);
ПостроительDOM = Новый ПостроительDOM;
ДокументHTML = ПостроительDOM.Прочитать(ЧтениеHTML);
ЭлементыDOM = ДокументHTML.ПолучитьЭлементыПоИмени("tr");
Для каждого ЭлементDOM Из ЭлементыDOM Цикл
ДочерниеУзлы = ЭлементDOM.ПолучитьЭлементыПоИмени("td");
Если ДочерниеУзлы.Количество()= 0 Тогда
Продолжить;
КонецЕсли;
Если ДочерниеУзлы.Количество()= 1 Тогда
Корень = Дерево.Строки.Добавить();
Корень.Конфигурация = ЭлементDOM.ТекстовоеСодержимое;
КОрень.НедавноОбновлено = Ложь;
ИначеЕсли ДочерниеУзлы.Количество()= 3 Тогда
ЕщеДочерниеУзлы = ДочерниеУзлы[0].ПолучитьЭлементыПоИмени("span");
ВетвьКорня = Корень.Строки.Добавить();
Если ЕщеДочерниеУзлы[0].ИмяКласса = "new" Тогда
ВетвьКорня.НедавноОбновлено = Истина;
Корень.НедавноОбновлено = Истина;
Иначе
ВетвьКорня.НедавноОбновлено = Ложь;
КонецЕсли;
ВетвьКорня.Конфигурация = ДочерниеУзлы[1].ТекстовоеСодержимое;
ВетвьКорня.ДатаОбновления = РазложитьДатуОбновления(ДочерниеУзлы[0].ТекстовоеСодержимое);
ВетвьКорня.НомерРелиза = ДочерниеУзлы[2].ТекстовоеСодержимое;
КонецЕсли;
КонецЦикла;
ЭлементыФормы.Дерево.СоздатьКолонки();
ЭлементыФОрмы.Дерево.Колонки.НедавноОбновлено.Видимость = Ложь;
КонецПроцедуры
Процедура ДеревоПриПолученииДанных(Элемент, ОформленияСтрок)
Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл
Если ОформлениеСтроки.ДанныеСтроки.НедавноОбновлено Тогда
ОформлениеСтроки.ЦветФона = Новый Цвет(255, 50, 50);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Дерево.Колонки.Добавить("Конфигурация", Новый ОписаниеТипов("Строка"));
Дерево.Колонки.Добавить("НедавноОбновлено");
Дерево.Колонки.Добавить("ДатаОбновления");
Дерево.Колонки.Добавить("НомерРелиза", Новый ОписаниеТипов("Строка"));