Добавление контекста к сообщению об ошибке в ЖР (Журнале регистрации)

Ndochp 9 1

Данный шаблон можно временно втыкать в расширении (в режиме "вместо"), если отладка не доступна, а подробности падения узнать хочется.

//Описание

Попытка
		// оборачиваемый код
	Исключение                                                         
		ПоляКонтекста = Новый Массив;
		// ++ Этот кусок заменяется нужными полями
		ПоляКонтекста.Добавить("Ссылка");
		ПоляКонтекста.Добавить("Наименование");
		//--
		
		СтрокаШаблона = Новый Массив;
		Для Каждого Строка Из ПоляКонтекста Цикл
			СтрокаШаблона.Добавить(СтрШаблон("%1 = <[%1]>", Строка));
		КонецЦикла;                         
		СтрокаШаблона = СтрСоединить(СтрокаШаблона);
		
		СтруктураПараметров = Новый Структура;
		Для Каждого тмпПОле из ПоляКонтекста Цикл
			СтруктураПараметров.Вставить(тмпПОле);
		КонецЦикла;
		
		// Если у вас хитрее - заменить получение контекста на более сложное
		// Если стразу структура - можно не создавать, но если выборка, строка ТЗ и тд, то нужно 
		// преобразовать в струкутуру, так как внутри будет перебор свойств циклом.
		ЗаполнитьЗначенияСвойств(СтруктураПараметров, Выборка);

		// изменить заполнение вспомогательных полей на то, что нужно
		ЖурналРегистрации.ДобавитьСообщениеДляЖурналаРегистрации(
		  "Отлаживаемая ошибка", 
		  УровеньЖурналаРегистрации.Ошибка,
		  ,
		  ,                                               
		  
		  СтроковыеФункцииКлиентСервер.ВставитьПараметрыВСтроку(СтрокаШаблона, СтруктураПараметров)
		 );
		ВызватьИсключение; // мы не обрабатываем исключение, только обогащаем контекстом в ЖР перед падением
		КонецПопытки;
0

См. также

ЗаписьЖурнала (БСП)

Обработка Журнала Регистрации

Полное(стек) и краткое представление ошибок в журнале регистрации

ПолеСообщениеОбОшибке (БСП)

ЗаписатьОшибкуВЖурналРегистрации (БСП)

Модератору