Имя: Пароль:
1C
 
Как бы обмануть 1С при старте о режиме совместимости?
☑
0 Гений 1С
 
гуру
28.09.26
✎
16:35
В 1с оказались плохие пророки, я поставил режим совместимости 8.3.17 и 1с вылетает при обновлениях.
Добавляю когд игнора внутри.
Но как-то можно ее обмануть расширением? Вместо с контролем не предлагать, там код меняется от релиза к релизу.

	Если ТекущийРежим = Режимы.НеИспользовать Тогда
		ПоддерживаемыеВерсииПлатформы = СтрРазделить("8.3.14, 8.3.15, 8.3.16", ", ", Ложь);
		
		Если ПоддерживаемыеВерсииПлатформы.Найти(ВерсияПлатформы) <> Неопределено Тогда 
			НеПоддерживаемаяВерсияПлатформы = "";
		Иначе
			НеПоддерживаемаяВерсияПлатформы = ВерсияПлатформы;
		КонецЕсли;
	ИначеЕсли ТекущийРежим = Режимы.Версия8_1 Тогда
		НеПоддерживаемаяВерсияПлатформы = "8.1"
	ИначеЕсли ТекущийРежим = Режимы.Версия8_2_13 Тогда
		НеПоддерживаемаяВерсияПлатформы = "8.2.13"
	ИначеЕсли ТекущийРежим = Режимы.Версия8_2_16 Тогда
		НеПоддерживаемаяВерсияПлатформы = "8.2.16";
	ИначеЕсли ТекущийРежим = Режимы.Версия8_3_1 Тогда
		НеПоддерживаемаяВерсияПлатформы = "8.3.1";
	ИначеЕсли ТекущийРежим = Режимы.Версия8_3_2 Тогда
		НеПоддерживаемаяВерсияПлатформы = "8.3.2";
	ИначеЕсли ТекущийРежим = Режимы.Версия8_3_3 Тогда
		НеПоддерживаемаяВерсияПлатформы = "8.3.3";
	ИначеЕсли ТекущийРежим = Режимы.Версия8_3_4 Тогда
		НеПоддерживаемаяВерсияПлатформы = "8.3.4";
	ИначеЕсли ТекущийРежим = Режимы.Версия8_3_5 Тогда
		НеПоддерживаемаяВерсияПлатформы = "8.3.5";
	ИначеЕсли ТекущийРежим = Режимы.Версия8_3_6 Тогда
		НеПоддерживаемаяВерсияПлатформы = "8.3.6";
	ИначеЕсли ТекущийРежим = Режимы.Версия8_3_7 Тогда
		НеПоддерживаемаяВерсияПлатформы = "8.3.7";
	ИначеЕсли ТекущийРежим = Режимы.Версия8_3_8 Тогда
		НеПоддерживаемаяВерсияПлатформы = "8.3.8";
	ИначеЕсли ТекущийРежим = Режимы.Версия8_3_9 Тогда
		НеПоддерживаемаяВерсияПлатформы = "8.3.9";
	ИначеЕсли ТекущийРежим = Режимы.Версия8_3_10 Тогда
		НеПоддерживаемаяВерсияПлатформы = "8.3.10";
	ИначеЕсли ТекущийРежим = Режимы.Версия8_3_11 Тогда
		НеПоддерживаемаяВерсияПлатформы = "8.3.11";
	ИначеЕсли ТекущийРежим = Режимы.Версия8_3_12 Тогда
		НеПоддерживаемаяВерсияПлатформы = "8.3.12";
	ИначеЕсли ТекущийРежим = Режимы.Версия8_3_13 Тогда
		НеПоддерживаемаяВерсияПлатформы = "8.3.13";
	Иначе
		ТекущийРежимСтрокой = Строка(ТекущийРежим);
		
		Если СтрЗаканчиваетсяНа(ТекущийРежимСтрокой, "8_3_14")
			Или СтрЗаканчиваетсяНа(ТекущийРежимСтрокой, "8_3_15")
			Или СтрЗаканчиваетсяНа(ТекущийРежимСтрокой, "8_3_16") Тогда 
			
			НеПоддерживаемаяВерсияПлатформы = "";
		Иначе
			НеПоддерживаемаяВерсияПлатформы = ТекущийРежимСтрокой;
		КонецЕсли;
	КонецЕсли;

	НеПоддерживаемаяВерсияПлатформы = ""; //Мой патч
	
	Если ЗначениеЗаполнено(НеПоддерживаемаяВерсияПлатформы) Тогда
		ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
			НСтр("ru = 'Режим совместимости конфигурации с 1С:Предприятием версии %1 не поддерживается.
					   |Для запуска установите в конфигурации режим совместимости ""Не использовать"" при разработке на версии %2
					   |(или ""Версия %2"" при разработке на более старших версиях).';
					   |en = 'Configuration compatibility mode ""Version %1"" is not supported. 
					   |To start the application, set the compatibility mode to ""None"" (on 1C:Enterprise version %2)
					   | or to ""Version %2"" (on a later 1C:Enterprise version).'"),
			НеПоддерживаемаяВерсияПлатформы, ПоддерживаемаяВерсияПлатформы);
	КонецЕсли;
1 Chameleon1980
 
28.09.26
✎
16:05
просто вместо
2 maxab72
 
28.09.26
✎
16:34
&Вместо("МинимальнаяВерсияПлатформыДляИспользования")
Функция _МинимальнаяВерсияПлатформыДляИспользования() Экспорт
    
    // Не рекомендуется менять в исправительных релизах.
    Версии = Новый СписокЗначений;
    Версии.Добавить("8.3.17", "8.3.17.1");
    Версии.Добавить("8.3.24", "8.3.17.1");
    Версии.Добавить("8.3.25", "8.3.17.1");
    Версии.Добавить("8.3.26", "8.3.17.1");
    Версии.Добавить("8.3.27", "8.3.17.1");
    
    Возврат Версии;
    
КонецФункции
3 PR
 
28.09.26
✎
16:49
(0) Господи, какое позорище, как-будто первогодок на Мисту забрел
Кто там его предлагал в конкурс лучших из лучших запихнуть?
4 PLUT
 
гуру
28.09.26
✎
16:55
> НеПоддерживаемаяВерсияПлатформы = ""; //Мой патч

у Г1С костыль == модное слово патч (пластырь)
5 Гений 1С
 
гуру
28.09.26
✎
17:00
(2) и как это поможет в данном случае
(3) мимо
(4) пастырь
6 Гений 1С
 
гуру
28.09.26
✎
17:03
ладно, я заколебался править после каждого обновления и поменял режим совместимости на 8.3.16, если что в расширениях отвалится, потом добавлю.
7 Ненавижу 1С
 
гуру
28.09.26
✎
17:13
.