ПараметрыПроверкиВерсииПлатформыПриЗапуске (БСП)

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

Параметры проверки версии платформы при запуске. Проверка версии платформы 1С:Предприятие при начале работы программы.

////////////////////////////////////////////////////////////////////////////////
// Проверка версии платформы 1С:Предприятие при начале работы программы.

Функция ПараметрыПроверкиВерсииПлатформыПриЗапуске() Экспорт
	
	Результат = Новый Структура;
	Результат.Вставить("Продолжить"             , Ложь);
	Результат.Вставить("ЭтоАдминистраторСистемы", Пользователи.ЭтоПолноправныйПользователь(, Истина, Ложь));
	
	ПараметрыБазовойФункциональности = ОбщегоНазначения.ОбщиеПараметрыБазовойФункциональности();
	
	ТекущаяВерсияПлатформы       = ИнтернетПоддержкаПользователей.ТекущаяВерсияПлатформы1СПредприятие();
	МинимальнаяВерсияПлатформы   = ПараметрыБазовойФункциональности.МинимальнаяВерсияПлатформы;
	РекомендуемаяВерсияПлатформы = ПараметрыБазовойФункциональности.РекомендуемаяВерсияПлатформы;
	
	РаботаВПрограммеЗапрещена = (ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ТекущаяВерсияПлатформы, МинимальнаяВерсияПлатформы) < 0);
	
	// Определение необходимости отображения сообщения.
	Если Не РаботаВПрограммеЗапрещена Тогда
		
		Если Не Результат.ЭтоАдминистраторСистемы Тогда
			
			// Если работа в программе разрешена, тогда не показывать
			// сообщение обычному пользователю.
			Результат.Продолжить = Истина;
			Возврат Результат;
			
		Иначе
			
			// Проверить необходимость показа оповещения администратору.
			НастройкиОповещения = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить(
				"ИнтеррнетПоддержка_ПолучениеОбновленийПрограммы",
				"СообщениеОНерекомендуемойВерсииПлатформы");
			
			Если ТипЗнч(НастройкиОповещения) = Тип("Структура")
				И НастройкиОповещения.Свойство("МетаданныеИмя")
				И НастройкиОповещения.Свойство("МетаданныеВерсия")
				И ИнтернетПоддержкаПользователей.ИмяКонфигурации() =
					НастройкиОповещения.МетаданныеИмя
				И ИнтернетПоддержкаПользователей.ВерсияКонфигурации() =
					НастройкиОповещения.МетаданныеВерсия  Тогда
				
				// Если сообщение уже отображалось для текущего набора
				// свойств метаданных, тогда пропустить отображение сообщения.
				Результат.Продолжить = Истина;
				Возврат Результат;
				
			КонецЕсли;
			
		КонецЕсли;
		
	КонецЕсли;
	
	// Определение параметров отображения оповещения.
	Результат.Вставить("РаботаВПрограммеЗапрещена",
		ПараметрыБазовойФункциональности.РаботаВПрограммеЗапрещена);
	
	ТекстСообщения = "<body>" + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
		НСтр("ru = 'Для работы с программой %1 использовать версию платформы &quot;1С:Предприятие 8&quot; не ниже: <b>%2</b>
			|<br />Используемая сейчас версия: %3'"),
		?(ПараметрыБазовойФункциональности.РаботаВПрограммеЗапрещена,
			НСтр("ru = 'необходимо'"),
			НСтр("ru = 'рекомендуется'")),
		?(РаботаВПрограммеЗапрещена, МинимальнаяВерсияПлатформы, РекомендуемаяВерсияПлатформы),
		ТекущаяВерсияПлатформы);
	
	Если Не Результат.ЭтоАдминистраторСистемы Тогда
		
		// В этой ветви работа в программе запрещена.
		ТекстСообщения = ТекстСообщения + "<br /><br />"
			+ НСтр("ru = 'Вход в программу невозможен.<br />
				|Необходимо обратиться к администратору для обновления версии платформы 1С:Предприятие.'");
		
	ИначеЕсли ПараметрыБазовойФункциональности.РаботаВПрограммеЗапрещена Тогда
		
		ТекстСообщения = ТекстСообщения + "<br /><br />"
			+ НСтр("ru = 'Вход в программу невозможен.<br />
				|Необходимо предварительно обновить версию платформы 1С:Предприятие.'");
		
	Иначе
		
		ТекстСообщения = ТекстСообщения + "<br /><br />"
			+ НСтр("ru='Рекомендуется обновить версию платформы 1С:Предприятия.<br />
				|В противном случае некоторые возможности программы будут недоступны или будут работать некорректно.'");
		
	КонецЕсли;
	
	ТекстСообщения = ТекстСообщения + "</body>";
	Результат.Вставить("ТекстСообщения",
		ИнтернетПоддержкаПользователейКлиентСервер.ФорматированныйЗаголовок(ТекстСообщения));
	
	Возврат Результат;
	
КонецФункции

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

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

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

ИнтерактивнаяОбработкаПроверкиВерсииПлатформыПриЗапуске (БСП)

ПриПроверкеВерсииПлатформыПриЗапуске (БСП)

ИнициализироватьПараметрыПроверкиРасхожденияВерсий (БСП)

ВерсияПлатформыВЧисло (БСП)

Узнать версию платформы

СтрШаблон (8.1, 8.2, 8.3 в режиме совместимости 8.2)

ТребуемаяВерсияПлатформы (БСП)

ТекущаяВерсияПлатформы1СПредприятие (БСП)

ПриПроверкеБлокировкиОбластиДанныхПриЗапуске (БСП)

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