|
Как гарантированно поймать исключение
| ☑ |
0
Ndochp
14.11.14
✎
19:04
|
Столкнулся со следующей бедой - не открываются некоторые старые регламентированные отчеты - пишут ошибку.
Решил составить списочек таких "битых" отчетов. Пишу:
Для каждого СтрокаТЧ из РегОтчеты Цикл
Попытка
СтрокаТЧ.Документ.ПолучитьФорму().Открыть();
СтрокаТЧ.ОткрытиеУспешно = "Успешно";
Исключение
СтрокаТЧ.ОткрытиеУспешно = "Ошибка";
КонецПопытки;
КонецЦикла;
В итоге на экран вылетает исключение и ждет пока я ОК нажму, а потом алгоритм отрабатывает по ветке "Успешно".
Конечно там алгоритм через ЖПО написан, в перед открытием формы документа выставляется отказ и вызывается основная форма отчета, которая тоже уходит в отказ, а в общем модуле вызывается конкретная форма рег отчета, но блин. Из попытки исключения мы в общем то не выходим же.
Подскажите кто-нибудь идею, как ловить ошибку открытия формы без интерактивных океев.
|
|
1
Banned
14.11.14
✎
19:05
|
похоже там уже ловятся исключения.
Так что увы (((
|
|
2
Banned
14.11.14
✎
19:05
|
Хотя как вариант - попробовать в транзакции....
И поймать в "этой транзакции уже происходили...."
|
|
3
Ndochp
14.11.14
✎
19:21
|
Не вариант. Если я после ошибки ставлю ДОкумент.Сохранить() внутри транзакции, то все успешно сохраняется.
АФАИР "Уже происходили" выдается только при ошибках работы с бд - неудачное чтение или запись. А у меня все падает в коде.
|
|
4
Ненавижу 1С
гуру
14.11.14
✎
19:30
|
то есть все таки все исключения таки глушатся?
|
|
5
второй Вах
14.11.14
✎
19:44
|
надо ТС уволить, что бы не тормозил в ТЧ. и сделать так
Попытка
Для каждого СтрокаТЧ из РегОтчеты Цикл
СтрокаТЧ.Документ.ПолучитьФорму().Открыть();
СтрокаТЧ.ОткрытиеУспешно = "Успешно";
КонецЦикла;
Исключение
СтрокаТЧ.ОткрытиеУспешно = "Ошибка";
КонецПопытки;
|
|
6
Жан Пердежон
14.11.14
✎
19:50
|
(5) изыди
|
|
7
второй Вах
14.11.14
✎
20:01
|
(6) Попытку надо вставлять в ПриНачалеРаботыСистемы, а че ты посоветовал в Сообщить при ЗавершениеРаботы
|
|
8
programmer1c
14.11.14
✎
21:18
|
А в чем собственно задача: побаловаться или надо открыть отчеты,чтобы они начали функционировать.Если второе,тогда опиши ошибку.1-е не факт, что они битые,а просто,наверное, они и не должны работать в обновленных конф.,а если должны,то что значит "битые",битыи может быть внеш отчет и его уже никак не поднимешь.А если они "битые", ибо кто-то ручками залазил,то скопируй из старых релизов конф. их и переставь.
|
|