Отключение уведомления "Расширение конфигурации неактивно"

21.07.25

Разработка - Универсальные функции

Порой необходимо временно отключить расширение 1С, не удаляя его, чтобы не потерять данные. Но в этом случае при каждом запуске всем будет лезть уведомление о неактивном расширении, хотя очевидно, это техническая информация, которой не стоит лишний раз пугать пользователей.

 

Уведомления о неактивных расширениях формируются на уровне платформы, и в 1C нет описанных механизмов работы с ними, однако удалось зацепиться за встроенную функцию "ПолучитьСообщенияПользователю()", в которую оказывается попадают тексты уведомлений. При запуске она содержит тексты о неактивных расширениях в виде сообщений пользователю. Очистив которые, пропадают и уведомления.

В результате было найдено решение:

Процедура ОтключитьОповещенияОНеактивныхРасширениях()
	
	ИсходныеСообщения = ПолучитьСообщенияПользователю();
	ПолучитьСообщенияПользователю(Истина); // Очищаем сообщения пользователю  
	
	ИменаРасширений = Новый Массив;
	ИменаРасширений.Добавить("Имя: СинонимРасширения1");
	ИменаРасширений.Добавить("Имя: СинонимРасширения2");
	ИменаРасширений.Добавить("Имя: СинонимРасширения3");
	
	ОтобранныеСообщения = Новый Массив;
	
	// Отбираем сообщения не содержащие указанные расширения
	Для каждого Сообщение Из ИсходныеСообщения Цикл 
		
		СообщениеСодержитИмяРасширения = Ложь;
		
		Для каждого ИмяРасширения Из ИменаРасширений Цикл 	
			Если СтрНайти(Сообщение.Текст, ИмяРасширения) Тогда
				СообщениеСодержитИмяРасширения = Истина;
				Прервать;	
			КонецЕсли; 	
		КонецЦикла;
		
		Если Не СообщениеСодержитИмяРасширения Тогда
			ОтобранныеСообщения.Добавить(Сообщение);	
		КонецЕсли;
		
	КонецЦикла; 
	
	// Выводим отобранные сообщения пользователю
	Для каждого Сообщение Из ОтобранныеСообщения Цикл
		Сообщение.Сообщить();		
	КонецЦикла;
	
КонецПроцедуры

Данная процедура удаляет только уведомления об указанных нами расширениях и оставляет все остальные, например если активное расширение не применилось из-за конфликта. Имена расширений указываются в массиве "ИменаРасширений" с префиксом "Имя: " для большей точности, т.к. именно в таком виде они содержатся в тексте сообщения.

Поместить процедуру можно в любой удобный модуль на сервере при запуске. В моем случае положил в расширение в процедуру "СтандартныеПодсистемыСервер.УстановкаПараметровСеанса" с аннотацией "&Перед" и проверкой, чтобы запускалась только 1 раз при запуске:

ПриЗапуске = ИменаПараметровСеанса = Неопределено;
Если ПриЗапуске Тогда 
	ОтключитьОповещенияОНеактивныхРасширениях();
КонецЕсли;

Таким же образом можно выборочно удалять другие ненужные уведомления.

Тестирование проводилось на платформе 8.3.25.1374 и базе ERP 2.5

Вступайте в нашу телеграмм-группу Инфостарт

отключить скрыть очистить уведомление оповещение сообщение расширение конфигурации неактивно при запуске ПолучитьСообщенияПользователю

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С v8.3 8.3.14 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Библиотека стандартных подсистем 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Узнайте возможность внедрения подсистемы у себя в конфигурации с помощью бесплатной обработки "Анализ внедрения подсистемы 1С Infostart Dashboard"!

28800 руб.

27.03.2025    54178    29    25    

43

Работа с интерфейсом Программист 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Обработка предназначена для создания и управления дашбордами (виджетами) в 1С.

5160 руб.

29.06.2020    22761    32    6    

51

Работа с интерфейсом Программист 1С v8.3 Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

Редактор графов в 1С - внешний отчет, который формирует графы на основе таблицы значений, используя рисунки табличного документа. Есть возможность добавления, редактирования объектов графа и выгрузки результата в таблицу значений.

5040 руб.

06.10.2020    12756    8    8    

14

Универсальные функции Программист 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    45766    dimanich70    83    

161

WEB-интеграция Универсальные функции Механизмы платформы 1С Программист 1С v8.3 1C:Бухгалтерия Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    22584    YA_418728146    8    

174

Пакетная печать Печатные формы Адаптация типовых решений Универсальные функции 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

Расширение для программ 1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:ERP, которое позволяет распечатывать печатные формы для непроведенных документов. Можно настроить, каким пользователям, какие конкретные формы документов разрешено печатать без проведения документа.

2 стартмани

22.08.2023    7188    107    progmaster    20    

6

Работа с интерфейсом Программист 1С v8.3 1C:Бухгалтерия Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    13429    kalyaka    8    

