ПодготовитьОповещениеФормОбИзменении (БСП)

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

Подготовить оповещение форм об изменении. Формирует сведения, необходимые для оповещения на клиенте открытых форм и динамических списков

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

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

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

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

ОповещениеОбИзменении (БСП)

ПодготовитьОповещения (БСП)

ОповещенияОбИзмененияхНеИспользуются (БСП)

ОбработатьОповещениеОбИзменении (БСП)

ОбработкаОповещенияИзмененияФлажкаИспользоватьПоиск (БСП)

ОбработкаОповещенияИзмененияФлажкаУдалятьПоРасписанию (БСП)

ОбработкаОповещенияИзмененияФлажкаХранитьИсторию (БСП)

ОшибкаПриОтправкеПодпискиНаОповещениеОбИзменении (БСП)

ПодписатьсяНаОповещенияОбИзменении (БСП)

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