Имя: Пароль:
1C
 
Как гарантированно поймать исключение
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-е не факт, что они битые,а просто,наверное, они и не должны работать в обновленных конф.,а если должны,то что значит "битые",битыи может быть внеш отчет и его уже никак не поднимешь.А если они "битые", ибо кто-то ручками залазил,то скопируй из старых релизов конф. их и переставь.