//	+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++
//	|                               Описание события системы                                    |
//	+                                      ShmalevoZ                                            +
//	|                                       2008-01                                             |
//	+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++

//---------------------------------------------------------------------------------------------
// Собственные атрибуты
Перем гСписокПараметров;
Перем гМенеджерСобытий;


//******************************************************************************
// НормализоватьКонтекст(СсылаКонтекст)
//
// Параметры: 
//  СсылаКонтекст
//
// Возвращаемое значение:
//  Неопределенный
//
// Описание:
//  Возвращает ссылка на переданный контекст
//
Функция НормализоватьКонтекст(СсылаКонтекст)
	
	Возврат СсылаКонтекст;
	
КонецФункции // НормализоватьКонтекст()


//******************************************************************************
// _this()
//
// Параметры: 
//  СсылкаКонтекст			- контекст
//
// Возвращаемое значение:
//  ГрупповойКонтекст		- ссылка на контекст
//
// Описание:
//  Возвращает ссылку на контекст
//
Функция _this()
	
	Возврат НормализоватьКонтекст(Контекст);
	
КонецФункции // _this()


//******************************************************************************
// Конструктор()
//
// Параметры: 
//  
//
// Возвращаемое значение:
//  Нет
//
// Описание:
//  ТекстОписания
//
Процедура Конструктор()
	
	гСписокПараметров	= СоздатьОбъект("СписокЗначений");
	Регистратор			= СоздатьОбъект("Общие.Статик.Регистратор");
	гМенеджерСобытий	= Регистратор.Получить("Общие.Статик.Объект.МенеджерСобытий");
	
КонецПроцедуры // Конструктор()


//******************************************************************************
// ДобавитьПараметр(Значение, Представление = "")
//
// Параметры: 
//  Значение		- значение параметра
//  Представление	- строковое представление параметра
//
// Возвращаемое значение:
//  Нет
//
// Описание:
//  Добавляет параметр события
//
Процедура ДобавитьПараметр(Значение, Представление = "") Экспорт
	
	гСписокПараметров.ДобавитьЗначение(Значение, Представление);
	
КонецПроцедуры // ДобавитьПараметр()


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

