//	+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++
//	|                                    Ведение логов                                          |
//	+                                      ShmalevoZ                                            +
//	|                                       2008-11                                             |
//	+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++

//---------------------------------------------------------------------------------------------
// Собственные атрибуты
Перем гВключен;
Перем гХранилище, гРасположениеХранилища;


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


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


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


//******************************************************************************
// Конструктор()
//
// Параметры: 
//  
//
// Возвращаемое значение:
//  Нет
//
// Описание:
//  Предопределенный метод
//
Процедура Конструктор()
	
	Каталог				= КаталогИБ() + ".log\";
	РасположениеФлага	= Каталог + ".enable";
	гВключен			= ФС.СуществуетФайл(РасположениеФлага);
	
	Если гВключен = 1 Тогда
		гХранилище				= СоздатьОбъект("Текст");
		гХранилище.КодоваяСтраница(0);
		гРасположениеХранилища	= Каталог + ИмяКомпьютера() + " " + Формат(ТекущаяДата(), "ДГГГГММДД") + " " + ТекущееВремя() + ".log";
	КонецЕсли;
	
КонецПроцедуры // Конструктор()

