Отключение минимальной версии запуска программы (БСП)

После обновления БП3 при входе в 1С выдается предупреждение «Для работы с программой необходимо использовать версию платформы 1С Предприятие 8 не ниже«:

Менять платформу на сервере — это целая эпопея. А бухгалтерам надо работать здесь и сейчас, поэтому решил написать расширение, отключающее этот контроль.

Хотел поправить по методике расширения модуля ОбщегоНазначения из статьи на дзене:

Но увы, в модуле так сильно (в духе 1С) использованы переопределения функций, что на выходе я все равно получаю то, что задумано 1с:

Поэтому я переопределили функцию ОбщиеПараметрыБазовойФункциональности из модуля ОбщегоНазначения:


Функция омвп_ВерсияПриложения()
	СистемнаяИнформация = Новый СистемнаяИнформация;
	Возврат  СистемнаяИнформация.ВерсияПриложения;
КонецФункции


&Вместо("ОбщиеПараметрыБазовойФункциональности")
Функция омвп_ОбщиеПараметрыБазовойФункциональности()
	// Вставить содержимое метода.
	Результат = ПродолжитьВызов();                             
	омвп_ВерсияПриложения = омвп_ВерсияПриложения();
	Результат.Вставить("РаботаВПрограммеЗапрещена", ложь);
	Результат.Вставить("МинимальнаяВерсияПлатформы", омвп_ВерсияПриложения);
	Результат.Вставить("МинимальноНеобходимаяВерсияПлатформы", омвп_ВерсияПриложения);
	Результат.Вставить("МинимальноНеобходимаяВерсияПлатформы", омвп_ВерсияПриложения);
	Возврат Результат;
КонецФункции


При старте у администратора и пользователей с полными правами все равно показывается сообщение, но только один раз:

Можно конечно его отключить в процедуре ПараметрыПроверкиВерсииПлатформыПриЗапуске модуля ПолучениеОбновленийПрограммыВызовСервера:

	// Определение необходимости отображения сообщения.
	Если Не РаботаВПрограммеЗапрещена Тогда
		
		Если Не Результат.ЭтоАдминистраторСистемы Тогда
			
			// Если работа в программе разрешена, тогда не показывать
			// сообщение обычному пользователю.
			Результат.Продолжить = Истина;
			Возврат Результат;
			
		Иначе
			
			// Проверить необходимость показа оповещения администратору.
			НастройкиОповещения = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить(
				"ИнтеррнетПоддержка_ПолучениеОбновленийПрограммы",
				ПолучениеОбновленийПрограммы.КлючНастройкиСообщениеОНерекомендуемойВерсииПлатформы());
			
			Если ТипЗнч(НастройкиОповещения) = Тип("Структура") Тогда
				
				СвойстваПроверки = Новый Структура("МетаданныеИмя,МетаданныеВерсия,РекомендуемаяВерсияПлатформы");
				ЗаполнитьЗначенияСвойств(СвойстваПроверки, НастройкиОповещения);
				
				Если ИнтернетПоддержкаПользователей.ИмяКонфигурации() = СвойстваПроверки.МетаданныеИмя
					И ИнтернетПоддержкаПользователей.ВерсияКонфигурации() = СвойстваПроверки.МетаданныеВерсия
					И РекомендуемаяВерсияПлатформы = СвойстваПроверки.РекомендуемаяВерсияПлатформы Тогда
					
					// Если сообщение уже отображалось для текущего набора
					// свойств метаданных, тогда пропустить отображение сообщения.
					Результат.Продолжить = Истина;
					Возврат Результат;
					
				КонецЕсли;
				
			КонецЕсли;
			
		КонецЕсли;
		
	КонецЕсли;

Но я считаю это излишним.

Купить у меня за 800 руб.

Для ЗУП есть свой нюанс, там нужна дополнительная заплатка. Версия для ЗУП также работает только для Win, т.к. процедура проверки, это Linux или нет не срабатывает корректно (Linux_E2K появилось в более поздней платформе чем 8.3.22.0):

Функция ЭтоLinuxКлиент() Экспорт
	
	СистемнаяИнформация = Новый СистемнаяИнформация;
	ТипПлатформыКлиента = СистемнаяИнформация.ТипПлатформы;
	
	Возврат ТипПлатформыКлиента = ТипПлатформы.Linux_x86
		Или ТипПлатформыКлиента = ТипПлатформы.Linux_x86_64
		Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.22.0") >= 0
			И (ТипПлатформыКлиента = ТипПлатформы["Linux_ARM64"]
			Или ТипПлатформыКлиента = ТипПлатформы["Linux_E2K"]);
	
КонецФункции

При желании, для Linux можно сделать отдельную версию расширения.

Версии:

  • 2024-01-22: ЗУП 3.1.27.129/8.3.22.1709/WIN
  • 2024-01-10: БП 3.0.156.35

Среда: 3.0.146.35

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментария 3

  1. s:

    глушануть форму отказ = истина

  2. bob32:

    А это к порче данных и прочим глюкам привести не может ?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *