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



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



Попытка

// оборачиваемый код

Исключение

ПоляКонтекста = Новый Массив;

// ++ Этот кусок заменяется нужными полями

ПоляКонтекста.Добавить("Ссылка");

ПоляКонтекста.Добавить("Наименование");

//--



СтрокаШаблона = Новый Массив;

Для Каждого Строка Из ПоляКонтекста Цикл

СтрокаШаблона.Добавить(СтрШаблон("%1 = <[%1]>", Строка));

КонецЦикла;

СтрокаШаблона = СтрСоединить(СтрокаШаблона);



СтруктураПараметров = Новый Структура;

Для Каждого тмпПОле из ПоляКонтекста Цикл

СтруктураПараметров.Вставить(тмпПОле);

КонецЦикла;



// Если у вас хитрее - заменить получение контекста на более сложное

// Если стразу структура - можно не создавать, но если выборка, строка ТЗ и тд, то нужно

// преобразовать в струкутуру, так как внутри будет перебор свойств циклом.

ЗаполнитьЗначенияСвойств(СтруктураПараметров, Выборка);



// изменить заполнение вспомогательных полей на то, что нужно

ЖурналРегистрации.ДобавитьСообщениеДляЖурналаРегистрации(

"Отлаживаемая ошибка",

УровеньЖурналаРегистрации.Ошибка,

,

,



СтроковыеФункцииКлиентСервер.ВставитьПараметрыВСтроку(СтрокаШаблона, СтруктураПараметров)

);

ВызватьИсключение; // мы не обрабатываем исключение, только обогащаем контекстом в ЖР перед падением

КонецПопытки;




✍️ @odin1C_rus