НачатьПроверкуНаличияОбновления (БСП)

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

Начать проверку наличия обновления. Проверка наличия обновлений в фоновом режиме.

////////////////////////////////////////////////////////////////////////////////
// Проверка наличия обновлений в фоновом режиме.

Функция НачатьПроверкуНаличияОбновления() Экспорт
	
	Если Не ПолучениеОбновленийПрограммы.ДоступноИспользованиеОбновленияПрограммы() Тогда
		Возврат Неопределено;
	КонецЕсли;
	
	Попытка
		
		ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(Новый УникальныйИдентификатор);
		ПараметрыВыполнения.ЗапуститьВФоне      = Истина;
		ПараметрыВыполнения.ОжидатьЗавершение   = 0;
		ПараметрыВыполнения.КлючФоновогоЗадания = "ПроверкаНаличияОбновленийПрограммы_" + Строка(Новый УникальныйИдентификатор);
		
		ПараметрыПроцедуры = Новый Структура;
		ПараметрыПроцедуры.Вставить("ПараметрыКлиента", ИнтернетПоддержкаПользователей.ПараметрыКлиента());
		
		Результат = ДлительныеОперации.ВыполнитьВФоне(
			"ПолучениеОбновленийПрограммы.ПроверитьНаличиеОбновленияВФоновомРежиме",
			ПараметрыПроцедуры,
			ПараметрыВыполнения);
		
		Если Результат.Статус = "Отменено" Тогда
			
			ПолучениеОбновленийПрограммы.ЗаписатьИнформациюВЖурналРегистрации(
				НСтр("ru = 'Не удалось выполнить фоновую проверку наличия обновлений. Задание отменено администратором.'"));
			Возврат Неопределено;
			
		ИначеЕсли Результат.Статус = "Ошибка" Тогда
			
			ПолучениеОбновленийПрограммы.ЗаписатьОшибкуВЖурналРегистрации(
				СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
					НСтр("ru = 'Ошибка фоновой проверки наличия обновлений. Не удалось выполнить фоновое задание. %1'"),
					Результат.ПодробноеПредставлениеОшибки));
			Возврат Неопределено;
			
		ИначеЕсли Результат.Статус = "Выполнено" Тогда
			
			Возврат Новый Структура("Идентификатор, АдресРезультата, Выполнено",
				Результат.ИдентификаторЗадания,
				Результат.АдресРезультата,
				Истина);
			
		Иначе
			
			Возврат Новый Структура("Идентификатор, АдресРезультата, Выполнено",
				Результат.ИдентификаторЗадания,
				Результат.АдресРезультата,
				Ложь);
			
		КонецЕсли;
		
	Исключение
		
		ПолучениеОбновленийПрограммы.ЗаписатьОшибкуВЖурналРегистрации(
			СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
				НСтр("ru = 'Ошибка фоновой проверки наличия обновлений. Не удалось выполнить фоновое задание. %1'"),
				ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())));
		Возврат Неопределено;
		
	КонецПопытки;
	
КонецФункции

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

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

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

РезультатЗаданияПроверкиНаличияОбновлений (БСП)

ПроверитьНаличиеОбновлений (БСП)

ПроверитьНаличиеОбновленияВФоновомРежиме (БСП)

НаличиеАктивныхСоединений (БСП)

ПолучениеОбновленийПрограммы_ПроверитьНаличиеОбновлений (БСП)

НачатьПроверкуПодписиПослеИнициализацииСертификата (БСП)

ПроверитьЦиклическиеСсылки (БСП)

ПредупреждатьОНаличииРасширений (БСП)

НачатьОбновлениеКоманд (БСП)

Синтакс-помощник БСП с нейросетевым ассистентом