|
Журнал регистрации - нет инфы об объекте и модуле в описании ошибки | ☑ | ||
---|---|---|---|---|
0
НеПридумалаНик
26.10.16
✎
15:21
|
Здравствуйте, вопрос такой.
В журнале ведется запись ошибок, но, кроме информации про пользователя и самой ошибке нет более ничего, что бы указывало на то из какого отчета/документа/обработки сгенерировалась эта ошибка. Можно ли перед тем как ошибка запишется в журнал, перехватить ее и добавить в комментарий информацию о метаобъекте, где случилась неприятность: "Отчет.ТакойТо. Произошла исключительная ситуация..." Если это невозможно, то что сделать с журналом, чтобы добавить к ошибкам информацию про объект, где она случилась. Метаданные почему-то не фиксируются в ошибках выполнения. |
|||
1
Лефмихалыч
26.10.16
✎
15:23
|
если модуля в ЖР нет, значит ошибка произошла внутри Выполнить(). Ищи все Выполнить(), потом думай
|
|||
2
НеПридумалаНик
26.10.16
✎
15:55
|
(1) тут всех Выполнить несколько десятков... и внутри Выполнить множество точек, в которых может случиться ошибка... вот и думаю, как это автоматизировать для всех Выполнить
|
|||
3
Лефмихалыч
26.10.16
✎
15:56
|
(2) задай эти вопросы тому, кто придумал эти Выполнить()
|
|||
4
Лефмихалыч
26.10.16
✎
15:57
|
все выполнить надо завернуть в попытку, которая в исключении будет ВызватьИсключение ОписаниеОшибки();
тогда хоть место в коде увидишь |
|||
5
НеПридумалаНик
26.10.16
✎
16:20
|
(4) вы имеете в виду, что такой текст
Попытка Выполнить(); Исключение ТекстОшибки = "Отчет.ТакойТо: " + ОписаниеОшибки(); КонецПопытки; поместит в журнал регистрации мой текст ошибки? |
|||
6
Лефмихалыч
26.10.16
✎
16:29
|
(5) нет, я имею в виду буквально то, что написал:
Попытка Выполнить(); Исключение ВызватьИсключение ОписаниеОшибки(); КонецПопытки |
|||
7
НеПридумалаНик
26.10.16
✎
16:55
|
(6) Цитата: Исключения, которые не обработаны во встроенном языке, система обрабатывает самостоятельно... при системной обработке исключений делается запись в журнал регистрации
"при системной", т.е. ВызватьИсключение запись в журнал не совершит. Так я понимаю? Но мне нужна эта запись, только поправленная. Может тогда так? Попытка Выполнить(); Исключение ЗаписьЖурналаРегистрации("Ошибка выполнения", УровеньЖурналаРегистрации.Ошибка, Источник, , "Отчет.ТакойТо:" + ОписаниеОшибки(),"")); //ну и показать ошибку ОписаниеОшибки(); КонецПопытки |
|||
8
Лефмихалыч
26.10.16
✎
16:57
|
(7) >"при системной", т.е. ВызватьИсключение запись в журнал не совершит
тебе кто сказал такую чушь? Используй код из (6), а так, как в (7), сотри и больше ни кому не показывай. |
|||
9
Мыш
26.10.16
✎
17:00
|
Нужно у пользователя включить режим "Отладка в текущем сеансе разрешена". Тогда ошибки будут писатьса в ЖР.
|
|||
10
Мыш
26.10.16
✎
17:00
|
*писаться )
|
|||
11
НеПридумалаНик
26.10.16
✎
17:02
|
(8) а почему? собиралась ЗаписьЖурналаРегистрации использовать в подписке на события, чтобы видеть кто какой док/отчет/обработку открыл...
|
|||
12
Лефмихалыч
26.10.16
✎
17:04
|
(9) чушь
|
|||
13
НеПридумалаНик
26.10.16
✎
17:04
|
(9) т.е. при нажатии на "подробно" и "конфигуратор..." пользователи спокойно перейдут в код?
|
|||
14
Лефмихалыч
26.10.16
✎
17:04
|
(11) ВызватьИсключение само запишет в ЖР все, что надо.
|
|||
15
Лефмихалыч
26.10.16
✎
17:05
|
(13) запись в ЖР от отладки не зависит, не слушай эти бредни
|
|||
16
НеПридумалаНик
26.10.16
✎
17:09
|
(14) а по (11) вопросу просветите, пожалуйста?
(8) а тогда не будет ошибка продублирована "при системной обработке" и при ВызватьИсключение. Или Попытка перехватывает инициативу у системы? |
|||
17
Мыш
26.10.16
✎
17:10
|
(12) Сам такой.
(13) На конфигуратор прав не будет, но код вызвавший ошибку увидят. За исключением содержащегося в "Выполнить", конечно. |
|||
18
Мыш
26.10.16
✎
17:11
|
(15) Зависит. На тонком клиенте.
|
|||
19
Лефмихалыч
26.10.16
✎
17:13
|
(18) не зависит. Запись в ЖР делается на сервере и от вида клиента вообще ни как нее зависит. Единственное, от чего зависит, будет ли событие записано в ЖР или нет, - это настройки самого ЖР.
|
|||
20
Лефмихалыч
26.10.16
✎
17:14
|
(16) в подписке используй на здоровье. В случае (7) это бессмысленно, ибо хватит ВызватьИсключение.
|
|||
21
Мыш
26.10.16
✎
17:15
|
(19) Ты рассуждаешь от теории, в данном случае. Оно так должно быть. Но практика показывает другое.
|
|||
22
НеПридумалаНик
26.10.16
✎
17:15
|
(17) ну километровые тексты, которые содержатся в Выполнить() мне не хочется оборачивать Попытками, проще добавить процедуру с Попыткой с вызовом искомого Выполнить()... так что позиционирование на Выполнить() ничего не даст
|
|||
23
НеПридумалаНик
26.10.16
✎
17:18
|
(20) Спасибо, завтра займусь ?
пс. не ссорьтесь с Мыш)) |
|||
24
Лефмихалыч
26.10.16
✎
17:18
|
(21) я только что проверил. В тонком клиенте запись в ЖР складывается автоматически вне зависимости от отладки. Даже, если ошибка произошла &НаКлиенте.
|
|||
25
Лефмихалыч
26.10.16
✎
17:19
|
(22) боже, какой бред...
абсолютно нет ни какой разницы, какой длины код в Выполнить(). Вообще. Совсем. |
|||
26
Мыш
26.10.16
✎
17:20
|
(24) Ошибки прав доступа тоже? Это с ними такая закавыка.
|
|||
27
Лефмихалыч
26.10.16
✎
17:22
|
||||
28
Лефмихалыч
26.10.16
✎
17:23
|
(26) с правами будет абсолютно точно то же самое, т.к. они тоже на сервер рассчитываютс, применяются и проверяются
|
|||
29
НеПридумалаНик
26.10.16
✎
17:25
|
(25) да там черт ногу сломит, каждая доработка в литры кофе выливается... еще и это туда пихать? и так трудно читаемый код
|
|||
30
Лефмихалыч
26.10.16
✎
17:28
|
при отсутствии прав в ЖР, как и следовало ожидать, пишется "Отказ в доступе".
|
|||
31
НеПридумалаНик
26.10.16
✎
17:29
|
(6) кстати, этот код в (6) покажет ошибку пользователю? или дополнительно сообщить нужно? (сейчас уже не могу проверить, только завтра, а выяснить сейчас хочется))))
|
|||
32
Лефмихалыч
26.10.16
✎
17:31
|
(31) и пользователю покажет, и в ЖР запишет, и выполнение прервет. Как любое другое исключение
|
|||
33
НеПридумалаНик
26.10.16
✎
17:32
|
(32) прямо камень с души...
|
|||
34
НеПридумалаНик
28.10.16
✎
13:49
|
(32) Спасибо, все замечательно работает. Ошибку регистрирует с моим текстом, даже более... еще и с значениями ЭлементыФормы, которые привели к ошибке
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |