ОписаниеФайловОбновлений (БСП)

Автор: 1С
ОбщийМодуль.ПолучениеОбновленийПрограммы
БСП

Описание файлов обновлений. Возвращает информацию о файлах обновления для получения файлов в сценариях

// Возвращает информацию о файлах обновления для получения файлов в сценариях
// помощника "Обновление программы".
//
Функция ОписаниеФайловОбновлений(
	ОбновлениеКонфигурации,
	ИдентификаторыИсправлений,
	ОбновлениеПлатформы,
	Логин,
	Пароль,
	ПараметрыКлиента = Неопределено) Экспорт
	
	Результат = Новый Структура;
	Результат.Вставить("ИмяОшибки"             , "");
	Результат.Вставить("Сообщение"             , "");
	Результат.Вставить("ИнформацияОбОшибке"    , "");
	Результат.Вставить("ОбновленияКонфигурации", Новый Массив);
	Результат.Вставить("Исправления"           , Новый Массив);
	Результат.Вставить("URLФайлаОбновленияПлатформы", "");
	Результат.Вставить("РазмерОбновленияПлатформы"  , 0);
	
	Если ОбновлениеПлатформы <> Неопределено Тогда
		Результат.Вставить("ВерсияПлатформы"          , ОбновлениеПлатформы.Версия);
		Результат.Вставить("РазмерОбновленияПлатформы", ОбновлениеПлатформы.РазмерОбновления);
	Иначе
		Результат.Вставить("ВерсияПлатформы"          , "");
		Результат.Вставить("РазмерОбновленияПлатформы", 0);
	КонецЕсли;
	
	НастройкиСоединения = ИнтернетПоддержкаПользователей.НастройкиСоединенияССерверами();
	
	// Проверка доступности сервиса.
	URLОперацииPing = URLОперацииPing(НастройкиСоединения.ДоменРасположенияСерверовИПП);
	РезультатПроверки = ИнтернетПоддержкаПользователей.ПроверитьURLДоступен(URLОперацииPing);
	
	Если Не ПустаяСтрока(РезультатПроверки.ИмяОшибки) Тогда
		Результат.ИмяОшибки = РезультатПроверки.ИмяОшибки;
		Результат.Сообщение = РезультатПроверки.СообщениеОбОшибке;
		Результат.ИнформацияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
			НСтр("ru = 'Не удалось получить информацию о файлах обновления.
				|Не удалось проверить доступность сервиса автоматического обновления программы: %1.
				|Причина:
				|%2'"),
			URLОперацииPing,
			РезультатПроверки.ИнформацияОбОшибке);
		ЗаписатьОшибкуВЖурналРегистрации(Результат.ИнформацияОбОшибке);
		Возврат Результат;
	КонецЕсли;
	
	Если ОбновлениеКонфигурации <> Неопределено Или ОбновлениеПлатформы <> Неопределено Тогда
		ПолучитьОписаниеФайловОбновленияКонфигурацииИПлатформы(
			Результат,
			ОбновлениеКонфигурации,
			ОбновлениеПлатформы,
			Логин,
			Пароль,
			НастройкиСоединения,
			ПараметрыКлиента);
		Если Не ПустаяСтрока(Результат.ИмяОшибки) Тогда
			Возврат Результат;
		КонецЕсли;
	КонецЕсли;
	
	Если ИдентификаторыИсправлений <> Неопределено И ИдентификаторыИсправлений.Количество() > 0 Тогда
		РезультатФайлыИсправлений = ОписаниеФайловИсправлений(
			ИдентификаторыИсправлений,
			Новый Структура("Логин, Пароль", Логин, Пароль),
			Ложь,
			ПараметрыКлиента);
		Если Не ПустаяСтрока(РезультатФайлыИсправлений.ИмяОшибки) Тогда
			ЗаполнитьЗначенияСвойств(Результат, РезультатФайлыИсправлений, "ИмяОшибки, Сообщение, ИнформацияОбОшибке");
			Возврат Результат;
		КонецЕсли;
		
		Результат.Исправления = РезультатФайлыИсправлений.Исправления;
		
	КонецЕсли;
	
	Возврат Результат;
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ПараметрыОбновленияФайла (БСП)

ПриПодготовкеМакетаОписанияОбновлений (БСП)

ДокументОписаниеОбновлений (БСП)

НовоеОписаниеОбрабатываемыхДанных (БСП)

ОбновитьОписаниеНастройки (БСП)

ОписаниеДанныхФайлаКлассификатора (БСП)

ОписаниеПередаваемогоФайла (БСП)

1С Менеджер конфигураций