35
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. fixin 4319 15.05.25 08:29 Сейчас в теме
Вы смогли победить эту проблему! Браво.
2. so-lf 2 15.05.25 09:28 Сейчас в теме
Да Еще и бесплатно поделился. ты святой!!!Здоровье тебе
3. Avatarzorro 64 15.05.25 11:02 Сейчас в теме
4. mikl79 120 15.05.25 11:32 Сейчас в теме
Спасибо, работает! Возьму в копилку.
5. VyacheslavShilov 15.05.25 23:17 Сейчас в теме
Благодарю за решение, использовал в расширении в модуле сеанса в виде:
&Перед("УстановкаПараметровСеанса")
Процедура _УстановкаПараметровСеанса(ИменаПараметровСеанса)
ТекСеансИБ = ПолучитьТекущийСеансИнформационнойБазы();
Если ТекСеансИБ.ПолучитьФоновоеЗадание() = Неопределено Тогда
Тек_НаимПриложения = ТекСеансИБ.ИмяПриложения;
Если (Тек_НаимПриложения="1CV8")
Или(Тек_НаимПриложения="1CV8C")
Или(Тек_НаимПриложения="WebClient")
Тогда _ОбщийМодульСервер.ОтключитьОповещенияО_НеактивныхРасширениях();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
(Позже - м.б., подрихтую еще.)
А как убрать еще и из журнала регистрации ("Расширение: Низкая: Расширение неактивно и не будет применено"), не отключая "Предупреждения", - есть ли уже известные варианты?
6. TMV 3 17.05.25 21:29 Сейчас в теме
Зачем держать в базе отключенные расширения?
12. RoyFincher 4 01.11.25 00:12 Сейчас в теме
(6) В неактивных расширениях сохраняются данные.
7. rorotron 27.06.25 05:32 Сейчас в теме
Огонь! В УНФ (3.0.10.235) можно поместить это в модуль сеанса.
8. anri123 29.07.25 12:17 Сейчас в теме
Использовал. Доволен. Спасибо.
9. PEAA22 24.09.25 06:42 Сейчас в теме
Большое спасибо тебе добрый человек
10. fixin 4319 31.10.25 19:59 Сейчас в теме
Кто то написал это унивесрально под все неактивные расширения и для БСП?
11. fixin 4319 31.10.25 20:40 Сейчас в теме
У меня не взлетело.
БП: 3.0.185.19
Платформа: 8.3.27.1688

Сообщения отлавливаются, но потом все равно выводятся.


//На основе: https://infostart.ru/1c/articles/2386116/

&После("УстановкаПараметровСеанса")
Процедура отклрасшопо_УстановкаПараметровСеанса(ТребуемыеПараметры) 
	
	Перем ПриЗапуске;	
	
	ПриЗапуске = ТребуемыеПараметры = Неопределено И ПолучитьТекущийСеансИнформационнойБазы().ИмяПриложения <> "BackgroundJob"; 
	Если ПриЗапуске Тогда 
		отклрасшопо_ОтключитьОповещенияОНеактивныхРасширениях();
	КонецЕсли;
	
КонецПроцедуры

Процедура отклрасшопо_ОтключитьОповещенияОНеактивныхРасширениях()     
	
	Перем Расширения, Расширение, ИменаРасширений, ИсходныеСообщения, ОтобранныеСообщения;
	
	ИсходныеСообщения = ПолучитьСообщенияПользователю();
	
	ПолучитьСообщенияПользователю(Истина); // Очищаем сообщения пользователю  
	
	Расширения = РасширенияКонфигурации.Получить();                   
	ИменаРасширений = Новый Массив();
	Для Каждого Расширение ИЗ Расширения Цикл               
		Если Расширение.Активно Тогда Продолжить; КонецЕсли;
		ИменаРасширений.Добавить("Имя : " + Расширение.Синоним);
	КонецЦикла;
	
	ОтобранныеСообщения = Новый Массив;
	
	// Отбираем сообщения не содержащие указанные расширения
	Для каждого Сообщение Из ИсходныеСообщения Цикл 
		
		СообщениеСодержитИмяРасширения = Ложь;
		
		Для каждого ИмяРасширения Из ИменаРасширений Цикл 	
			Если СтрНайти(Сообщение.Текст, ИмяРасширения) Тогда
				СообщениеСодержитИмяРасширения = Истина;
				Прервать;	
			КонецЕсли; 	
		КонецЦикла;
		
		Если Не СообщениеСодержитИмяРасширения Тогда
			ОтобранныеСообщения.Добавить(Сообщение);	
		КонецЕсли;
		
	КонецЦикла; 
	
	// Выводим отобранные сообщения пользователю
	Для каждого Сообщение Из ОтобранныеСообщения Цикл
		Сообщение.Сообщить();	
		//Прервать; //Временно, для проверки что сообщение остается
	КонецЦикла;
	
КонецПроцедуры
Показать
13. fixin 4319 01.11.25 12:29 Сейчас в теме
Хотя разобрался, причина была в некорректном формировании имени расширения у меня. Работает таки, тишина в эфире.
14. fixin 4319 01.11.25 17:47 Сейчас в теме
Написал универсальное расширение, отключающее все такие оповещения, для тех, кому не хочется писать самим: https://infostart.ru/1c/tools/2519035/
Для отправки сообщения требуется регистрация/авторизация